Challenge CI/CD et Observabilité des Données

mar. 23 septembre 2025 - 1 min read -

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

  1. docker-compose.yml
  2. .gitlab-ci.yml
  3. Configuration Prometheus
  4. 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.