Config and Inventory
Most deployment drift is configuration drift.
Use explicit source-of-truth boundaries.
Canonical locations
inventory.yml: host identity and topologygroup_vars/all/*.yml: global non-secret defaultshost_vars/<host>.yml: host-specific non-secretsgroup_vars/env_<env>/vault.yml: secrets onlyvars/releases/<release_id>.yml: image refs/pins
Required SynckHub host identity
For each SynckHub inventory host define at least:
stack_idpublic_hostnameinfra_region
Hard rule
Do not define the same key in multiple places.
If a value appears to be ignored, check higher-precedence files first (especially Vault misuse for non-secrets).
Why this matters
Clean config boundaries are what make rollbacks and post-incident reasoning possible.