← All missions

This mission turns VM work into a repeatable workflow: request, provision, configure, register, monitor, and route traffic.

It is useful for migrations, provider changes, or teams that still run important workloads outside Kubernetes and need the same discipline: reviewable changes, clear inventory, and no hidden manual steps.

When this is NOT a fit

  • You only create a few short-lived VMs per year and manual provisioning is already documented, reviewed, and low-risk.
  • The target platform, IP plan, naming scheme, or ownership model is still undecided.
  • Existing workloads cannot tolerate even planned cutovers, DNS changes, or load-balancer registration windows.
  • The organization wants a one-time lift-and-shift without keeping the automation as an operated product afterward.

Common failure modes we’ve seen

  • Terraform creates the VM, but inventory, DNS, monitoring, backup policy, and load-balancer registration still require tickets and manual edits.
  • Golden images drift from Ansible roles, so the first boot succeeds but patching, users, agents, and hardening differ by provider.
  • NetBox or Consul is treated as a secondary record instead of the source of truth, which breaks automation during migrations.
  • Cutover plans miss connection draining, health checks, or rollback triggers, causing avoidable incidents during otherwise simple moves.

What's included

  • Pipeline design: Git-triggered Terraform plan/apply across multiple providers with shared variable files (~80% common, ~20% provider-specific)
  • Dynamic inventory: Consul and NetBox as source of truth, new VMs auto-register on creation
  • Automated configuration: Ansible meta-playbook discovers unconfigured VMs via NetBox custom fields, runs the right playbook, marks as configured
  • Traffic cutover: HAProxy backends auto-register via Consul service discovery, new VMs receive traffic without manual intervention
  • Monitoring integration: Automatic registration into your monitoring stack (Centreon, Prometheus, or equivalent)
  • Migration execution: Planned VM migrations from vSphere, Proxmox upgrades, or cross-DC moves with minimal downtime

Deliverables

  • Fully functional Git-to-live-traffic VM delivery pipeline
  • Terraform multi-provider module templates (vSphere, Proxmox, OpenStack)
  • Ansible dynamic inventory integration with NetBox custom fields
  • HAProxy or load balancer auto-registration via Consul
  • Operational runbook for adding new VM types and providers
  • Migration playbook template for existing fleet

Tech stack

TerraformAnsibleConsulNetBoxJenkinsHAProxyCentreon

Want to scope this?

Think this fits your needs? Let's scope it together.