Operate Shared VyOS Published Image Contract (HyOps)¶
Purpose¶
Register a single pinned VyOS disk image URL and provenance into HyOps state, then let both:
core/onprem/vyos-template-seedcore/hetzner/vyos-image-seed
consume that state by default.
This is the compatibility path for cases where the image already exists.
The default product path is now:
- build and publish with
core/shared/vyos-image-build - consume that state contract downstream
Use this module when you intentionally want to skip the build step and only publish the contract.
This still keeps the product DRY:
- build once
- publish once
- consume many
Example¶
cd /home/user/hybridops-tech/hybridops-core
./.venv/bin/hyops validate --env dev --skip-preflight \
--module core/shared/vyos-image-artifact \
--inputs modules/core/shared/vyos-image-artifact/examples/inputs.min.yml
./.venv/bin/hyops apply --env dev \
--module core/shared/vyos-image-artifact \
--inputs modules/core/shared/vyos-image-artifact/examples/inputs.min.yml
Outputs¶
The module publishes:
artifact_keyartifact_urlartifact_formatartifact_versionartifact_sha256source_iso_urlartifacts
Typical downstream reference:
artifact_state_ref: "core/shared/vyos-image-artifact#vyos_default"
artifact_key: "vyos-1.5"
Notes¶
- Prefer
core/shared/vyos-image-buildfor normal operator workflows. - Prefer a pinned image you control in object storage.
- Keep
image_source_urlin seed modules as an explicit override path only. - Do not point this contract at a mutable
latestURL.