Skip to content

af-beng/Devoxx-Lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Environnement de Lab Devoxx

Ce script initialise automatiquement un environnement de lab avec un cluster Kubernetes, Gitlab et Argo CD.

Ce lab a pour objectif de mettre en avant updatecli et son intégration dans un contexte GitOps : comment "updatecli" s'intègre naturellement dans une pipeline CI/CD, détecte les nouvelles versions d'une application, ouvre automatiquement une Merge Request avec les changements nécessaires, et laisse Argo CD synchroniser l'état du cluster une fois la MR mergée.

Ce script prend en charge :

  • La création d'un cluster Kubernetes local avec k3d
  • Le déploiement de GitLab et Argo CD via Helm
  • La configuration automatique de tous les accès (SSH, Personal Access Tokens, connexion repository Argo CD, etc..)
  • La création et configuration d'un repository GitLab comprenant :
    • Un fichier application.yaml pour le déploiement de Grafana via Argo CD
    • Le values Grafana
    • Le manifest updatecli
    • Les variables CI/CD
    • La GitLab CI
    • Une pipeline schedule pour updatecli

Prérequis

Les outils suivants doivent être installés et disponibles dans le PATH :

  • docker — Docker Engine
  • k3d — gestion de clusters Kubernetes locaux via Docker
  • kubectl — CLI Kubernetes
  • helm — gestionnaire de packages Kubernetes
  • jq — traitement JSON en ligne de commande
  • Une paire de clés SSH

Usage

bash ./setup_lab.sh

Le script demande le chemin de la clé SSH publique à déposer dans GitLab.

Ce que fait le script

Étape Description
0/8 Ajout des entrées DNS dans /etc/hosts
1/8 Création du cluster Kubernetes demo-devoxx avec k3d
2/8 Ajout des repo Helm Gitlab et Argo CD
3/8 Déploiement de GitLab via Helm
4/8 Déploiement d'Argo CD via Helm
5/8 Attente du démarrage de Gitlab
6/8 Configuration de GitLab (OAuth, PAT, clé SSH, projet)
7/8 Création des variables CI/CD et connexion du repo dans Argo CD
8/8 Push du projet "demo-devoxx" et création de la pipeline schedule 'updatecli"

Entrées DNS ajoutées

172.18.0.2  gitlab.demo-devoxx.lab
172.18.0.2  argocd.demo-devoxx.lab
172.18.0.2  grafana.demo-devoxx.lab

Accès aux services

À la fin de l'exécution, le script affiche les URLS et les credentials :

GitLab : http://gitlab.demo-devoxx.lab  (root / <mot de passe généré>)
ArgoCD : http://argocd.demo-devoxx.lab  (admin / demo-devoxx)

Kubeconfig

Le kubeconfig du cluster est écrit dans ~/.kube/k3d.

Pour l'utiliser :

export KUBECONFIG=~/.kube/k3d
kubectl get pods -A

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages