Compare commits

...

6 Commits

Author SHA1 Message Date
dahoud
bb5a2ec8c7 fix: Use absolute URL for Swagger UI OpenAPI spec 2026-02-27 05:22:39 +00:00
dahoud
3b2aa29683 fix: Remove root-path, configure Swagger UI URL correctly 2026-02-27 05:18:56 +00:00
dahoud
7ca54276be fix: Add root-path for Swagger UI compatibility 2026-02-27 05:00:06 +00:00
dahoud
6998e18860 fix: Correct Dockerfile ENTRYPOINT for Quarkus fast-jar 2026-02-27 04:34:42 +00:00
dahoud
4ee373ac81 Merge: resolved conflict in application-prod.properties 2026-02-27 04:33:53 +00:00
dahoud
c0ef8b5ca5 refactoring 2026-02-18 18:02:53 +00:00
2 changed files with 109 additions and 108 deletions

View File

@@ -16,5 +16,5 @@ USER 1001
ENV JAVA_OPTS_APPEND="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager" ENV JAVA_OPTS_APPEND="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
ENV JAVA_APP_JAR="/deployments/quarkus-run.jar" ENV JAVA_APP_JAR="/deployments/quarkus-run.jar"
# Use direct java command instead of run-java.sh to avoid permission issues # Use java command with proper Quarkus options for fast-jar
ENTRYPOINT ["java", "-jar", "/deployments/quarkus-run.jar"] ENTRYPOINT ["java", "-Dquarkus.http.host=0.0.0.0", "-Djava.util.logging.manager=org.jboss.logmanager.LogManager", "-jar", "/deployments/quarkus-run.jar"]

View File

