forked from Hyperfoil/Horreum
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapplication.properties
More file actions
260 lines (217 loc) · 11.1 KB
/
application.properties
File metadata and controls
260 lines (217 loc) · 11.1 KB
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
## Datasource managed by the app
# using my docker0 IP
# disable elasticsearch healthcheck
quarkus.elasticsearch.health.enabled=false
## need to set following property in PROD env
##quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/horreum
quarkus.datasource.db-kind=postgresql
quarkus.datasource.username=appuser
quarkus.datasource.password=secret
quarkus.datasource.jdbc.min-size=3
quarkus.datasource.jdbc.max-size=25
quarkus.datasource.jdbc.initial-size=3
## see https://jdbc.postgresql.org/documentation/ssl/ to configure SSL on the driver and the server
%prod.quarkus.datasource.jdbc.additional-jdbc-properties.ssl=true
%prod.quarkus.datasource.jdbc.additional-jdbc-properties.sslmode=verify-full
##%prod.quarkus.datasource.jdbc.additional-jdbc-properties.sslrootcert=server.crt
# amqp
%prod.amqp-host=localhost
%prod.amqp-port=5672
%prod.amqp-username=horreum
%prod.amqp-password=secret
%prod.amqp-reconnect-attempts=100
%prod.amqp-reconnect-interval=1000
# thread pool sizes
smallrye.messaging.worker.horreum.dataset.pool.max-concurrency=10
smallrye.messaging.worker.horreum.run.pool.max-concurrency=6
smallrye.messaging.worker.horreum.schema.pool.max-concurrency=5
# default buffer size for those channels that don't explicitly set on OnOverflow
mp.messaging.emitter.default-buffer-size=500000
# dataset-event incoming
mp.messaging.incoming.dataset-event-in.connector=smallrye-amqp
mp.messaging.incoming.dataset-event-in.address=dataset-event
mp.messaging.incoming.dataset-event-in.durable=true
mp.messaging.incoming.dataset-event-in.container-id=horreum-broker
mp.messaging.incoming.dataset-event-in.link-name=dataset-event
mp.messaging.incoming.dataset-event-in.failure-strategy=modified-failed
# dataset-event outgoing
mp.messaging.outgoing.dataset-event-out.connector=smallrye-amqp
mp.messaging.outgoing.dataset-event-out.address=dataset-event
mp.messaging.outgoing.dataset-event-out.durable=true
mp.messaging.outgoing.dataset-event-out.container-id=horreum-broker
mp.messaging.outgoing.dataset-event-out.link-name=dataset-event
mp.messaging.outgoing.dataset-event-out.failure-strategy=modified-failed
# re-calc incoming
mp.messaging.incoming.run-recalc-in.connector=smallrye-amqp
mp.messaging.incoming.run-recalc-in.address=run-recalc
mp.messaging.incoming.run-recalc-in.durable=true
mp.messaging.incoming.run-recalc-in.container-id=horreum-broker
mp.messaging.incoming.run-recalc-in.link-name=run-recalc
mp.messaging.incoming.run-recalc-in.failure-strategy=modified-failed
# re-calc outgoing
mp.messaging.outgoing.run-recalc-out.connector=smallrye-amqp
mp.messaging.outgoing.run-recalc-out.address=run-recalc
mp.messaging.outgoing.run-recalc-out.durable=true
mp.messaging.outgoing.run-recalc-out.container-id=horreum-broker
mp.messaging.outgoing.run-recalc-out.link-name=run-recalc
mp.messaging.outgoing.run-recalc-out.failure-strategy=modified-failed
# schema-sync incoming
mp.messaging.incoming.schema-sync-in.connector=smallrye-amqp
mp.messaging.incoming.schema-sync-in.address=schema-sync
mp.messaging.incoming.schema-sync-in.durable=true
mp.messaging.incoming.schema-sync-in.container-id=horreum-broker
mp.messaging.incoming.schema-sync-in.link-name=schema-sync
mp.messaging.incoming.schema-sync-in.failure-strategy=modified-failed
# schema-sync outgoing
mp.messaging.outgoing.schema-sync-out.connector=smallrye-amqp
mp.messaging.outgoing.schema-sync-out.address=schema-sync
mp.messaging.outgoing.schema-sync-out.durable=true
mp.messaging.outgoing.schema-sync-out.container-id=horreum-broker
mp.messaging.outgoing.schema-sync-out.link-name=schema-sync
mp.messaging.outgoing.schema-sync-out.failure-strategy=modified-failed
# run-upload incoming
mp.messaging.incoming.run-upload-in.connector=smallrye-amqp
mp.messaging.incoming.run-upload-in.address=run-upload
mp.messaging.incoming.run-upload-in.durable=true
mp.messaging.incoming.run-upload-in.container-id=horreum-broker
mp.messaging.incoming.run-upload-in.link-name=run-upload
mp.messaging.incoming.run-upload-in.failure-strategy=modified-failed
# run-upload outgoing
mp.messaging.outgoing.run-upload-out.connector=smallrye-amqp
mp.messaging.outgoing.run-upload-out.address=run-upload
mp.messaging.outgoing.run-upload-out.durable=true
mp.messaging.outgoing.run-upload-out.container-id=horreum-broker
mp.messaging.outgoing.run-upload-out.link-name=run-upload
mp.messaging.outgoing.run-upload-out.failure-strategy=modified-failed
## Datasource updated by Liquibase - the same as app but always with superuser credentials
## need to set following property in PROD env
##quarkus.datasource.migration.jdbc.url=jdbc:postgresql://localhost:5432/horreum
quarkus.datasource.migration.db-kind=postgresql
quarkus.datasource.migration.username=dbadmin
quarkus.datasource.migration.password=secret
quarkus.liquibase.migration.migrate-at-start=true
# TODO validation query
# quarkus.datasource.validation-query-sql=SELECT current_setting('repo.userroles', true) = '';
quarkus.http.cors=true
# Do not use for PROD - this needs to be more restrictive in PROD env
quarkus.http.cors.origins=*
quarkus.hibernate-orm.dialect=org.hibernate.dialect.PostgreSQLDialect
# The database is initialized by Liquibase using db/changelog.xml - the application user
# does not have privileges to drop or alter the tables.
quarkus.hibernate-orm.database.generation=validate
horreum.test-mode=false
#quarkus.native.additional-build-args=
hibernate.jdbc.time_zone=UTC
# OIDC Configuration
## need to set following property in PROD env
##quarkus.oidc.auth-server-url=http://localhost:8180/realms/horreum
quarkus.oidc.client-id=horreum
## Do not un comment the line below, there appears to be a bug in Quarkus 3.4.1 where dev services do not overwrite the config property
quarkus.oidc.credentials.secret=overridden-in-file-dot-env
%dev.quarkus.oidc.credentials.secret=**********
# This option lets HorreumAuthorizationFilter transform app keys sent as tokens
quarkus.http.auth.proactive=false
# JPA authentication with a username and password
quarkus.http.auth.basic=true
# Keycloak-admin
quarkus.keycloak.admin-client.server-url=${horreum.keycloak.url}
quarkus.keycloak.admin-client.client-id=horreum
quarkus.keycloak.admin-client.client-secret=${quarkus.oidc.credentials.secret}
quarkus.keycloak.admin-client.realm=${horreum.keycloak.realm}
quarkus.keycloak.admin-client.grant-type=CLIENT_CREDENTIALS
## need to set following property in PROD env
## horreum.keycloak.url=http://localhost:8180
horreum.keycloak.realm=horreum
horreum.keycloak.clientId=horreum-ui
horreum.roles.provider=keycloak
# Address used in links to Horreum
horreum.url=http://localhost:3000
# Address used by internal services to access Horreum
horreum.internal.url=http://localhost:8080
horreum.alerting.missing.dataset.check=10m
horreum.alerting.expected.run.check=10m
# The period for deleting old transformation logs
horreum.transformationlog.check=6h
# The duration after which persistent log entries expire (are deleted)
# ISO-8601 duration stats with P (the format is P<date>T<time>)
horreum.transformationlog.max.lifespan=P30d
# Configurable URL pointing to a privacy statement
# Uncomment next line and set the proper link to enable privacy statement
#horreum.privacy=/link/to/privacy/statement
# Action defaults
%prod.horreum.action.slack.url=https://slack.com/api/chat.postMessage
%test.horreum.action.slack.url=http://localhost:8081/api/slack
quarkus.mailer.from=horreum@hyperfoil.io
quarkus.mailer.host=localhost
quarkus.mailer.port=2525
%dev.quarkus.mailer.from=
%dev.quarkus.mailer.host=example.com
%dev.quarkus.mailer.port=
quarkus.package.jar.enabled=true
quarkus.package.jar.type=fast-jar
quarkus.container-image.registry=quay.io
quarkus.container-image.group=hyperfoil
quarkus.container-image.name=horreum
quarkus.container-image.tag=dev
quarkus.container-image.build=true
quarkus.jib.base-jvm-image=quay.io/hyperfoil/horreum-base:latest
quarkus.jib.jvm-entrypoint=/deployments/horreum.sh
quarkus.live-reload.password=secret
quarkus.jackson.write-dates-as-timestamps=true
# openAPI definitions
mp.openapi.extensions.smallrye.info.title=Horreum API
%dev.mp.openapi.extensions.smallrye.info.title=Horreum API (development)
%test.mp.openapi.extensions.smallrye.info.title=Horreum API (test)
mp.openapi.extensions.smallrye.info.version=0.1-SNAPSHOT
mp.openapi.extensions.smallrye.info.description=Horreum data repository API
mp.openapi.extensions.smallrye.info.termsOfService=
mp.openapi.extensions.smallrye.info.contact.email=
mp.openapi.extensions.smallrye.info.contact.name=
mp.openapi.extensions.smallrye.info.contact.url=http://horreum.hyperfoil.io
mp.openapi.extensions.smallrye.info.license.name=Apache 2.0
mp.openapi.extensions.smallrye.info.license.url=http://www.apache.org/licenses/LICENSE-2.0.html
mp.openapi.extensions.smallrye.operationIdStrategy=CLASS_METHOD
# Do not log warnings on retried transactions
%dev.quarkus.log.level=INFO
%dev.quarkus.log.category."io.hyperfoil.tools.horreum".level=INFO
%dev.quarkus.log.category."org.hibernate".level=INFO
%dev.quarkus.log.category."org.postgresql.jdbc".level=INFO
#%test.quarkus.log.category."io.hyperfoil".level=DEBUG
quarkus.log.category."org.hibernate.cache.internal".level=ERROR
quarkus.log.category."org.hibernate.engine.internal".level=ERROR
quarkus.log.category."org.hibernate.event.internal".level=ERROR
quarkus.log.category."org.hibernate.internal".level=ERROR
# This will remove the annoying HHH000444 log messages
quarkus.log.category."org.hibernate.sql.results.jdbc.internal".level=ERROR
quarkus.log.category."com.arjuna.ats.jta".level=ERROR
quarkus.log.category."io.quarkiverse.quinoa.deployment.QuinoaProcessor".level=WARN
quarkus.log.category."io.smallrye.openapi.runtime.scanner".level=ERROR
# Too chatty - logs every static resource served
#quarkus.log.category."io.quarkiverse.quinoa.QuinoaUIResourceHandler".level=WARN
#quarkus.hibernate-orm.log.sql=true
#quarkus.hibernate-orm.log.bind-parameters=true
quarkus.quinoa.dev-server.port=3000
quarkus.quinoa.ui-dir=../horreum-web
quarkus.quinoa.package-manager-install=true
quarkus.quinoa.package-manager-command.install=install
quarkus.quinoa.package-manager-install.install-dir=../horreum-web/node
quarkus.quinoa.package-manager-install.node-version=20.19.0
#We need to keep npm in sync with GitHub Actions, otherwise we see conflicts in package-lock.json
#https://github.com/dependabot/dependabot-core/blob/main/npm_and_yarn/Dockerfile#L18
quarkus.quinoa.package-manager-install.npm-version=9.6.5
quarkus.quinoa.ignored-path-prefixes=/api/,/q/
quarkus.qute.suffixes=qute.html,qute.txt,html,txt,qute.md,md
quarkus.qute.content-types.md=text/markdown
quarkus.qute.content-types."qute.md"=text/markdown
quarkus.test.enable-callbacks-for-integration-tests=true
horreum.dev-services.enabled=true
#horreum.dev-services.postgres.ssl-enabled=true
#horreum.dev-services.keycloak.https-enabled=true
quarkus.amqp.devservices.enabled=true
## We don't want quarkus to start a database/keycloak for us in dev mode, we are doing that
quarkus.datasource.devservices.enabled=false
quarkus.datasource.migration.devservices.enabled=false
quarkus.keycloak.devservices.enabled=false
quarkus.elasticsearch.devservices.enabled=false
quarkus.transaction-manager.default-transaction-timeout=1h
quarkus.arc.fail-on-intercepted-private-method=false