Operate Shared VyOS Image Artifact Contract (HyOps)¶
Purpose¶
Publish a single pinned VyOS disk artifact URL and provenance into HyOps state, then let both:
core/onprem/vyos-template-seedcore/hetzner/vyos-image-seed
consume that state by default.
This keeps the product DRY:
- build once
- publish once
- consume many
Example¶
cd /home/user/hybridops-studio/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 a pinned artifact 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.