4.2 KiB
4.2 KiB
Déploiement en Production - Lions User Manager
✅ Vérification de la Déployabilité
1. Configuration Production
Backend (server-impl-quarkus)
- ✅ Dockerfile.prod : Multi-stage build optimisé avec sécurité renforcée
- ✅ application-prod.properties : Configuration complète pour production
- SSL/TLS activé (
quarkus.oidc.tls.verification=required) - Base de données PostgreSQL configurée pour audit
- Logging vers fichiers et base de données
- Métriques Prometheus activées
- Health checks configurés
- Swagger UI désactivé
- Sécurité renforcée (
deny-unannotated-endpoints=true)
- SSL/TLS activé (
Frontend (client-quarkus-primefaces-freya)
- ✅ Dockerfile.prod : Multi-stage build optimisé
- ✅ Configuration OIDC pour production
- ✅ CORS configuré pour les domaines de production
2. Dépendances Production
Backend
- ✅ PostgreSQL (pour logs d'audit)
- ✅ Keycloak (serveur d'authentification)
- ✅ Variables d'environnement requises :
KEYCLOAK_CLIENT_SECRETKEYCLOAK_ADMIN_USERNAMEKEYCLOAK_ADMIN_PASSWORDDB_USERNAMEDB_PASSWORDDB_HOSTDB_PORTDB_NAMESSL_KEYSTORE_FILESSL_KEYSTORE_PASSWORD
Frontend
- ✅ Backend API accessible
- ✅ Keycloak OIDC configuré
- ✅ Variables d'environnement :
QUARKUS_OIDC_AUTH_SERVER_URLQUARKUS_OIDC_CLIENT_IDLIONS_USER_MANAGER_BACKEND_URL
3. Build Production
Backend
mvn clean package -DskipTests -pl lions-user-manager-server-impl-quarkus -Dquarkus.profile=prod
Frontend
mvn clean package -DskipTests -pl lions-user-manager-client-quarkus-primefaces-freya -Dquarkus.profile=prod
4. Docker Build
Backend
docker build -f lions-user-manager-server-impl-quarkus/Dockerfile.prod -t lions-user-manager-server:1.0.0 .
Frontend
docker build -f lions-user-manager-client-quarkus-primefaces-freya/Dockerfile.prod -t lions-user-manager-client:1.0.0 .
5. Points d'Attention
⚠️ Variables d'Environnement
Toutes les variables d'environnement sensibles doivent être configurées via :
- Secrets Kubernetes
- Variables d'environnement Docker
- Configuration externe (Vault, etc.)
⚠️ Base de Données
- La base de données PostgreSQL est obligatoire en production pour les logs d'audit
- Les migrations Flyway s'exécutent automatiquement au démarrage
- Configuration requise dans
application-prod.properties
⚠️ SSL/TLS
- Certificats SSL requis pour HTTPS
- Configuration dans
application-prod.properties:quarkus.http.ssl.certificate.key-store-filequarkus.http.ssl.certificate.key-store-password
⚠️ Keycloak
- Serveur Keycloak doit être accessible en HTTPS
- Client
lions-user-managerdoit être configuré dans Keycloak - Secret client doit être fourni via variable d'environnement
6. Health Checks
Les endpoints de health check sont disponibles :
/q/health: Health check général/q/health/live: Liveness probe/q/health/ready: Readiness probe/q/metrics: Métriques Prometheus
7. Monitoring
- ✅ Métriques Prometheus activées
- ✅ Logging structuré vers fichiers
- ✅ Logging vers base de données (audit)
- ✅ Health checks configurés
8. Sécurité
- ✅ SSL/TLS requis
- ✅ CORS configuré pour domaines spécifiques
- ✅ OIDC avec vérification TLS
- ✅ Endpoints non annotés refusés
- ✅ Swagger UI désactivé en production
✅ Conclusion
Le projet est déployable en production avec les configurations suivantes :
- ✅ Dockerfiles de production présents et optimisés
- ✅ Configuration production complète (
application-prod.properties) - ✅ Variables d'environnement documentées
- ✅ Health checks configurés
- ✅ Monitoring et métriques activés
- ✅ Sécurité renforcée
- ✅ Base de données configurée pour audit
Actions requises avant déploiement :
- Configurer les secrets Kubernetes/variables d'environnement
- Configurer la base de données PostgreSQL
- Configurer les certificats SSL/TLS
- Configurer Keycloak avec le client
lions-user-manager - Tester le build Docker en local
- Déployer via Kubernetes/Docker Compose