Skip to content

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-seed
  • core/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_key
  • artifact_url
  • artifact_format
  • artifact_version
  • artifact_sha256
  • source_iso_url
  • artifacts

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_url in seed modules as an explicit override path only.
  • Do not point this contract at a mutable latest URL.