core/onprem/vyos-template-seed¶
Epoch: 2026E
Purpose¶
Seed or discover a Proxmox VyOS template and publish reusable template state for downstream VyOS edge modules.
Why it exists¶
- VyOS template lifecycle should be state-first and idempotent.
- Operators need one default path that handles both "template already exists" and "template missing".
- Proxmox and Hetzner image consumption should share one canonical artifact contract where possible.
Required behaviour¶
- MUST support seed-or-skip behavior:
- if template exists and is valid, publish without rebuilding
- if missing and
seed_if_missing=true, seed fromartifact_state_refor explicitimage_source_url - if
rebuild_if_exists=true, rebuild template from scratch - MUST treat
artifact_state_refas the default image source and use explicitimage_source_urlonly as an override path. - MUST validate that a discovered or seeded template is cloud-init-ready for downstream
platform/onprem/vyos-edgeconsumption. - MUST fail clearly when a template exists but is not usable for first-boot cloud-init specialization.
- MUST publish at least:
template_keytemplate_vm_idtemplate_nametemplates- MUST fail clearly when no usable image source is available.
- MUST preserve env-scoped state semantics consistent with other foundational modules.
Product boundary¶
- This module owns Proxmox template seed/discovery and publication only.
- It MUST NOT own routed edge policy or BGP/IPsec configuration.
- It SHOULD be the default upstream for
platform/onprem/vyos-edge.