Status: IN
`ftl.state.add()` persists resource metadata to the state file and `ftl.state.remove()` cleans it up, enabling idempotent re-runs and cross-run resource tracking.
Source: entries/2026/05/11/examples-09-hetzner-example_hetzner_web_stack.md
# From ftl2-servercraft/scripts/neoforge.py — persist after provisioning
ftl.state.add(config.name, {
"provider": "linode",
"id": result["instance"]["id"],
"ipv4": result["instance"]["ipv4"],
"label": config.name,
"type": config.linode_type,
"region": config.linode_region,
})
# From neoforge.py destroy() — clean up after teardown
ftl.state.remove(config.name)