Use Environment-Scoped Blueprint Overlays as the Operator Configuration¶
Status¶
Accepted: An initialised blueprint under the selected runtime environment is the normal operator configuration. Shipped blueprints remain immutable release defaults.
Context¶
An environment must resolve the same intent throughout validation, execution, access, recovery, and release. Image sources, access policy, network selection, recovery behaviour, and target metadata therefore need an environment-owned configuration identity. Editing the installed release makes that identity difficult to audit, loses it during updates, and couples environments together.
Decision¶
hyops blueprint init copies a shipped blueprint into the selected environment.
Later blueprint commands resolve that overlay automatically. hyops blueprint
edit opens the environment copy. An explicit --file remains available for an
intentional override, but it is not the normal operating path.
The runtime enforces the selected environment boundary when resolving an overlay. A missing overlay produces an actionable error rather than falling back to an unrelated local file.
Consequences¶
Positive¶
- Release updates do not replace operator configuration.
- Each environment has an explicit, reviewable intent source.
- Validate, preflight, deploy, access, rebuild, and destroy resolve the same environment contract.
Negative¶
- Operators must manage changes to the environment overlay deliberately.
- Reinitialising with
--forcecan replace local settings and therefore requires an explicit action.
Alternatives considered¶
- Edit the installed blueprint: rejected because updates replace the install tree and several environments would share one mutable file.
- Require
--filefor every command: rejected because repeated path selection is error-prone and weakens environment identity.
Operational impact¶
Initialise once, edit the environment copy, then run normal blueprint commands
with --env and --ref.