Was du nicht tun solltest
-target als Routine: zerschnittener Graph, Code und Realität divergieren, nur im Notfall.
State von Hand editieren: JSON-Chirurgie
korrumpiert Serial/Lineage, state-Kommandos
oder moved/removed nutzen.
count für benannte Objekte:
Löschen in der Mitte verschiebt Indizes, Nachbarn
werden zerstört/neu erzeugt. for_each
nehmen.
Provider/Module unpinned: nächstes
init zieht ein Major-Update in den Apply. Provider
pinnen + Lock-Datei committen; die Lock-Datei deckt
nur Provider ab, Modulversionen löst jedes frische
init neu auf, also exakt pinnen (version
bzw. ?ref=-Tag).
Secrets als Klartext-Variable: landen in State und Plan-Datei, ephemeral/write-only nutzen, State-Zugriff beschränken.
Workspaces als Prod-Trennung: ein Backend, eine Credential-Grenze für alles, getrennte Root-Module + Backends.
Apply ohne Plan-Artefakt in CI: zwischen
Review und Apply entsteht ein anderer Plan, immer
apply tfplan.
Monolith-Root-Modul: ein State für alles = maximaler Blast-Radius und träge Plans, nach Lebenszyklus/Team schneiden.
ignore_changes als Dauerpflaster: verdeckt Drift und echte Ownership-Fragen, klären, wer das Attribut verwaltet.