Blueprint Index¶
Operator entry point: copy a blueprint with hyops blueprint init --env <env> --ref <blueprint_ref>, then run the env-local file with hyops blueprint deploy --env <env> --file <runtime-blueprint>.yml --execute
Normative references¶
Blueprints¶
26 blueprints sourced from hybridops-core/blueprints/.
Blueprint details¶
DR¶
dr/postgresql-cloudsql-failback-onprem@v1 ¶
Details
Description Require explicit acknowledgement that the managed cloud primary has been fenced and the on-prem PostgreSQL HA lane has been rebuilt or reseeded, then cut the stable PostgreSQL service endpoint back on-prem.
Outcome Application traffic is redirected back to the on-prem PostgreSQL HA endpoint after a controlled managed-cloud DR event.
Steps
failback_gate→core/shared/manual-gatedeploypostgresql_dns_cutback→platform/network/dns-routingdeploypostgresql_dns_status→platform/network/dns-routingdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
dr/postgresql-cloudsql-promote-gcp@v1 ¶
Details
Description Require explicit operator fencing and provider-native promotion acknowledgement, then cut the stable PostgreSQL service endpoint to the managed GCP standby.
Outcome Application traffic is redirected to the managed GCP PostgreSQL endpoint after an operator confirms promotion and source fencing.
Steps
managed_standby_status→org/gcp/cloudsql-external-replicadeploypromotion_gate→core/shared/manual-gatedeploypostgresql_dns_cutover→platform/network/dns-routingdeploypostgresql_dns_status→platform/network/dns-routingdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
dr/postgresql-cloudsql-standby-gcp@v1 ¶
Details
Description Assess the on-prem source contract and establish the managed Cloud SQL external replication lane without cutting application traffic.
Outcome A managed standby lane exists in GCP and publishes the same client-facing endpoint contract used by the self-managed PostgreSQL HA lane.
Steps
postgresql_source_contract→platform/onprem/postgresql-dr-sourcedeploycloudsql_managed_standby→org/gcp/cloudsql-external-replicadeploymanaged_standby_status→org/gcp/cloudsql-external-replicadeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
dr/postgresql-ha-backup-gcp@v1 ¶
Details
Description Provision a GCS object repository and configure pgBackRest backups for an existing on-prem PostgreSQL HA cluster by consuming module state contracts rather than duplicating bucket or host IP details.
Outcome The on-prem PostgreSQL HA cluster is wired to a GCS-backed pgBackRest repository and publishes backup readiness outputs.
Steps
gcp_backup_repo→org/gcp/object-repodeploypostgresql_ha_backup→platform/postgresql-ha-backupdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
dr/postgresql-ha-failback-onprem@v1 ¶
Details
Description Rebuild an on-prem Patroni + etcd PostgreSQL HA cluster on a shared SDN foundation and restore from a pgBackRest repository. This blueprint is intended for controlled failback after a cloud failover.
Outcome On-prem PostgreSQL HA is restored from backups and publishes standard DB connection outputs.
Steps
template_image_rocky9→core/onprem/template-imagedeploypostgres_ha_vms→platform/onprem/platform-vmdeploypostgresql_restore→platform/postgresql-hadeploypostgresql_backup_config→platform/postgresql-ha-backupdeploypostgresql_dns_cutover→platform/network/dns-routingdeploypostgresql_dns_status→platform/network/dns-routingdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
dr/postgresql-ha-failover-gcp@v1 ¶
Details
Description Provision GCP VMs, then restore a Patroni + etcd PostgreSQL cluster from pgBackRest (S3/GCS) backups. This blueprint does not modify the on-prem primary cluster; it assumes DR conditions and requires explicit restore confirmation.
Outcome A new PostgreSQL primary is restored in GCP and publishes standard DB connection outputs.
Steps
gcp_pg_egress→org/gcp/wan-cloud-natdeploygcp_pg_vms→platform/gcp/platform-vmdeploypostgresql_restore→platform/postgresql-hadeploypostgresql_backup_config→platform/postgresql-ha-backupdeploypostgresql_dns_cutover→platform/network/dns-routingdeploypostgresql_dns_status→platform/network/dns-routingdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
GCP¶
gcp/eve-ng@v1 ¶
Details
Description Provision a single nested-virtualization-capable GCP VM and configure EVE-NG over IAP.
Outcome A private EVE-NG host exists in GCP and is configured for governed lab use.
Steps
gcp_eve_ng_vm→platform/gcp/platform-vmdeploygcp_eve_ng_config→platform/linux/eve-ngdeploygcp_eve_ng_healthcheck→platform/linux/eve-ng-healthcheckdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
gcp/gke-burst@v1 ¶
Details
Description Creates a governed GKE burst cluster on the shared hub network, fetches kubeconfig, then bootstraps Argo CD against the public burst workloads target.
Outcome A burst-ready GKE cluster is available, rooted on the public workloads baseline under clusters/burst.
Steps
gke_burst_cluster→platform/gcp/gke-clusterdeploygke_burst_kubeconfig→platform/gcp/gke-kubeconfigdeploygitops_workloads→platform/k8s/argocd-bootstrapdeploygke_burst_secret_store→platform/k8s/gcp-secret-storedeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
gcp/linux-desktop@v1 ¶
Details
Description Provision an Ubuntu 22.04 GCP VM with a public IP, open RDP and SSH, and configure XFCE4 + XRDP for remote desktop access.
Outcome An Ubuntu VM is running in GCP with XFCE4 and XRDP installed. Connect via any RDP client on port 3389.
Steps
gcp_linux_desktop_firewall→platform/gcp/vm-firewall-rulesdeploygcp_linux_desktop_vm→platform/gcp/platform-vmdeploygcp_linux_desktop_config→platform/linux/desktop-xrdpdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
gcp/windows-desktop@v1 ¶
Details
Description Provision a Windows Server GCP VM with a public IP and RDP access scoped to allowed source ranges.
Outcome A Windows Server VM is running in GCP with a public IP. RDP is open only to the specified source ranges via a dedicated firewall rule.
Steps
gcp_windows_vm→platform/gcp/platform-vmdeploygcp_windows_firewall→platform/gcp/vm-firewall-rulesdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
Networking¶
networking/edge-control-plane@v1 ¶
Details
Description Provision edge WAN foundations, configure edge routing, bootstrap observability, and deploy decision control loop.
Outcome Edge control plane is ready for deterministic DR/burst signaling.
Steps
vyos_artifact_build→core/shared/vyos-image-builddeployvyos_image→core/hetzner/vyos-image-seeddeployhetzner_shared_network→org/hetzner/shared-private-networkdeployhetzner_edge_foundation→org/hetzner/vyos-edge-foundationdeploygcp_wan_hub_network→org/gcp/wan-hub-networkdeploygcp_wan_cloud_router→org/gcp/wan-cloud-routerdeploygcp_wan_vpn_to_edge→org/gcp/wan-vpn-to-edgedeployshared_control_host→org/hetzner/shared-control-hostdeployedge_control_runner→platform/linux/ops-runnerdeployvyos_edge_day2→platform/network/vyos-edge-wandeployedge_observability→platform/network/edge-observabilitydeploydns_routing_intent→platform/network/dns-routingdeploydecision_service→platform/network/decision-servicedeploydecision_dispatcher→platform/network/decision-dispatcherdeploydecision_consumer→platform/network/decision-consumerdeploydecision_executor→platform/network/decision-executordeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
networking/gcp-ops-runner@v1 ¶
Details
Description Provision a private GCP runner VM in the hub core subnet for runner-local DR and burst execution.
Outcome A shared execution host exists inside the GCP hub VPC and can be used by CI or decision-driven DR workflows.
Steps
gcp_ops_runner_egress→org/gcp/wan-cloud-natdeploygcp_ops_runner_vm→platform/gcp/platform-vmdeploygcp_ops_runner_bootstrap→platform/linux/ops-runnerdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
networking/hetzner-vyos-edge@v1 ¶
Details
Description Seed or discover a Hetzner VyOS image and provision the routed Hetzner edge pair as the default WAN edge path.
Outcome A VyOS-based Hetzner routed edge pair is available for future IPsec/BGP integration.
Steps
vyos_artifact_build→core/shared/vyos-image-builddeployvyos_image→core/hetzner/vyos-image-seeddeployhetzner_shared_network→org/hetzner/shared-private-networkdeployhetzner_vyos_edge→org/hetzner/vyos-edge-foundationdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
networking/onprem-ops-runner@v1 ¶
Details
Description Provision and bootstrap an on-prem runner VM for runner-local failback and steady-state platform operations.
Outcome A shared execution host exists on the on-prem management network and can be used for failback or local platform workflows.
Steps
template_image_ubuntu_22_04→core/onprem/template-imagedeployonprem_ops_runner_vm→platform/onprem/platform-vmdeployonprem_ops_runner_bootstrap→platform/linux/ops-runnerdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
networking/onprem-site-extension@v1 ¶
Details
Description Extend the static Hetzner Site-A edge pair back into the on-prem VyOS edge using a dual-tunnel site-extension layer.
Outcome The on-prem VyOS edge exchanges approved prefixes with the Hetzner edge pair inside Site-A ASN 65010.
Steps
site_extension_edge→platform/network/vyos-site-extension-edgedeploysite_extension_onprem→platform/network/vyos-site-extension-onpremdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
networking/onprem-vyos-edge@v1 ¶
Details
Description Seed or discover a Proxmox VyOS template and provision a VyOS edge VM on Proxmox using the shared VM lifecycle.
Outcome A VyOS edge appliance is provisioned on Proxmox with state-first template resolution and env-prefixed VM naming.
Steps
vyos_template→core/onprem/vyos-template-seeddeployvyos_edge_vm→platform/onprem/vyos-edgedeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
networking/powerdns-onprem-secondary@v1 ¶
Details
Description Provision an on-prem read-only internal DNS secondary on the shared on-prem runner host.
Outcome An on-prem PowerDNS secondary serves replicated hyops.internal data for local resolution resilience.
Steps
powerdns_secondary→platform/network/powerdns-authoritydeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
networking/powerdns-shared-primary@v1 ¶
Details
Description Deploy the writable internal DNS authority on the existing Hetzner shared control host.
Outcome PowerDNS primary serves hyops.internal from the existing shared control host and exposes the API for DNS cutover automation.
Steps
powerdns_primary→platform/network/powerdns-authoritydeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
networking/wan-hub-edge@v1 ¶
Details
Description Provision Hetzner VyOS edge peers, GCP hub networking, and HA VPN/BGP between the cloud hub and routed edge.
Outcome Deterministic BGP/IPsec control plane between GCP Cloud Router and Hetzner VyOS edge peers.
Steps
vyos_artifact_build→core/shared/vyos-image-builddeployvyos_image→core/hetzner/vyos-image-seeddeployhetzner_edge_foundation→org/hetzner/vyos-edge-foundationdeploygcp_wan_hub_network→org/gcp/wan-hub-networkdeploygcp_wan_cloud_router→org/gcp/wan-cloud-routerdeploygcp_wan_vpn_to_edge→org/gcp/wan-vpn-to-edgedeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
On-Prem¶
onprem/authoritative-foundation@v1 ¶
Details
Description Day-1+ chain where NetBox state gates IPAM-driven platform VM expansion. Non-foundation steps are optional until inputs are finalized.
Outcome Subsequent platform services provision from authoritative NetBox-backed intent.
Steps
network_sdn→core/onprem/network-sdndeploynetbox_foundation→platform/onprem/netboxdeploycontrol_plane_vm→platform/onprem/platform-vmdeploypostgres_core_vm→platform/onprem/postgresql-coredeploycustom_platform_vm→platform/onprem/platform-vmdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
onprem/bootstrap-netbox@v1 ¶
Details
Description Bootstrap SDN, build a base template image, provision pgcore/netbox VMs, then configure PostgreSQL and NetBox.
Outcome NetBox is online and ready to become authoritative IPAM/inventory.
Steps
network_sdn→core/onprem/network-sdndeploytemplate_image_ubuntu→core/onprem/template-imagedeployplatform_vms→platform/onprem/platform-vmdeploypgcore→platform/onprem/postgresql-coredeploynetbox→platform/onprem/netboxdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
onprem/eve-ng@v1 ¶
Details
Description Consume shared SDN/NetBox authority, build a Jammy template image (if needed), provision the EVE-NG VM, then configure EVE-NG.
Outcome EVE-NG is installed and reachable.
Steps
template_image_jammy→core/onprem/template-imagedeployeve_ng_vm→platform/onprem/platform-vmdeployeve_ng_config→platform/linux/eve-ngdeployeve_ng_healthcheck→platform/linux/eve-ng-healthcheckdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
onprem/netbox-ha-cutover@v1 ¶
Details
Description Re-apply NetBox so it consumes the PostgreSQL HA DB contract from state.
Outcome NetBox uses platform/postgresql-ha outputs (apps.netbox.db_*) instead of bootstrap pgcore.
Steps
netbox_cutover→platform/onprem/netboxdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
onprem/postgresql-ha@v1 ¶
Details
Description Consume shared SDN/NetBox authority, ensure a Rocky 9 template exists, provision Postgres nodes, then deploy Patroni + etcd. Cloud DR replica is out-of-scope for this blueprint.
Outcome HA PostgreSQL cluster is deployed and publishes connection outputs for downstream services.
Steps
template_image_rocky9→core/onprem/template-imagedeploypostgres_ha_vms→platform/onprem/platform-vmdeploypostgresql_ha→platform/postgresql-hadeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
onprem/rke2-workloads@v1 ¶
Details
Description Consume shared SDN/NetBox authority, build template image, provision RKE2 VMs, install RKE2, then bootstrap Argo CD root workloads app.
Outcome RKE2 is ready, Argo CD root application points to the workloads repo, and the GSM service account secret is provisioned for External Secrets Operator.
Steps
template_image_rocky9→core/onprem/template-imagedeployrke2_vms→platform/onprem/platform-vmdeployrke2_cluster→platform/onprem/rke2-clusterdeploygitops_workloads→platform/k8s/argocd-bootstrapdeploygsm_bootstrap→platform/k8s/gsm-bootstrapdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub
onprem/rke2@v1 ¶
Details
Description Consume shared SDN/NetBox authority, build a base template image, provision RKE2 VMs, then install RKE2.
Outcome RKE2 is installed and kubeconfig is exported for operators.
Steps
template_image_rocky9→core/onprem/template-imagedeployrke2_vms→platform/onprem/platform-vmdeployrke2_cluster→platform/onprem/rke2-clusterdeploy
Runbook: View runbook
Source: blueprint.yml on GitHub