# ============================================================================ # Lions User Manager Server - Configuration Production # ============================================================================ # Ce fichier contient TOUTES les propriétés spécifiques à la production # Il surcharge et complète application.properties # ============================================================================ # ============================================ # HTTP Configuration PROD # ============================================ quarkus.http.port=8080 # CORS restrictif en production (via variable d'environnement) quarkus.http.cors.origins=${CORS_ORIGINS:https://users.lions.dev,https://btpxpress.lions.dev,https://admin.lions.dev} # ============================================ # Logging PROD (moins verbeux) # ============================================ quarkus.log.level=INFO quarkus.log.category."dev.lions.user.manager".level=INFO quarkus.log.category."org.keycloak".level=WARN quarkus.log.console.format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] (%t) %s%e%n # File Logging désactivé en prod Kubernetes (utilise stdout pour logs centralisés) # quarkus.log.file.path=/var/log/lions/lions-user-manager.log # quarkus.log.file.rotation.max-file-size=50M # quarkus.log.file.rotation.max-backup-index=30 # quarkus.log.file.rotation.rotate-on-boot=false # ============================================ # OIDC Configuration PROD - OBLIGATOIRE ET ACTIF # ============================================ quarkus.oidc.enabled=true quarkus.oidc.auth-server-url=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/lions-user-manager} quarkus.oidc.client-id=${KEYCLOAK_CLIENT_ID:lions-user-manager-server} # Client bearer-only - pas de secret nécessaire # quarkus.oidc.credentials.secret=${KEYCLOAK_CLIENT_SECRET} quarkus.oidc.token.issuer=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/lions-user-manager} # Vérification TLS requise en production quarkus.oidc.tls.verification=required # Vérification stricte des tokens quarkus.oidc.discovery-enabled=true # quarkus.oidc.verify-access-token=true # Propriété non reconnue # Extraction des rôles quarkus.oidc.roles.role-claim-path=realm_access/roles # ============================================ # Keycloak Admin Client Configuration PROD # ============================================ lions.keycloak.server-url=${KEYCLOAK_SERVER_URL:https://security.lions.dev} lions.keycloak.admin-realm=${KEYCLOAK_ADMIN_REALM:master} lions.keycloak.admin-client-id=admin-cli lions.keycloak.admin-username=${KEYCLOAK_ADMIN_USERNAME:admin} lions.keycloak.admin-password=${KEYCLOAK_ADMIN_PASSWORD:KeycloakAdmin2025!} # Pool de connexions augmenté en production lions.keycloak.connection-pool-size=20 lions.keycloak.timeout-seconds=60 # Realms autorisés en production (via variable d'environnement) lions.keycloak.authorized-realms=${KEYCLOAK_AUTHORIZED_REALMS:lions-user-manager,btpxpress,master,unionflow} # ============================================ # Retry Configuration PROD # ============================================ lions.keycloak.retry.max-attempts=5 lions.keycloak.retry.delay-seconds=3 # ============================================ # Audit Configuration PROD # ============================================ lions.audit.retention-days=365 lions.audit.log-to-database=true # ============================================ # Database Configuration PROD (pour audit) - Désactivé pour l'instant # ============================================ # quarkus.datasource.db-kind=postgresql # quarkus.datasource.username=${DB_USERNAME:audit_user} # quarkus.datasource.password=${DB_PASSWORD} # quarkus.datasource.jdbc.url=jdbc:postgresql://${DB_HOST:lions-db.lions.svc.cluster.local}:${DB_PORT:5432}/${DB_NAME:lions_audit} # quarkus.datasource.jdbc.max-size=20 # quarkus.datasource.jdbc.min-size=5 # quarkus.hibernate-orm.enabled=true # quarkus.hibernate-orm.database.generation=none # quarkus.flyway.migrate-at-start=true # quarkus.flyway.baseline-on-migrate=true # quarkus.flyway.baseline-version=1.0.0 # ============================================ # OpenAPI/Swagger Configuration PROD # ============================================ # Swagger désactivé en production par défaut (build-time property) # quarkus.swagger-ui.always-include=false quarkus.swagger-ui.enable=false # ============================================ # Security Configuration PROD (strict) # ============================================ # Ces propriétés sont build-time, configurées dans application.properties # quarkus.security.auth.enabled=true # quarkus.security.jaxrs.deny-unannotated-endpoints=true # quarkus.security.auth.proactive=true # ============================================ # Performance tuning PROD # ============================================ quarkus.thread-pool.core-threads=4 quarkus.thread-pool.max-threads=32 quarkus.thread-pool.queue-size=200 # ============================================ # SSL/TLS Configuration PROD (optionnel) # ============================================ # Décommenter si le serveur gère le SSL directement (sinon géré par Ingress/Load Balancer) # quarkus.http.ssl.certificate.key-store-file=${SSL_KEYSTORE_FILE:/etc/ssl/keystore.p12} # quarkus.http.ssl.certificate.key-store-password=${SSL_KEYSTORE_PASSWORD} # quarkus.http.ssl.certificate.key-store-file-type=PKCS12