Challenge CI/CD et Observabilité des Données
Objectif
Créer un pipeline CI/CD qui déploie une stack d’observabilité pour surveiller une base de données PostgreSQL.
Repo GitLab
https://gitlab.com/kodetis/challenge
Stack Technique
Services à orchestrer :
- PostgreSQL : Base de données avec exporter de métriques
- Prometheus : Collecte des métriques
- Grafana : Tableau de bord de visualisation
Instructions
1. Orchestration Docker Compose
Créez un fichier docker-compose.yml avec :
- PostgreSQL configuré avec postgres_exporter
- Prometheus configuré pour collecter les métriques PostgreSQL
- Grafana pour la visualisation
2. Pipeline CI/CD GitLab
Créez un fichier .gitlab-ci.yml avec deux étapes :
Étape 1 (build) : Construire l’image Docker avec l’exporter PostgreSQL
Étape 2 (deploy) :
- Lancer les conteneurs avec
docker-compose up
- Vérifier que les 3 services démarrent sans erreur
- Vérifier que Prometheus collecte bien les métriques (requête API)
Livrables
docker-compose.yml
.gitlab-ci.yml
- Configuration Prometheus
- README avec instructions
Délai
48h maximum
Bonus
- Tableau de bord Grafana automatiquement importé au démarrage
- Configuration JSON du dashboard avec au moins une métrique clé (connexions DB)
Objectif : Évaluer vos compétences en CI/CD et monitoring d’infrastructure.