meldestelle/config/app/base-application.yaml
Stefan Mogeritsch 5bc2538aab docs: finalize and verify Redis-to-Valkey migration and Keycloak hardening
Updated `MASTER_ROADMAP_2026_Q1.md` to reflect completed Redis-to-Valkey migration and Keycloak production configuration. Adjusted property paths in `base-application.yaml` and session logs with corrected environment variable names. Verified end-to-end Docker stability and roadmap alignment.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-03-09 15:51:42 +01:00

88 lines
2.8 KiB
YAML

spring:
application:
name: meldestelle
# --- ZENTRALE DATENBANK KONFIGURATION ---
datasource:
url: ${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/pg-meldestelle-db}
username: ${SPRING_DATASOURCE_USERNAME:pg-user}
password: ${SPRING_DATASOURCE_PASSWORD:pg-password}
driver-class-name: org.postgresql.Driver
# --- JPA / HIBERNATE DEFAULTS ---
jpa:
database-platform: org.hibernate.dialect.PostgreSQLDialect
hibernate:
ddl-auto: validate # In Production/Docker nutzen wir Flyway!
open-in-view: false
properties:
hibernate:
format_sql: true
# --- FLYWAY MIGRATION ---
flyway:
enabled: ${SPRING_FLYWAY_ENABLED:true}
baseline-on-migrate: true
locations: classpath:db/migration
# --- VALKEY KONFIGURATION (Redis-protokollkompatibel, Spring nutzt spring.data.redis.*) ---
data:
redis:
host: ${SPRING_DATA_VALKEY_HOST:localhost}
port: ${SPRING_DATA_VALKEY_PORT:6379}
password: ${SPRING_DATA_VALKEY_PASSWORD:}
connect-timeout: 5s
timeout: 2s
# --- CONSUL SERVICE DISCOVERY ---
cloud:
consul:
host: ${SPRING_CLOUD_CONSUL_HOST:localhost}
port: ${SPRING_CLOUD_CONSUL_PORT:8500}
enabled: ${SPRING_CLOUD_CONSUL_ENABLED:true}
discovery:
enabled: ${SPRING_CLOUD_CONSUL_DISCOVERY_ENABLED:true}
register: ${SPRING_CLOUD_CONSUL_DISCOVERY_REGISTER:true}
prefer-ip-address: ${SPRING_CLOUD_CONSUL_DISCOVERY_PREFER_IP_ADDRESS:true}
health-check-path: ${SPRING_CLOUD_CONSUL_DISCOVERY_HEALTH_CHECK_PATH:/actuator/health}
health-check-interval: 10s
instance-id: ${spring.application.name}:${random.value}
service-name: ${spring.application.name}
# --- SECURITY (OAUTH2 RESOURCE SERVER) ---
security:
oauth2:
resourceserver:
jwt:
issuer-uri: ${SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI:http://localhost:8180/realms/meldestelle}
jwk-set-uri: ${SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI:http://localhost:8180/realms/meldestelle/protocol/openid-connect/certs}
# --- OBSERVABILITY (ACTUATOR & ZIPKIN) ---
management:
endpoints:
web:
exposure:
include: "health,info,prometheus,metrics"
endpoint:
health:
show-details: always
probes:
enabled: true
tracing:
sampling:
probability: ${MANAGEMENT_TRACING_SAMPLING_PROBABILITY:1.0}
zipkin:
tracing:
endpoint: ${MANAGEMENT_ZIPKIN_TRACING_ENDPOINT:http://localhost:9411/api/v2/spans}
# --- LOGGING ---
logging:
level:
root: INFO
at.mocode: DEBUG
org.springframework.web: INFO
org.springframework.security: INFO
org.springframework.cloud.gateway: INFO
pattern:
level: "%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]"