Referenz

Terraform-Workflow

Native tofu-Befehle für öffentlichen DNS. Begriffe: Terraform; CLI: OpenTofu (Drop-in). Siehe Lesson 0003.

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: dieselben tofu -chdir=tofu/proxmox …-Schritte