spring: application: name: entries-service datasource: url: ${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/pg-meldestelle-db} username: ${SPRING_DATASOURCE_USERNAME:pg-user} password: ${SPRING_DATASOURCE_PASSWORD:pg-password} 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} cloud: consul: host: ${CONSUL_HOST:localhost} port: ${CONSUL_PORT:8500} discovery: enabled: true register: true prefer-ip-address: true health-check-path: /actuator/health health-check-interval: 10s flyway: enabled: ${SPRING_FLYWAY_ENABLED:true} # Control-Schema Migrationen (Registry) locations: classpath:db/control # Default-Schema für Control-Registry schemas: control server: port: ${SERVER_PORT:${ENTRIES_SERVICE_PORT:8083}} # Multitenancy Bootstrap (temporär): Liste erlaubter Schemas (kommagetrennt) multitenancy: defaultSchemas: ${MULTITENANCY_DEFAULT_SCHEMAS:public} # Umschalten zwischen in-memory (bootstrap) und jdbc (produktiv) registry: type: ${MULTITENANCY_REGISTRY_TYPE:jdbc} # jdbc | inmem management: endpoints: web: exposure: include: health,info,metrics,prometheus,circuitbreakers endpoint: health: show-details: always probes: enabled: true tracing: enabled: ${TRACING_ENABLED:false} sampling: probability: ${TRACING_SAMPLING_PROBABILITY:0.1} zipkin: tracing: endpoint: ${ZIPKIN_TRACING_ENDPOINT:http://localhost:9411/api/v2/spans} connect-timeout: 1s read-timeout: 5s # Resilience4j Circuit Breaker Configuration resilience4j: circuitbreaker: configs: default: # Circuit breaker opens when the failure rate exceeds 50% failure-rate-threshold: 50 # Minimum number of calls to calculate the failure rate minimum-number-of-calls: 5 # Time to wait before transitioning from OPEN to HALF_OPEN wait-duration-in-open-state: 10s # Number of calls in HALF_OPEN state before deciding to close/open permitted-number-of-calls-in-half-open-state: 3 # Sliding window size for calculating failure rate sliding-window-size: 10 # Type of sliding window (COUNT_BASED or TIME_BASED) sliding-window-type: COUNT_BASED # Record exceptions that should be considered as failures record-exceptions: - java.lang.Exception # Ignore certain exceptions (don't count as failures) ignore-exceptions: - java.lang.IllegalArgumentException instances: entriesCircuitBreaker: # Use default configuration base-config: default # Override specific settings for this instance if needed failure-rate-threshold: 60 minimum-number-of-calls: 4 wait-duration-in-open-state: 5s # Metrics configuration removed to avoid property resolution warnings # Use micrometer and actuator endpoints for metrics instead