Reihenfolge (DNS)
1. öffentlichen Record in net/dns/groupdir.de.nix ändern
(Lab *.lab → net/lab/hosts/, nicht hier)
2. nix eval --json --file tofu/dns/records.tf.json.nix \
> tofu/dns/generated-records.tf.json
3. tofu -chdir=tofu/dns init -backend=false
tofu -chdir=tofu/dns validate # ohne Token möglich
4. tofu -chdir=tofu/dns init # Backend + Provider
5. tofu -chdir=tofu/dns plan -out=tfplan # braucht Token
6. tofu -chdir=tofu/dns apply tfplan # mit Vorsicht
Begriffe
- Plan: Vorschau, ändert Reality nicht allein
- Apply: führt den Plan aus
- State: Buchführung der verwalteten Objekte
- Provider: hier u. a.
hetznercloud/hcloud
Nicht von Hand
tofu/dns/generated-records.tf.json: nur generiert.
Öffentliche Quelle: net/dns/groupdir.de.nix (inkl.
gemergter Lab-Records mit scope public/both). Lab-Alltag
bleibt net/lab/hosts/.
Auth
export HETZNER_DNS_TOKEN=...
# oder uncommitted:
# tofu/dns/secrets.auto.tfvars → hcloud_token = "..."
just als Shortcut
just tofu-dns-generate usw. mappt 1:1 auf die Befehle
oben. Validate in just nutzt zusätzlich ein temporäres
TF_DATA_DIR.
Stacks
tofu/dns: öffentliches DNS-
tofu/proxmox: dieselbentofu -chdir=tofu/proxmox …-Schritte