-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathapplication.properties
More file actions
118 lines (94 loc) · 5.4 KB
/
Copy pathapplication.properties
File metadata and controls
118 lines (94 loc) · 5.4 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
# ============================================================================
# Base Configuration (applies to all environments)
# ============================================================================
quarkus.openapi.generator.input-base-dir=docs
quarkus.openapi.generator.spec=api.yaml
quarkus.openapi.generator.base-package=com.datadoghq.stickerlandia.stickercatalogue
# Logging
quarkus.otel.sdk.disabled=true
quarkus.log.json.fields.mdc.flat-fields=true
# Database
quarkus.datasource.db-kind=postgresql
# Hibernate ORM
quarkus.hibernate-orm.schema-management.strategy=validate
quarkus.hibernate-orm.log.sql=true
# Flyway
quarkus.flyway.migrate-at-start=true
quarkus.flyway.table=flyway_schema_history
quarkus.flyway.locations=db/migration
# S3 Configuration
sticker.images.bucket=sticker-images
# Messaging provider selection (kafka or aws)
MESSAGING_PROVIDER=kafka
# EventBridge configuration
quarkus.eventbridge.aws.region=${AWS_REGION:us-east-1}
quarkus.eventbridge.aws.credentials.type=default
# JWT Configuration
# Note: Issuer validation is handled by IssuerValidationFilter to support trailing slash normalization
# (OpenIddict adds trailing slash to issuer, but we don't want double slashes in JWKS URL)
mp.jwt.verify.publickey.location=${OAUTH_ISSUER:http://user-management:8080}/.well-known/jwks
smallrye.jwt.clock.skew=30
# Expected issuer for custom validation (normalized to handle trailing slash)
sticker.jwt.expected-issuer=${OAUTH_ISSUER:http://user-management:8080}
# Dev profile JWT overrides
%dev.mp.jwt.verify.publickey.location=http://localhost:8080/.well-known/jwks
%dev.sticker.jwt.expected-issuer=http://localhost:8080
# Test profile - disable issuer validation since @TestSecurity uses synthetic principals
%test.sticker.jwt.issuer-validation.enabled=false
# Kafka channel configuration - DISABLED by default
# These settings are required because @Channel annotations cause build-time wiring.
# The channels are disabled and won't actually connect unless enabled by a profile.
mp.messaging.outgoing.stickers_added.enabled=false
mp.messaging.outgoing.stickers_added.topic=stickers.stickerAdded.v1
mp.messaging.outgoing.stickers_added.value.serializer=com.datadoghq.stickerlandia.common.messaging.CloudEventSerializer
mp.messaging.outgoing.stickers_updated.enabled=false
mp.messaging.outgoing.stickers_updated.topic=stickers.stickerUpdated.v1
mp.messaging.outgoing.stickers_updated.value.serializer=com.datadoghq.stickerlandia.common.messaging.CloudEventSerializer
mp.messaging.outgoing.stickers_deleted.enabled=false
mp.messaging.outgoing.stickers_deleted.topic=stickers.stickerDeleted.v1
mp.messaging.outgoing.stickers_deleted.value.serializer=com.datadoghq.stickerlandia.common.messaging.CloudEventSerializer
# ============================================================================
# Dev Profile - Local development with DevServices
# Activated by: ./mvnw quarkus:dev (automatic) or QUARKUS_PROFILE=dev
# ============================================================================
%dev.quarkus.datasource.devservices.enabled=true
%dev.quarkus.s3.devservices.buckets=sticker-images
%dev.quarkus.kafka.devservices.enabled=true
%dev.quarkus.kafka.devservices.topic-partitions.stickers.stickerAdded.v1=1
%dev.quarkus.kafka.devservices.topic-partitions.stickers.stickerUpdated.v1=1
%dev.quarkus.kafka.devservices.topic-partitions.stickers.stickerDeleted.v1=1
# Enable Kafka channels in dev
%dev.mp.messaging.outgoing.stickers_added.enabled=true
%dev.mp.messaging.outgoing.stickers_added.connector=smallrye-kafka
%dev.mp.messaging.outgoing.stickers_updated.enabled=true
%dev.mp.messaging.outgoing.stickers_updated.connector=smallrye-kafka
%dev.mp.messaging.outgoing.stickers_deleted.enabled=true
%dev.mp.messaging.outgoing.stickers_deleted.connector=smallrye-kafka
# ============================================================================
# Prod Profile - Base production configuration
# Not used directly - use prod-kafka or prod-aws
# ============================================================================
%prod.quarkus.datasource.devservices.enabled=false
%prod.quarkus.kafka.devservices.enabled=false
%prod.quarkus.s3.devservices.enabled=false
# ============================================================================
# Prod-Kafka Profile - Production with Kafka messaging
# Activated by: QUARKUS_PROFILE=prod-kafka
# Required env vars: KAFKA_BOOTSTRAP_SERVERS, database credentials, S3 config
# ============================================================================
%prod-kafka.quarkus.config.profile.parent=prod
# Enable Kafka channels in prod-kafka
%prod-kafka.mp.messaging.outgoing.stickers_added.enabled=true
%prod-kafka.mp.messaging.outgoing.stickers_added.connector=smallrye-kafka
%prod-kafka.mp.messaging.outgoing.stickers_updated.enabled=true
%prod-kafka.mp.messaging.outgoing.stickers_updated.connector=smallrye-kafka
%prod-kafka.mp.messaging.outgoing.stickers_deleted.enabled=true
%prod-kafka.mp.messaging.outgoing.stickers_deleted.connector=smallrye-kafka
# ============================================================================
# Prod-AWS Profile - Production with AWS EventBridge messaging
# Activated by: QUARKUS_PROFILE=prod-aws
# Required env vars: EVENT_BUS_NAME, AWS_REGION, database credentials
# Kafka channels remain DISABLED (default from base config)
# ============================================================================
%prod-aws.quarkus.config.profile.parent=prod
%prod-aws.MESSAGING_PROVIDER=aws