Einleitung
Nach DNS
(Lesson 0002)
kommt öffentliches DNS bei Hetzner über den Stack unter
tofu/. Bevor du Plan und Apply übst, brauchst du das
mentale Modell: deklarative Infra, State, und das Verhältnis
Terraform ↔ OpenTofu.
Primärquellen: OpenTofu Getting started und die Linux-Foundation-Ankündigung zu OpenTofu.
Was Terraform / OpenTofu tun
Beide sind Infrastructure as Code: Du beschreibst den gewünschten Zustand von Cloud- und API-Ressourcen in Dateien (bei uns HCL bzw. generierte JSON). Das Tool spricht über Provider mit den APIs und bringt Reality in Richtung Config.
Kern-Workflow (Write → Plan → Apply), siehe OpenTofu Intro:
- Write: Ressourcen in Config deklarieren
- Plan: Vorschau, was sich ändern würde (ohne Apply)
- Apply: genehmigte Änderungen ausführen
Der State merkt, welche Remote-Objekte das Tool bereits verwaltet. Ohne State wüsste es nicht, was „schon da“ ist.
Besonderheiten (Merkliste)
- Deklarativ: Du beschreibst den Soll-Zustand, nicht eine Shell-Checkliste „erst create, dann update“.
- Plan vor Apply: Änderungen sind reviewbar; nichts muss blind gegen die API laufen.
- State als Buchführung: Drift und versehentliches Doppel-Anlegen werden darüber erkennbar (vorsichtig mit manuellem Klicken in der Cloud-Konsole).
-
Provider: Ein Plugin pro API. In
groupdir-infrau. a. Hetzner für öffentliches DNS. - Nicht für NixOS-Hosts: Server-Config und Deploy laufen über Nix/Colmena. Terraform hier vor allem für externe APIs (DNS, Proxmox-Bootstrap).
Warum Terraform und OpenTofu?
Lange war Terraform (HashiCorp) unter einer echten Open-Source-Lizenz (MPL) der De-facto-Standard. 2023 stellte HashiCorp die Lizenz auf die Business Source License (BSL) um. Daraufhin forkte die Community den letzten MPL-Stand zu OpenTofu und brachte das Projekt unter die Linux Foundation (Neutrale Governance, wieder klar open source unter MPL).
Kurz: zwei Produkte, gemeinsamer Ursprung. Terraform bleibt das HashiCorp-Produkt (BSL). OpenTofu ist der community-getriebene Fork. Für den Alltag im Kurs reicht: dieselben Konzepte (State, Plan, Apply, Provider, HCL).
Drop-in Replacement
OpenTofu ist als
Drop-in Replacement für typische Terraform-Workflows
gedacht: bestehende Configs und der Write/Plan/Apply-Ablauf bleiben
weitgehend gleich; die ausführbare Datei heißt
tofu statt terraform.
Deshalb sprechen die Lessons von Terraform-Begriffen
(wie in vielen Docs und Jobanzeigen), während
groupdir-infra in der Dev-Shell
opentofu / tofu liefert. Du lernst ein
Vokabular, bedienst die CLI, die im Repo wirklich liegt.
Üben
Retrieval
Was beschreibt der IaC-Ansatz von Terraform/OpenTofu?
Warum gibt es OpenTofu zusätzlich zu Terraform?
Was meint „Drop-in Replacement“ für diesen Kurs?
Primärquelle
OpenTofu Getting started und Linux Foundation: Announcing OpenTofu.
Kompakt im Glossar: Terraform.