forked from Aiven-Open/klaw
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapplication.properties
260 lines (212 loc) · 11 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
# Uncomment the below SSL/Https Properties to secure this Cluster Api application
#server.ssl.key-store=client.keystore.p12
#server.ssl.trust-store=client.truststore.jks
#server.ssl.key-store-password=klaw1234
#server.ssl.key-password=klaw1234
#server.ssl.trust-store-password=klaw1234
#server.ssl.key-store-type=pkcs12
#Uncomment the below to configure Spring JPA properties to connect Klaw to MySql Rdbms
#spring.datasource.url=jdbc:mysql://localhost:3306/kafkametadbpro?autoReconnect=true&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&cachePrepStmts=true&useServerPrepStmts=true&rewriteBatchedStatements=true&verifyServerCertificate=false&useSSL=false&requireSSL=false&allowPublicKeyRetrieval=true
#spring.datasource.username=kafkauser
#spring.datasource.password=kafkauser123
#spring.datasource.driver.class=com.mysql.cj.jdbc.Driver
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
#spring.datasource.platform=mysql
#Uncomment the below to configure Spring JPA properties to connect Klaw to Postgres Rdbms
#without ssl
#spring.datasource.url=jdbc:postgresql://localhost:5432/klawdb?cachePrepStmts=true&useServerPrepStmts=true&rewriteBatchedStatements=true
#with ssl
#spring.datasource.url=jdbc:postgresql://localhost:5432/klawdb?cachePrepStmts=true&useServerPrepStmts=true&rewriteBatchedStatements=true&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory&sslmode=require
#spring.datasource.username=kafkauser
#spring.datasource.password=kafkauser123
#spring.datasource.driver.class=org.postgresql.Driver
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
#spring.sql.init.platform=postgres
#spring.datasource.hikari.maximum-pool-size=5
#To configure Spring JPA properties to connect Klaw to internal file database
spring.datasource.url=jdbc:h2:file:./klawprodb;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1;MODE=MySQL;CASE_INSENSITIVE_IDENTIFIERS=TRUE;
spring.datasource.driver.class=org.h2.Driver
spring.datasource.username=kafkauser
spring.datasource.password=klaw
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true
# Possible values "db" or "ad". If SSO config or Active directory is enabled below, this value should be "ad"
klaw.login.authentication.type=db
# Uncomment the below ActiveDirectory properties for Users to login with their active directory credentials.
#spring.ad.domain=
#spring.ad.url=
#spring.ad.rootDn=
#spring.ad.filter=
# Enable user Authorization/roles from AD/SSO, instead of database.
# klaw.login.authentication.type should be set to ad for this value to be true
# Role : If klaw.enable.authorization.ad is true, role will be picked up from authentication token/authorities ex : ROLE_USER.
# and looks for matching role in Klaw. Make sure only one matching role exists. If nothing exists, user is denied login.
klaw.enable.authorization.ad=false
# sso config
klaw.enable.sso=false
# Uncomment the below OAuth2 configuration to enable Google based authentication
#spring.security.oauth2.client.registration.google.imageURI=assets/images/clients/google.svg
#spring.security.oauth2.client.registration.google.client-id=
#spring.security.oauth2.client.registration.google.client-secret=
#spring.security.oauth2.client.registration.google.redirect-uri=https://localhost:9097/login/oauth2/code/google
#spring.security.oauth2.client.registration.google.scope=profile, email
# Uncomment the below OAuth2 configuration to enable Azure AD based authentication
#spring.security.oauth2.client.registration.azure.imageURI=assets/images/clients/azuread.svg
#spring.security.oauth2.client.registration.azure.client-id=
#spring.security.oauth2.client.registration.azure.client-secret=
#spring.security.oauth2.client.registration.azure.redirect-uri=https://localhost:9097/login/oauth2/code/
#spring.security.oauth2.client.registration.azure.provider=azure-active-directory
#spring.security.oauth2.client.registration.azure.scope=openid, profile, email
#spring.security.oauth2.client.provider.azure-active-directory.issuer-uri=https://login.microsoftonline.com/{tenantid}/v2.0
# Uncomment the below OAuth2 configuration to enable Github based authentication
#spring.security.oauth2.client.registration.github.imageURI=
#spring.security.oauth2.client.registration.github.client-id=
#spring.security.oauth2.client.registration.github.client-secret=
#spring.security.oauth2.client.registration.github.scope=openid, profile, email
#spring.security.oauth2.client.registration.github.redirect-uri=
# Uncomment the below to establish connectivity between core and cluster apis.
# Provide a base 64 encoded string. The same secret should be configured in Klaw Cluster Api.
klaw.clusterapi.access.base64.secret=
# This allows App2App communication in a HA setup
# where multiple Klaw-core instances are deployed
# Provide a base 64 encoded string. The same secret should be used in all Instances.
# Update the below to your own unique secret!!!!!
klaw.core.app2app.base64.secret=dGhpcyBpcyBhIHNlY3JldCB0byBhY2Nlc3MgY2x1c3RlcmFwaQ==
klaw.core.app2app.username=KlawApp2App
#
# Enable High Availability for multi-instance Klaw-core deployment.
klaw.core.ha.enable=false
# In case of AD or Azure AD, configure an existing user from AD in the below config for username. Ex : superadmin@domain.
# Leave it blank if this user is not required
klaw.superadmin.default.username=superadmin
klaw.superadmin.default.password=welcometoklaw
# TTL for password reset token in milliseconds defaut is 60000 which is ten minutes.
klaw.reset.password.token.ttl=60000
# comma separated instances of klaw when running in cluster
klaw.uiapi.servers=http://localhost:9097
# Enable new Klaw React based user interface
# Make sure node, pnpm are installed.
# If the above are already installed, mvn install will build and copy the coral assets for you.
# Alternatively you can go through https://github.com/aiven/klaw/blob/main/coral/README.md
klaw.coral.enabled=true
# Email notification properties
# Enabling notifications can be in Dashboard -> Settings
klaw.admin.mailid=superuser@maild
# Replace http://yourcompany/logo.png with your company logo to appear in email notifications
klaw.notification.header.logo=http://yourcompany/logo.png
spring.mail.properties.mail.transport.protocol=smtp
spring.mail.host=smtphost
spring.mail.port=587
spring.mail.username=mailid
spring.mail.password=mailpwd
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.debug=false
spring.mail.noreplymailid=noreplyid
spring.mail.frommailid=fromailid
spring.mail.noreplymailid.display=Klaw NoReply
#google recaptcha settings
klaw.recaptcha.validate=false
google.recaptcha.sitekey=
google.recaptcha.verification.endpoint=https://www.google.com/recaptcha/api/siteverify
google.recaptcha.secret=
# --------------------- Please do not modify the below defaults unless required ---------------------
server.port=9097
#server.servlet.context-path=/klaw
# klaw.db.storetype should be "rdbms"
klaw.db.storetype=rdbms
# klaw application is "onpremise"
klaw.installation.type=onpremise
#Sensitive fields in a kafka connector request, which will be encrypted. Comma separated. Users cannot view the content.
klaw.connect.sensitive.fields=password,secret,username
# Database settings
spring.liquibase.enabled=true
spring.liquibase.change-log=classpath:db/changelog/changelog.yaml
# Enable response compression
server.compression.enabled=true
# The comma-separated list of mime types that should be compressed
server.compression.mime-types=text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json
# Compress the response only if the response size is at least 1KB
server.compression.min-response-size=1024
#maximum tenants can be created
klaw.max.tenants=200
# CluserApi endpoint url
klaw.clusterapi.url=http://localhost:9343
# ClusterApi access
klaw.clusterapi.access.username=kwclusterapiuser
# Number of service accounts for a team
klaw.service.accounts.perteam=25
# Monitoring
klaw.monitoring.metrics.enable=false
klaw.monitoring.metrics.collectinterval.ms=60000
# custom banner
spring.banner.location=classpath:banner.txt
#jasypt encryption pwd secret key
klaw.jasypt.encryptor.secretkey=kw2021secretkey
# Generic JPA props
spring.datasource.hikari.connectionTimeout=30000
spring.datasource.hikari.idleTimeout=600000
spring.datasource.hikari.maxPoolSize=50
spring.jpa.hibernate.show_sql=false
spring.jpa.hibernate.generate-ddl=false
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.properties.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
# Default attributes to extract for AD authentication
klaw.ad.username.attribute=preferred_username
klaw.ad.email.attribute=email
klaw.ad.name.attribute=name
# openapi version
springdoc.api-docs.version=openapi_3_1
# other spring config
spring.cache.type=NONE
spring.thymeleaf.cache=false
# Klaw Settings for Schema validation
klaw.schema.validate.compatibility.onSave=true
# SSO provider Keycloak if legacy version (10.x), has different json parser for tokens.
klaw.sso.provider.keycloak.legacy=false
# application shutdown and health properties
management.endpoints.web.exposure.include=health,info,metrics
management.endpoints.web.exposure.exclude=
management.health.ldap.enabled=false
management.endpoint.shutdown.enabled=false
# global settings on api responses
spring.jackson.default-property-inclusion=non_null
# Klaw Export metadata config
klaw.export.scheduler.enable=false
klaw.export.users.pwd=WelcomeToKlaw!!
klaw.export.file.path=./target
# cron expression, default 12 am everyday
klaw.export.cron.expression=0 0 0 * * ?
# Notify admins of manual changes on Kafka clusters
klaw.notify.admins.clusterchanges.scheduler.enable=false
# cron expression, default 12 am everyday
klaw.notify.admins.clusterchanges.scheduler.cron.expression=0 0 0 * * ?
# Klaw Import metadata config
klaw.import.enable=false
klaw.import.adminconfig.enable=false
klaw.import.adminconfig.file.path=kwmetadata-admin_config-2023-....json
klaw.import.kwdata.enable=false
klaw.import.kwdata.file.path=kwmetadata-kwdata-2023-....json
klaw.import.kwrequestsdata.enable=false
klaw.import.kwrequestsdata.file.path=kwmetadata-kwrequests_data-2023-....json
# Shedlock configuration
klaw.shedlock.defaultLockAtMostFor=PT30S
klaw.shedlock.lockAtLeastFor=PT30M
klaw.shedlock.lockAtMostFor=PT60M
klaw.shedlock.tablename=kwshedlock
# Quick start from docker
klaw.quickstart.enabled=false
klaw.docker.internal.host=host.docker.internal
klaw.docker.clusterapi.host=http://${klaw.docker.internal.host}:9343
klaw.docker.kafka.cluster=${klaw.docker.internal.host}:9092
klaw.docker.kafka.cluster.security-protocol=PLAINTEXT
klaw.docker.sr.cluster=${klaw.docker.internal.host}:8081
klaw.quickstart.default.user1=william
klaw.quickstart.default.user2=jennifer
klaw.quickstart.default.pwd=welcome
# log file settings
logging.level.root=info
logging.level.org.hibernate.SQL=off
logging.file.name=./../logs/kw-uiapi.log
spring.mvc.log-resolved-exception=true