@@ -1,106 +1,107 @@
# ============================================================================ # ============================================================================
# Lions User Manager - Server Implementation Configuration - PROD # Lions User Manager - Server Implementation Configuration - PROD
# ============================================================================ # ============================================================================
# Ce fichier contient UNIQUEMENT les propriétés spécifiques à la PRODUCTION # Ce fichier contient UNIQUEMENT les propriétés spécifiques à la PRODUCTION
# Il surcharge application.properties # Il surcharge application.properties
# ============================================================================ # ============================================================================
# ============================================ # ============================================
# HTTP Configuration PROD # HTTP Configuration PROD
# ============================================ # ============================================
quarkus.http.port=8080 quarkus.http.port=8080
# quarkus.http.root-path est une propriete build-time — passee via -Dquarkus.http.root-path dans le Dockerfile # quarkus.http.root-path est une propriete build-time — passee via -Dquarkus.http.root-path dans le Dockerfile
quarkus.http.cors.origins=${CORS_ORIGINS:https://users.lions.dev,https://btpxpress.lions.dev,https://admin.lions.dev} quarkus.http.cors.origins=${CORS_ORIGINS:https://users.lions.dev,https://btpxpress.lions.dev,https://admin.lions.dev}
# ============================================ # ============================================
# OIDC Configuration PROD # OIDC Configuration PROD
# ============================================ # ============================================
quarkus.oidc.enabled=true quarkus.oidc.enabled=true
quarkus.oidc.auth-server-url=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/lions-user-manager} quarkus.oidc.auth-server-url=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/lions-user-manager}
quarkus.oidc.token.issuer=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/lions-user-manager} quarkus.oidc.token.issuer=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/lions-user-manager}
quarkus.oidc.tls.verification=required quarkus.oidc.tls.verification=required
# ============================================ # ============================================
# Keycloak Admin Client Configuration PROD # Keycloak Admin Client Configuration PROD
# ============================================ # ============================================
lions.keycloak.server-url=${KEYCLOAK_SERVER_URL:https://security.lions.dev} lions.keycloak.server-url=${KEYCLOAK_SERVER_URL:https://security.lions.dev}
lions.keycloak.admin-username=${KEYCLOAK_ADMIN_USERNAME:admin} lions.keycloak.admin-username=${KEYCLOAK_ADMIN_USERNAME:admin}
lions.keycloak.admin-password=${KEYCLOAK_ADMIN_PASSWORD:KeycloakAdmin2025!} lions.keycloak.admin-password=${KEYCLOAK_ADMIN_PASSWORD:KeycloakAdmin2025!}
lions.keycloak.connection-pool-size=20 lions.keycloak.connection-pool-size=20
lions.keycloak.timeout-seconds=60 lions.keycloak.timeout-seconds=60
lions.keycloak.authorized-realms=${KEYCLOAK_AUTHORIZED_REALMS:lions-user-manager,btpxpress,master,unionflow} lions.keycloak.authorized-realms=${KEYCLOAK_AUTHORIZED_REALMS:lions-user-manager,btpxpress,master,unionflow}
# Quarkus-managed Keycloak Admin Client PROD # Quarkus-managed Keycloak Admin Client PROD
quarkus.keycloak.admin-client.server-url=${KEYCLOAK_SERVER_URL:https://security.lions.dev} quarkus.keycloak.admin-client.server-url=${KEYCLOAK_SERVER_URL:https://security.lions.dev}
quarkus.keycloak.admin-client.realm=master quarkus.keycloak.admin-client.realm=master
quarkus.keycloak.admin-client.client-id=admin-cli quarkus.keycloak.admin-client.client-id=admin-cli
quarkus.keycloak.admin-client.grant-type=PASSWORD quarkus.keycloak.admin-client.grant-type=PASSWORD
quarkus.keycloak.admin-client.username=${KEYCLOAK_ADMIN_USERNAME:admin} quarkus.keycloak.admin-client.username=${KEYCLOAK_ADMIN_USERNAME:admin}
quarkus.keycloak.admin-client.password=${KEYCLOAK_ADMIN_PASSWORD:KeycloakAdmin2025!} quarkus.keycloak.admin-client.password=${KEYCLOAK_ADMIN_PASSWORD:KeycloakAdmin2025!}
# ============================================ # ============================================
# Retry Configuration PROD # Retry Configuration PROD
# ============================================ # ============================================
lions.keycloak.retry.max-attempts=5 lions.keycloak.retry.max-attempts=5
lions.keycloak.retry.delay-seconds=3 lions.keycloak.retry.delay-seconds=3
# ============================================ # ============================================
# Audit Configuration PROD # Audit Configuration PROD
# ============================================ # ============================================
lions.audit.log-to-database=true lions.audit.log-to-database=true
lions.audit.log-to-file=false lions.audit.log-to-file=false
lions.audit.retention-days=365 lions.audit.retention-days=365
# ============================================ # ============================================
# Database Configuration PROD # Database Configuration PROD
# ============================================ # ============================================
quarkus.datasource.health.enabled=true quarkus.datasource.health.enabled=true
quarkus.datasource.username=${DB_USERNAME} quarkus.datasource.username=${DB_USERNAME}
quarkus.datasource.password=${DB_PASSWORD} quarkus.datasource.password=${DB_PASSWORD}
quarkus.datasource.jdbc.url=jdbc:postgresql://${DB_HOST}:${DB_PORT:5432}/${DB_NAME:lions_user_manager} quarkus.datasource.jdbc.url=jdbc:postgresql://${DB_HOST}:${DB_PORT:5432}/${DB_NAME:lions_user_manager}
# ============================================ # ============================================
# Hibernate ORM Configuration PROD # Hibernate ORM Configuration PROD
# ============================================ # ============================================
quarkus.hibernate-orm.database.generation=none quarkus.hibernate-orm.database.generation=none
quarkus.hibernate-orm.log.sql=false quarkus.hibernate-orm.log.sql=false
# ============================================ # ============================================
# Flyway Configuration PROD # Flyway Configuration PROD
# ============================================ # ============================================
quarkus.flyway.migrate-at-start=true quarkus.flyway.migrate-at-start=true
# ============================================ # ============================================
# Logging Configuration PROD # Logging Configuration PROD
# ============================================ # ============================================
quarkus.log.level=INFO quarkus.log.level=INFO
quarkus.log.category."dev.lions.user.manager".level=INFO quarkus.log.category."dev.lions.user.manager".level=INFO
quarkus.log.category."org.keycloak".level=WARN quarkus.log.category."org.keycloak".level=WARN
quarkus.log.category."io.quarkus".level=INFO quarkus.log.category."io.quarkus".level=INFO
quarkus.log.console.enable=true quarkus.log.console.enable=true
quarkus.log.console.format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] (%t) %s%e%n 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 (logs centralisés via Kubernetes) # File Logging désactivé en PROD (logs centralisés via Kubernetes)
quarkus.log.file.enable=false quarkus.log.file.enable=false
# ============================================ # ============================================
# OpenAPI/Swagger Configuration PROD # OpenAPI/Swagger Configuration PROD
# ============================================ # ============================================
quarkus.swagger-ui.always-include=true quarkus.swagger-ui.always-include=true
quarkus.swagger-ui.enable=true quarkus.swagger-ui.enable=true
quarkus.swagger-ui.urls.default=/lions-user-manager/q/openapi
# ============================================
# Performance Tuning PROD # ============================================
# ============================================ # Performance Tuning PROD
quarkus.thread-pool.core-threads=4 # ============================================
quarkus.thread-pool.max-threads=32 quarkus.thread-pool.core-threads=4
quarkus.thread-pool.queue-size=200 quarkus.thread-pool.max-threads=32
quarkus.thread-pool.queue-size=200
# ============================================
# SSL/TLS Configuration PROD (optionnel) # ============================================
# ============================================ # 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} # Décommenter si le serveur gère le SSL directement (sinon géré par Ingress/Load Balancer)
# quarkus.http.ssl.certificate.key-store-password=${SSL_KEYSTORE_PASSWORD} # quarkus.http.ssl.certificate.key-store-file=${SSL_KEYSTORE_FILE:/etc/ssl/keystore.p12}
# quarkus.http.ssl.certificate.key-store-file-type=PKCS12 # quarkus.http.ssl.certificate.key-store-password=${SSL_KEYSTORE_PASSWORD}
# quarkus.http.ssl.certificate.key-store-file-type=PKCS12