Aller au contenu

Phase D — Vault HA & Consul

La phase D est le socle de NEBULA. Elle pose les fondations pour le secret management, le service discovery et le pipeline CI/CD.

Prerequis

Upgrade RAM 64 Go → 128 Go requis avant de demarrer cette phase.

D0 — VLAN 15 (Ops)

VLAN dedie et isole pour Jenkins. Surface d'attaque reduite : Jenkins ne voit que les ports necessaires des autres VLANs.

D1 — Vault HA (Raft 3 noeuds)

graph LR
    V1[vault-01<br/>Leader + Transit] <--> V2[vault-02<br/>Follower + Consul]
    V1 <--> V3[vault-03<br/>Follower + Consul]
    V2 <--> V3
Composant Detail
Stockage Raft integre (3 noeuds, quorum 2/3)
Unseal vault-01 : Shamir (3/5 cles). vault-02/03 : Transit auto via vault-01
PKI CA root 10 ans + Intermediate 3 ans + certificats services 90 jours
SSH Engine Certificats ephemeres 2-5 min (Phase L3)
Failover Automatique — election Raft < 10 secondes

D2 — Consul HA

Service mesh et DNS interne. Chaque service enregistre dans Consul et devient accessible via service.service.nebula.

  • 3 noeuds serveur (nebula-consul + vault-02 + vault-03)
  • Health checks automatiques (interval 10s)
  • Pi-hole forwarde .service.nebula vers Consul DNS

D3 — Minio + Terraform

  • Minio : stockage objet pour Terraform state, SBOM, logs, traces
  • Terraform : import des 13 VMs existantes, module proxmox-vm reutilisable
  • Objectif : terraform plan = zero diff apres import

D4 — Jenkins

Pipeline CI/CD en 11 stages :

graph LR
    A[Checkout] --> B[Trivy scan]
    B --> C[Sentinel check]
    C --> D[Snapshot PVE]
    D --> E[Terraform plan]
    E --> F[Approval]
    F --> G[Terraform apply]
    G --> H[Ansible config]
    H --> I[Cosign + SBOM]
    I --> J[Smoke tests]
    J --> K{OK ?}
    K -->|Oui| L[Deploy OK + ntfy]
    K -->|Non| M[Rollback auto + IRIS]