platform/onprem/vyos-edge¶
Epoch: 2026E
Purpose¶
Provision and publish a VyOS routed edge appliance on Proxmox by specializing the existing Proxmox VM lifecycle and injecting first-boot VyOS configuration.
Why it exists¶
- HybridOps needs a first-class routed edge default that matches the accepted VyOS architecture.
- VyOS should reuse the existing Proxmox VM lifecycle rather than introducing a second generic VM stack.
Required behaviour¶
- MUST consume template state from
core/onprem/vyos-template-seedby default. - MUST allow
core/onprem/vyos-template-importas an explicit compatibility override when template lifecycle is managed outside HyOps. - MUST reuse
platform/onprem/platform-vmsemantics for: - naming
- env prefixing
- state publication
- VM identity outputs
- MUST publish routed edge identity outputs such as:
- management IP
- loopback/router ID
- ASN
- tunnel endpoints
- interface map
- MUST require explicit cloud-init payload inputs and fail validation when any are missing:
cloud_init_user_datacloud_init_network_data(network v1 withversionandconfig)cloud_init_meta_data(instance-idandlocal-hostname)- MUST fail validation when
eth1is configured as a static LAN address in first-boot bootstrap intent. - MUST allow
eth1DHCP intent when the edge is expected to receive transit addressing dynamically. - MUST support state-first configuration and fail clearly if required upstream template or addressing state is absent.
Product boundary¶
- This module owns VM specialization and initial VyOS bootstrap intent.
- Day-2 route policy, IPsec, and BGP validation MAY be handled by dedicated network automation modules or blueprints.
- It MUST NOT replace the shared Linux control-plane host model.