No description
Find a file
2026-03-17 20:00:27 +01:00
docs some fixes 2026-03-14 14:09:37 +01:00
hosts longhorn: Init 2026-03-16 22:34:53 +01:00
lib A lot of fixes 2026-03-16 23:08:03 +01:00
modules coredns: Use upstream module instead of previous custom modules 2026-03-17 20:00:27 +01:00
pkgs A lot of fixes 2026-03-16 23:08:03 +01:00
secrets A lot of fixes 2026-03-16 23:08:03 +01:00
tests coredns: Fix RBAC 2026-03-16 23:53:51 +01:00
.envrc begin refactor certs 2026-02-16 21:26:11 +01:00
.gitignore begin refactor certs 2026-02-16 21:26:11 +01:00
.nixos-test-history Check if VIP is correctly managed 2026-03-14 14:09:53 +01:00
flake.lock coredns: Remove useless patch already in upstream 2026-03-17 10:38:21 +01:00
flake.nix coredns: Remove useless patch already in upstream 2026-03-17 10:38:21 +01:00
README.md longhorn: Init 2026-03-16 22:34:53 +01:00
shell.nix Init commit 2026-01-08 22:20:48 +01:00

k8s_nixos

Configuration d'un cluster Kubernetes NixOS géré avec flakes, agenix et comin.

Prérequis

Entrer dans le devShell pour avoir accès aux outils :

nix develop

Certificats

Générer les certificats

Génère les certificats dans secrets/tmp/. Les certificats existants sont conservés sauf si --force est spécifié.

nix run .#gen-certs
nix run .#gen-certs -- --force   # régénère tout

Chiffrer les certificats

Chiffre les .pem de secrets/tmp/ vers secrets/ en utilisant les clefs définies dans secrets/secrets.nix. Les fichiers déjà chiffrés sont conservés sauf si --force est spécifié.

nix run .#agenix-certs -- encrypt
nix run .#agenix-certs -- encrypt --force   # rechiffre tout

Déchiffrer les certificats

Déchiffre les .age de secrets/ vers secrets/tmp/.

nix run .#agenix-certs -- decrypt -i ~/.ssh/id_rsa

Lister les secrets déclarés

nix run .#agenix-certs -- list

Image Proxmox

Build l'image VMA pour un host donné :

nix build .#nixosConfigurations.controlplane1.config.system.build.VMA

L'image générée est disponible dans ./result. L'uploader et la restaurer sur Proxmox via :

scp ./result/vzdump-qemu-controlplane1.vma.zst <proxmox-host>:/var/tmp/
qmrestore /var/tmp/<fichier>.vma <vmid> --storage local-lvm --unique
qm resize <vmid> virtio0 40G

Longhorn — Stockage distribué

Longhorn est déployé automatiquement sur le cluster. Chaque nœud doit disposer d'un second disque virtuel (/dev/vdb) dédié aux données.

Ajouter le disque dédié dans Proxmox

Après l'import de chaque VM, ajouter un disque de données dédié à Longhorn :

qm set <vmid> --virtio1 <storage>:50,cache=writethrough,discard=on,iothread=1

Exemple avec local-lvm :

qm set 101 --virtio1 local-lvm:50,cache=writethrough,discard=on,iothread=1
qm set 102 --virtio1 local-lvm:50,cache=writethrough,discard=on,iothread=1
qm set 103 --virtio1 local-lvm:50,cache=writethrough,discard=on,iothread=1

Le disque sera automatiquement formaté en ext4 et monté sur /var/lib/longhorn au premier boot.