Skip to content
Homelab · DevSecOps · Infrastructure as Code

Une plateforme DevSecOps
construite from scratch

Une infrastructure complète, documentée pas à pas.

Déploiement automatisé sur 3 nœuds Proxmox bare-metal — de la VM au pod Kubernetes, du secret au pipeline CI/CD sécurisé.

Démarrer la lecture → Voir le code source


Pourquoi ce projet ?

Le métier DevOps/DevSecOps ne s'apprend pas uniquement sur des environnements cloud managés. Comprendre ce qui se passe sous un cluster Kubernetes, derrière un pipeline CI/CD, ou à l'intérieur d'un secret Vault — ça s'acquiert en construisant soi-même, en cassant, en recommençant.

🔨
Apprendre par la pratique
Chaque service est provisionné, configuré et sécurisé manuellement avant d'être automatisé
📐
Documenter les décisions
Chaque choix technique est justifié, chaque alternative discutée sous forme d'ADR
🎯
Maîtrise end-to-end
De l'IaC Proxmox jusqu'au déploiement GitOps d'une application Python en production

Architecture des nœuds

Trois nœuds bare-metal Intel Core i5-12600H, chacun avec un rôle clairement défini. Pas de HA, pas de Ceph — une topologie simple, lisible, et reproductible.

pve01 16 Go RAM
Control Plane / DevOps
Traefik + CrowdSec
GitLab CE
Vault
pve02 32 Go RAM
Data / Security / Observabilité
Harbor Registry
Prometheus · Grafana · Loki
Keycloak SSO
DefectDojo
pve03 32 Go RAM
Kubernetes Platform
k3s master
k3s worker01 · ArgoCD
k3s worker02 · Apps Python

Pipeline CI/CD DevSecOps

Chaque commit déclenche un pipeline complet. Chaque étape de sécurité est bloquante — un pipeline ne progresse pas si une analyse échoue.

Test
pytest · lint
SAST
Semgrep · Bandit
Build
Docker · Trivy
Push
Harbor registry
DAST
OWASP ZAP
Deploy
ArgoCD · k3s

DefectDojo

Centralise automatiquement tous les rapports SAST et DAST issus de chaque pipeline — suivi des vulnérabilités, historique et métriques de remédiation.


Sécurité by design

La sécurité n'est pas une couche ajoutée après coup — elle est intégrée à chaque niveau :

  • Un seul point d'entrée exposé sur Internet : Traefik sur les ports 80/443
  • Aucune segmentation VLAN (switch non manageable) — l'isolation est logicielle
  • UFW sur chaque VM pour le filtrage des flux entre services
  • Fail2Ban sur chaque VM contre les tentatives de bruteforce
  • CrowdSec en mode bouncer sur Traefik — bannissement automatique des IPs malveillantes
  • Keycloak comme SSO central OIDC pour tous les services (GitLab, Grafana, Harbor, DefectDojo, ArgoCD)
  • SSH par clé uniquement, port non-standard, accès restreint au réseau local
  • Vault pour tous les secrets — aucun credential en clair dans le code
  • Semgrep / Bandit — SAST Python dans chaque pipeline
  • Trivy — scan des images Docker avant push sur Harbor
  • OWASP ZAP — DAST sur les applications déployées
  • DefectDojo — centralisation et suivi de toutes les vulnérabilités

Stack technique

Catégorie Technologies
Virtualisation Proxmox VE 9.2, cloud-init, Debian 13
IaC OpenTofu, Ansible, GitLab CI/CD
Réseau & Sécurité périmètre Traefik v3, CrowdSec, Let's Encrypt, UFW, Fail2Ban
Secrets & PKI HashiCorp Vault
Registry Harbor
SSO Keycloak — OIDC / OAuth2
Kubernetes k3s, ArgoCD, Helm
Observabilité Prometheus, Grafana, Loki, Promtail
Sécurité applicative Semgrep, Bandit, Trivy, OWASP ZAP, DefectDojo
Applications FastAPI, Streamlit, Flask — Python 3.13

Explorer la documentation

  • Architecture

    Plan réseau, adressage IP, dimensionnement, matrice de flux

    Lire →

  • Déploiement

    7 phases d'installation, de Proxmox aux applications Python

    Lire →

  • Sécurité

    Hardening SSH, Vault, Keycloak SSO, pipeline DevSecOps

    Lire →

  • Observabilité

    Prometheus, Grafana, Loki — dashboards et alertes

    Lire →

  • Kubernetes

    k3s, ArgoCD, GitOps, déploiement des applications

    Lire →

  • Applications

    FastAPI, Streamlit, Flask — développement et déploiement

    Lire →