Einleitung
Nach
Lesson 0006
kannst du Modul-Änderungen lokal bauen. Deploy heißt: die gebaute
Konfiguration auf den Host bringen. In
groupdir-infra macht das
Colmena, gesteuert
über hive.nix.
Disko und nixos-anywhere brauchst du nur für Partitionierung bzw. Erstinstallation. Hier reichen Rollen und ein Befehl. Live-Deploy gegen echte Hosts ist fürs Selbststudium optional; die Befehle und Dateien sollst du zuordnen können.
deployment.nix, hive.nix und flake.nix
Das Host-Inventar (welcher Host, Zieladresse, User, Rollen-Tags)
steht an einer Stelle: deployment.nix.
Auszug:
lab-gateway = {
targetHost = "192.168.200.119";
targetUser = "deploy";
tags = [ "lab" ];
};
hive.nix und flake.nix lesen dieselbe
deployment.nix und leiten daraus per
mapAttrs ihre Sicht ab: hive.nix baut pro
Host einen Colmena-Node (deployment-Block + Import von
nixos/hosts/<name>/configuration.nix),
flake.nix baut daraus
nixosConfigurations.<name>. Einen Host
hinzufügen heißt also: neuer Eintrag in
deployment.nix plus die passende
nixos/hosts/<name>/configuration.nix — nicht
mehr zwei getrennte Listen pflegen.
Primärquelle:
Colmena Manual.
Im Repo: deployment.nix, hive.nix,
flake.nix und README („Deploy“).
Native Befehle (ohne Pipeline)
# in nix develop, Repo-Root
colmena build # lokal bauen, nichts deployen
colmena apply # alle Hive-Hosts
colmena apply --on lab-gateway # nur ein Host
colmena apply --on vps
just build / just apply /
just apply-host … sind nur Shortcuts auf dieselben
Colmena-Aufrufe (analog zu Lesson 0004 und just/tofu).
colmena build üben.
apply braucht SSH-Zugang und ändert Produktion. Kenn
den Befehl und lies hive.nix; Apply nur mit Absicht.
Disko (Oberfläche)
Disko
beschreibt Festplatten layout deklarativ. Pro Host liegt
nixos/hosts/…/disko.nix, importiert in der
Host-Config. Du änderst Disko selten im Alltag; relevant bei neuem
Host oder Install.
nixos-anywhere (Oberfläche)
nixos-anywhere installiert NixOS einmalig remote (z. B. frische VM). Danach übernimmt Colmena. Ablauf und Voraussetzungen: docs/install.md. Beispiel aus dem justfile (destruktiv, nur Erst-/Migrationspfad):
nixos-anywhere --flake .#vps --extra-files … root@vpn.groupdir.de
Wer macht was?
Lesen am Repo
-
deployment.nix:targetHost/targetUserfürvpsundlab-gateway -
docs/install.md: Abschnitt „First install with NixOS-anywhere“ überfliegen -
Optional:
colmena buildin der Dev-Shell
Üben
Retrieval
Wozu dient hive.nix?
Was bewirkt colmena apply (im Gegensatz zu build)?
Wann sind Disko und nixos-anywhere im Fokus?
Primärquelle
Colmena Manual,
docs/install.md,
hive.nix.
Kompakt: Referenz: Deploy-Pfad. Zusammenspiel mit CI, State und autoUpgrade: Lesson 0008.