Initial commit

This commit is contained in:
dahoud
2025-10-01 01:37:34 +00:00
commit f2bb633142
310 changed files with 86051 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
# Configuration de production pour BTP Xpress avec Keycloak
# Variables d'environnement requises :
# - DB_URL : URL de la base de données PostgreSQL
# - DB_USERNAME : Nom d'utilisateur de la base de données
# - DB_PASSWORD : Mot de passe de la base de données
# - KEYCLOAK_SERVER_URL : URL du serveur Keycloak
# - KEYCLOAK_REALM : Nom du realm Keycloak
# - KEYCLOAK_CLIENT_ID : ID du client Keycloak
# - KEYCLOAK_CLIENT_SECRET : Secret du client Keycloak
# Base de données
quarkus.datasource.jdbc.url=${DB_URL:jdbc:postgresql://postgres:5432/btpxpress}
quarkus.datasource.username=${DB_USERNAME:btpxpress_user}
quarkus.datasource.password=${DB_PASSWORD}
quarkus.hibernate-orm.database.generation=validate
quarkus.hibernate-orm.log.sql=false
quarkus.hibernate-orm.log.bind-parameters=false
# Serveur HTTP
quarkus.http.port=${SERVER_PORT:8080}
quarkus.http.host=0.0.0.0
quarkus.http.root-path=/btpxpress
# CORS Configuration pour production
quarkus.http.cors=true
quarkus.http.cors.origins=https://btpxpress.lions.dev
quarkus.http.cors.methods=GET,POST,PUT,DELETE,OPTIONS
quarkus.http.cors.headers=Content-Type,Authorization,X-Requested-With
quarkus.http.cors.exposed-headers=Content-Disposition
quarkus.http.cors.access-control-max-age=24H
quarkus.http.cors.access-control-allow-credentials=true
# Configuration Keycloak OIDC
quarkus.oidc.auth-server-url=${KEYCLOAK_SERVER_URL:https://security.lions.dev}/realms/${KEYCLOAK_REALM:btpxpress}
quarkus.oidc.client-id=${KEYCLOAK_CLIENT_ID:btpxpress-backend}
quarkus.oidc.credentials.secret=${KEYCLOAK_CLIENT_SECRET}
quarkus.oidc.tls.verification=required
quarkus.oidc.authentication.redirect-path=/login
quarkus.oidc.authentication.restore-path-after-redirect=true
# Sécurité
quarkus.security.auth.enabled=true
quarkus.security.auth.proactive=true
# Logging
quarkus.log.level=INFO
quarkus.log.category."dev.lions.btpxpress".level=INFO
quarkus.log.category."org.hibernate".level=WARN
quarkus.log.category."io.quarkus".level=INFO
quarkus.log.category."io.quarkus.oidc".level=DEBUG
# Métriques et monitoring
quarkus.micrometer.export.prometheus.enabled=true
quarkus.micrometer.export.prometheus.path=/metrics
quarkus.smallrye-health.ui.enable=true
# Cache
quarkus.cache.caffeine.default.initial-capacity=100
quarkus.cache.caffeine.default.maximum-size=1000
quarkus.cache.caffeine.default.expire-after-write=PT30M
# Pool de connexions optimisé pour production
quarkus.datasource.jdbc.initial-size=10
quarkus.datasource.jdbc.min-size=10
quarkus.datasource.jdbc.max-size=50
quarkus.datasource.jdbc.acquisition-timeout=PT30S
quarkus.datasource.jdbc.leak-detection-interval=PT10M
# OpenAPI/Swagger
quarkus.swagger-ui.always-include=true
quarkus.swagger-ui.path=/swagger-ui
quarkus.smallrye-openapi.path=/openapi
quarkus.smallrye-openapi.info-title=BTP Xpress API
quarkus.smallrye-openapi.info-version=1.0.0
quarkus.smallrye-openapi.info-description=Backend REST API for BTP Xpress application