chore(decommission): rustfs import shims — destroy via tofu (stage 1/2) #268

Merged
k.renner merged 1 commits from chore/rustfs-import-adopt into master 2026-07-16 19:01:07 +00:00
Member

Correcting my earlier suggestion of manual pct destroy — owner rule: all guest lifecycle goes through tofu, no manual destroys ever.

The rustfs trio (LXC 800 saturn / 801 jupiter / 802 neptune) was never tofu-managed, so #265 could not destroy it. This is stage 1: adopt into state — minimal resource shims with lifecycle { ignore_changes = all } and started = false (tofu must never reconcile or start these, only own their destruction).

After merge I trigger the import via the pipeline's TOFU_IMPORT hook, verify the plan is a no-op for the shims, then open stage 2 (delete the file → apply destroys the containers via the pipeline, same flow as #265).

tofu validate passes (init -backend=false).

🤖 Generated with Claude Code

https://claude.ai/code/session_01NV7bZzZLeoFUEdAeCSLEei

Correcting my earlier suggestion of manual pct destroy — owner rule: **all guest lifecycle goes through tofu, no manual destroys ever**. The rustfs trio (LXC 800 saturn / 801 jupiter / 802 neptune) was never tofu-managed, so #265 could not destroy it. This is **stage 1: adopt into state** — minimal resource shims with `lifecycle { ignore_changes = all }` and `started = false` (tofu must never reconcile or start these, only own their destruction). After merge I trigger the import via the pipeline's TOFU_IMPORT hook, verify the plan is a no-op for the shims, then open **stage 2** (delete the file → apply destroys the containers via the pipeline, same flow as #265). `tofu validate` passes (init -backend=false). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01NV7bZzZLeoFUEdAeCSLEei
claude-bot added 1 commit 2026-07-16 17:27:51 +00:00
Owner rule: ALL guest lifecycle goes through tofu; no manual pct/qm
destroy, by anyone. The rustfs trio (800/801/802) was never
tofu-managed, so the #265 sweep could not reach it. Stage 1 adopts the
stopped containers into state (pipeline TOFU_IMPORT hook, commands in
the file header); stage 2 deletes this file and the apply destroys
them.

lifecycle ignore_changes=all + started=false keep the shims inert:
tofu must never reconcile or start these, only own their destruction.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NV7bZzZLeoFUEdAeCSLEei
k.renner merged commit 182bf8f5df into master 2026-07-16 19:01:07 +00:00
Sign in to join this conversation.