generated from arafkarsh/ms-springboot-324-java-22-jakarta-ee-10
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathapplication.properties
263 lines (263 loc) · 12.6 KB
/
application.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# =======================================================================
# MS-Vanilla Service Properties
# =======================================================================
build.number=190
build.date=Tue Jan 14 14:49:24 IST 2025
# ------------------------------------------------------------------------
# Spring Profile
# ------------------------------------------------------------------------
spring.profiles.default=dev
# =======================================================================
# Service Name & API Details - Version, Path
# =======================================================================
service.org=arafkarsh
service.name=MS-Vanilla
service.api.name=ms-vanilla
service.api.prefix=api
service.api.version=v1
service.api.error.prefix=13
service.container=ms-vanilla-service
service.api.repository=https://github.com/arafkarsh/ms-springboot-334-vanilla
service.api.path=/${service.api.name}/${service.api.prefix}/${service.api.version}
service.url=http://www.arafkarsh.com/
service.license=Apache 2 License
service.license.url=https://github.com/arafkarsh/ms-springboot-334-vanilla?tab=Apache-2.0-1-ov-file
# =======================================================================
# Microservice Server Properties
# =======================================================================
server.port=9334
server.version=0.3.4
server.restart=false
server.leak.test=3
server.resources.url=${service.url}${service.api.path}
server.api.url.print=true
# ------------------------------------------------------------------------
# Host SSL Details :
# Rename the file fusionAir.pkcs12 in resources folder and uncomment the
# following lines to enable SSL
# ------------------------------------------------------------------------
#server.ssl.key-store=classpath:fusionAir.pkcs12
#server.ssl.key-store-type=PKCS12
#server.ssl.key-store-password=Fusion.2023
#server.ssl.key-alias=fusionAir
# ------------------------------------------------------------------------
# Security & JWT Token (Type 1 = secret key, 2 = public / private key)
# ------------------------------------------------------------------------
server.crypto.public.key=publicKey.pem
server.crypto.private.key=privateKey.pem
server.token.issuer=${service.org}
# Type 1 = Secret, Type 2 = Public / Private Key
server.token.type=1
server.token.test=true
# Token Expiry Times - Security Policy will reject High Expiry Time
server.token.auth.expiry=600000
server.token.refresh.expiry=3600000
server.token.key=<([1234567890SecretKey!!To??Encrypt##Data@12345%6790])>
server.secure.data.key=<([1234567890SecretKEY!!TO??Encrypt##DATA@12345%6790])>
# ------------------------------------------------------------------------
# Keycloak Details for OAuth 2 Authentication
# ------------------------------------------------------------------------
server.keycloak.url=http://localhost:8080/realms/Fusion-Air/protocol/openid-connect/token
server.keycloak.certs=http://localhost:8080/realms/Fusion-Air/protocol/openid-connect/certs
server.keycloak.clientId=fusion-air-user-service
server.keycloak.secret=2AGe7XxP8evCmhdjD3cmgpE23y0g6PGU
server.keycloak.grantType=password
server.keycloak.publicKey=publicKey.KeyCloak.pem
server.keycloak.issuer=http://localhost:8080/realms/Fusion-Air
server.keycloak.enabled=false
# ------------------------------------------------------------------------
# Host Details
# ------------------------------------------------------------------------
server.host=localhost
server.host.dev=http://localhost:${server.port}
server.host.dev.desc=Development Server
server.host.uat=https://uat.${service.org}.com
server.host.uat.desc=UAT Server
server.host.prod=https://prod.${service.org}.com
server.host.prod.desc=Production Server
server.error.whitelabel.enabled=true
server.vulnerability.demos.allowed=false
# Service Properties Details
# ------------------------------------------------------------------------
spring.codec.max-in-memory-size=3MB
app.property.product=fusion.air.product
app.property.product.list=/create, /status, /all/secured, /search/product, /search/price, /search/active, /deactivate, /activate, /update, /update/price, /update/details, /delete
app.property.list=element1, element2, element3
app.property.map={key1:'val1', key2 : 'val2', key3 : 'val3'}
# ------------------------------------------------------------------------
# Logging / Events: LogBack Setup / File Roll Over,
# ------------------------------------------------------------------------
# Log Groups
logging.group.tomcat=org.apache.catalina, org.apache.coyote, org.apache.tomcat
# Logging Levels for various components
logging.level.org.springframework.boot.web.servlet=INFO
logging.level.org.springframework.web.servlet.DispatcherServlet=INFO
logging.level.org.springframework.security.web.FilterChainProxy=INFO
# Spring Default Groups
logging.level.web=INFO
logging.level.sql=INFO
logging.level.tomcat=INFO
# Root level logging
logging.level.root=INFO
# Specify the logback configuration file
logging.config=classpath:logback-spring.xml
# Supported Log Format plain / json
logging.format=plain
# Log file paths and rolling policy
logging.path=/tmp/logs/${service.api.name}
# Log File Name. File Extension .log or .json is added dynamically based on logging format.
logging.file.name=${service.api.name}.v${server.version}
# Log File Pattern for Size and Time based File Roll Over Name
logging.pattern.rolling-file-name=${logging.path}/${logging.file.name}-%d{yyyy-MM-dd}-%i
# Max Single File Size = 30 MB
logging.file.max-size=10MB
# Retention and total size cap for logs
# Keep Log Files for 100 Days with Max Cap at 3 GB
logging.file.max-history=100
logging.file.total-size-cap=3GB
# ------------------------------------------------------------------------
# Metrics: Micrometer / Prometheus / Actuator /
# ------------------------------------------------------------------------
# Enable exposure of specific actuator endpoints (health, metrics, prometheus)
springdoc.show-actuator=true
management.endpoints.web.exposure.include=health,metrics,prometheus,info
# Enable Spring Boot Actuator Endpoints
management.endpoint.health.enabled=true
management.endpoint.metrics.enabled=true
management.endpoint.prometheus.enabled=true
# Enable Metrics
management.metrics.export.prometheus.enabled=true
management.metrics.enable.jvm=false
management.metrics.enable.jvm.gc=false
management.metrics.enable.datasource=false
# ------------------------------------------------------------------------
# Tracing: Open Telemetry / Micrometer
# Micrometer only supports HTTP/Protobuf (http) for OTLP. grpc is not supported.
# ------------------------------------------------------------------------
# OpenTelemetry Setup
# W3C Standard, B3 Zipkin Standard
# ------------------------------------------------------------------------
otel.propagators=tracecontext
otel.resource.attributes.deployment.environment=dev
otel.resource.attributes.service.name=ms-vanilla
otel.resource.attributes.service.namespace=shopping
# ------------------------------------------------------------------------
# Export to Collector
# ------------------------------------------------------------------------
# Enable OpenTelemetry
otel.javaagent.debug=true
otel.service.name=${service.container}
otel.exporter.otlp.endpoint=http://localhost:4318
# to load the Custom OpenTelemetric Config
otel.traces.exporter=none
otel.metrics.exporter=otlp
otel.logs.exporter=none
# ------------------------------------------------------------------------
# Disable global auto-instrumentation and explicitly enable for jdbc, logback, web, kafka, etc
# ------------------------------------------------------------------------
otel.instrumentation.common.default-enabled=false
# Enable specific instrumentation (JDBC is not supported in this version of Open Telemetry)
otel.instrumentation.jdbc.enabled=false
otel.instrumentation.logback-mdc.enabled=true
otel.instrumentation.spring-web.enabled=true
otel.instrumentation.spring-webmvc.enabled=true
otel.instrumentation.micrometer.enabled=true
# External Systems Kafka / MongoDB
otel.instrumentation.kafka.enabled=false
otel.instrumentation.mongo.enabled=false
# ------------------------------------------------------------------------
# Async - Reactive Framework
# ------------------------------------------------------------------------
#otel.instrumentation.spring-webflux.enabled=false
#otel.instrumentation.r2dbc.enabled=false
# ------------------------------------------------------------------------
#management.tracing.enabled=false
# OpenTelemetry Tracing Configuration
#management.otlp.metrics.export.enabled=false
#management.otlp.metrics.export.url=http://localhost:4358/v1/metrics
# number of Meter to include in a single payload sent to the backend. The default is 10,000.
#management.otlp.metrics.export.batchSize=15000
#management.otlp.metrics.export.timeout=5s
# Determines how the additive quantities are expressed, in relation to time. Values are cumulative or delta
#management.otlp.metrics.export.aggregationTemporality=cumulative
# Additional headers to send with exported metrics
#management.otlp.metrics.export.headers.Authorization=Bearer abc123
# the interval at which metrics will be published.
#management.otlp.metrics.export.step=10s
# Resource Attributes are used for all metrics published.
#management.otlp.metrics.export.resourceAttributes.service.name=ms-vanilla-service
# =======================================================================
# Text Encryption
# =======================================================================
# Ensure this matches your environment variable
jasypt.encryptor.password=${JASYPT_ENCRYPTOR_PASSWORD}
# Match the algorithm
jasypt.encryptor.algorithm=PBEWithHmacSHA512AndAES_256
jasypt.encryptor.iv-generator-classname=org.jasypt.iv.RandomIvGenerator
jasypt.encryptor.salt-generator-classname=org.jasypt.salt.RandomSaltGenerator
# =======================================================================
# Database Properties
# =======================================================================
db.server=mem
db.port=5432
db.name=ms_cache
db.schema=ms_schema
db.vendor=H2
# To Store the Data in File
#spring.datasource.url=jdbc:h2:file:/data/demo
spring.datasource.url=jdbc:h2:${db.server}:${db.name};DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=ENC(lA6JCEpK7+wuHDpB1A41DOUfn6L74DQxaazXLTjyQHY5/X6CONfUEyDt6erWifrN)
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.datasource.hikari.connection-test-query=SELECT 1
# =======================================================================
# JPA / Hibernate Properties
# ------------------------------------------------------------------------
spring.jpa.show-sql=true
spring.jpa.defer-datasource-initialization=true
#spring.sql.init.data-locations=data-trans.sql
# Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.validator.apply_to_ddl=false
#spring.jpa.properties.hibernate.check_nullability=true
# =======================================================================
# External Remote Server Properties
# =======================================================================
remote.host=127.0.0.1
remote.port=8080
remote.protocol=http
# =======================================================================
# Open API Properties
# For More Info: https://springdoc.org/#Introduction
# springdoc.api-docs.path=/api-docs
# =======================================================================
springdoc.api-docs.path=${service.api.path}
springdoc.swagger-ui.path=${service.api.path}/swagger-ui.html
springdoc.swagger-ui.tryItOutEnabled=true
springdoc.swagger-ui.filter=true
springdoc.swagger-ui.use-root-path=true
springdoc.swagger-ui.disable-swagger-default-url=true
server.forward-headers-strategy=framework
springdoc.cache.disabled=true
springdoc.writer-with-default-pretty-printer=true
#springdoc.swagger-ui.configUrl=${service.api.path}/swagger-config/swagger-config.json
# Disabling the api-docs endpoint
springdoc.api-docs.enabled=true
# Disabling the swagger-ui
#springdoc.swagger-ui.enabled=true
springdoc.swagger-ui.operationsSorter=method
# For sorting tags alphabetically
springdoc.swagger-ui.tagsSorter=alpha
#springdoc.show-actuator=true
# Packages to include
# springdoc.packagesToScan=io.fusion.water, io.fusion.fire
# Paths to include
# springdoc.pathsToMatch=/v1, /api/health/**
# To expose the swagger-ui, on the management port
#springdoc.use-management-port=true
# This property enables the openapi and swaggerui endpoints to be exposed
# beneath the actuator base path.
# management.endpoints.web.exposure.include=openapi, swaggerui
# =======================================================================