# ============================================================================ # UnionFlow Server — Profil PROD # Chargé automatiquement quand le profil "prod" est actif # Surcharge application.properties — sans préfixes %prod. # ============================================================================ # Base de données PostgreSQL — Production (variables d'environnement obligatoires) quarkus.datasource.username=${DB_USERNAME} quarkus.datasource.password=${DB_PASSWORD} quarkus.datasource.jdbc.url=${DB_URL} quarkus.datasource.jdbc.min-size=5 quarkus.datasource.jdbc.max-size=20 quarkus.datasource.jdbc.acquisition-timeout=5 quarkus.datasource.jdbc.idle-removal-interval=PT2M quarkus.datasource.jdbc.max-lifetime=PT30M # Hibernate — Update (temporaire pour migration initiale DB fraîche, repasser en validate après) quarkus.hibernate-orm.database.generation=update quarkus.hibernate-orm.statistics=false # Flyway — ignorer les migrations appliquées en DB mais absentes localement # (suite à la consolidation V1-V10 → V1, les anciennes V1.1/V1.2/V1.3 ne sont plus présentes) quarkus.flyway.ignore-migration-patterns=*:missing # CORS — strict en production quarkus.http.cors.origins=${CORS_ORIGINS:https://unionflow.lions.dev,https://security.lions.dev} quarkus.http.cors.access-control-allow-credentials=true # WebSocket — public (auth gérée dans le handshake) quarkus.http.auth.permission.websocket.paths=/ws/* quarkus.http.auth.permission.websocket.policy=permit # Keycloak / OIDC — Production quarkus.oidc.tenant-enabled=true quarkus.oidc.auth-server-url=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/unionflow} quarkus.oidc.client-id=unionflow-server quarkus.oidc.credentials.secret=${KEYCLOAK_CLIENT_SECRET} quarkus.oidc.tls.verification=required # Validation audience : seuls les tokens destinés à unionflow-server sont acceptés # Nécessite un audience mapper dans Keycloak : unionflow-mobile client → scope → audience mapper → unionflow-server quarkus.oidc.token.audience=unionflow-server # OpenAPI — serveur prod quarkus.smallrye-openapi.servers=https://api.lions.dev/unionflow quarkus.smallrye-openapi.oidc-open-id-connect-url=${quarkus.oidc.auth-server-url}/.well-known/openid-configuration # Swagger UI — désactivé en production quarkus.swagger-ui.always-include=false # Logging — fichier en production (le répertoire doit exister dans le container) quarkus.log.file.enable=false quarkus.log.file.path=/var/log/unionflow/server.log quarkus.log.file.rotation.max-file-size=10M quarkus.log.file.rotation.max-backup-index=5 quarkus.log.category."org.jboss.resteasy".level=WARN # REST Client lions-user-manager quarkus.rest-client.lions-user-manager-api.url=${LIONS_USER_MANAGER_URL:http://lions-user-manager:8081} # OIDC client "admin-service" — service account pour appels admin vers lions-user-manager quarkus.oidc-client.admin-service.auth-server-url=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/unionflow} quarkus.oidc-client.admin-service.client-id=unionflow-server quarkus.oidc-client.admin-service.credentials.secret=${KEYCLOAK_CLIENT_SECRET} quarkus.oidc-client.admin-service.grant.type=client # Wave Money — Production wave.environment=production # Email — Production quarkus.mailer.from=${MAIL_FROM:noreply@unionflow.lions.dev} quarkus.mailer.host=${MAIL_HOST:smtp.lions.dev} quarkus.mailer.port=${MAIL_PORT:587} quarkus.mailer.username=${MAIL_USERNAME:} quarkus.mailer.password=${MAIL_PASSWORD:} quarkus.mailer.start-tls=REQUIRED quarkus.mailer.ssl=false