01La flotte de référence à 4 VMs
nixfleet-demo démarre quatre VMs QEMU qui exercent toute la boucle GitOps
signée : forge (forge Git + runner CI + cache binaire Nix ; le signataire
release ed25519 vit ici), cp (control plane, mTLS, vérification de
signatures), web-01 et web-02 (agents nginx sur les canaux
stable-canary et edge). Le dépôt embarque des clés démo publiques pour qu'un clone
fraîchement récupéré démarre immédiatement - ne déployez pas cette configuration en
production.
Après le walkthrough en 10 étapes, nixfleet status sur cp
montre la flotte en convergence :
root@cp:~# nixfleet status
HOST CHANNEL CURRENT DECLARED STATUS COMPLIANCE
forge stable q9w4kx2vp3nf7… q9w4kx2vp3nf7… ✓ converged -
cp stable 8jzm5lc7wxqr2… 8jzm5lc7wxqr2… ✓ converged 0 outstanding
web-01 stable yb3dr0h5p9fnt… yb3dr0h5p9fnt… ✓ converged 0 outstanding
web-02 edge m7c4kx9l1bgwh… m7c4kx9l1bgwh… ✓ converged 0 outstanding forge affiche - dans la colonne compliance parce qu'il s'agit
de l'hôte de build / signature, pas d'un workload audité. Les trois agents utilisent le
preset NIS2.
github.com/arcanesys/nixfleet-demo · MIT.
02Ce que la démo démontre
- Toute la boucle GitOps à artefacts signés : commit sur votre poste → CI dans
forgesignefleet.resolved.json→cpvérifie → chaque agent vérifie indépendamment → activation. - Vagues gating canal :
web-02(edge) doit converger avant queweb-01(stable canary) ne puisse démarrer. L'ordonnancementchannelEdgesest la porte. - Rollback magique à deadline : cassez la config de
web-01, poussez. L'agent échoue l'activation et revient automatiquement à la génération précédente. Pas de monitoring externe. - Vérification indépendante de l'agent : arrêtez
cpentre la signature et le dispatch. Les agents refusent tout ce qui n'est pas signé par la clé release. - Preuves de conformité signées :
/var/lib/nixfleet-compliance/evidence.jsonsur chaque agent, canonicalisé JCS, signé par l'hôte, par contrôle.
03Prérequis
- Linux ou macOS avec Nix flakes activé (
experimental-features = nix-command flakes) - QEMU/KVM (Linux) ou Apple Hypervisor (macOS)
- ~6 Go RAM libre, ~20 Go disque libre pour l'état des VMs
- Premier run CI : 20–45 minutes sur un cache nixpkgs froid (forge compile le workspace Rust nixfleet depuis la source). Les pushes suivants finissent en 2–5 minutes.
04Exécuter la démo
Le walkthrough en 10 étapes - commandes exactes, flags, redirections de ports, sorties attendues - vit dans le README du dépôt. Copier-coller, dix minutes de saisie, puis une pause café pour le premier run CI. Le README est la source de vérité unique. Les commandes évoluent avec le flake.
Ouvrir le walkthrough ↗ Ouvrir le dépôt ↗
05Après la démo
Si la boucle a convergé sur votre poste, l'étape suivante est un appel de 15 min pour cadrer un atelier sur 2–3 de vos hôtes. La transition de la démo vers votre infrastructure est documentée dans le kit atelier.