deployment.json is the input to tofu-proxmox. It is not state and it is not
an Ansible inventory. A versioned object in the homelab S3-compatible store is
authoritative; local files are temporary.
Stores and ownership
The published inventory carries shared proxy URL lists undercache_proxy_urls. The inventory assembly
derives them from capability-tagged guest FQDNs, so consumers use one
published endpoint list.
ACID guarantees
Rules
- Never commit the live object or create
terraform.tfvarsbeside it. - Never fall back to
{}when the object cannot be read. - Compare the object version when writing so concurrent edits fail cleanly.
- Run
tofu state listbefore adopting an existing resource; its key must match the desired-state key. - Run a targeted apply through the gated targeted path. Its plan must destroy nothing. A targeted run that leaves out the inventory object does not publish inventory. See the targeted-apply runbook.
- Provider and object-store credentials are not workspace secret variables.