← Back to blog

A question we get is whether kcore is the only tool that turns a VMware estate into Terraform. It is not. Plenty of products move VMware virtual machines, and some of them write Terraform. Almost none of them write Terraform for a hypervisor that is not VMware.

The names get mixed together because each one is called a migration tool. They do three different jobs.

Three routes leaving one inventory: one stays put, one ends at a disk, one ends at a document and a disk
Three routes from one inventory: stay and describe it, move the disks, or write Terraform for another hypervisor. The indigo route is the third.

Stay on VMware, and describe it in Terraform

The official vSphere provider manages virtual machines, networks, and datastores that remain on vSphere. You can import a VM you already know by inventory path, and terraform plan -generate-config-out will sketch HCL from that import. The guest does not leave VMware. The provider still does not list a whole estate for you. Operators enumerate with govc or PowerCLI, then write the import blocks.

Terraformer is the tool people mean when they say “turn live infrastructure into Terraform.” It never really supported vSphere, and Google archived the repository on 16 March 2026. Articles that show a terraformer import vsphere command are describing a command that is not in the tool.

Leave VMware, without writing Terraform

This is the crowded category, and it is the one that actually copies disks.

Several of those destinations can later be represented in Terraform. The migrator itself lands the VM as a disk, a YAML object, or a cloud instance.

Leave VMware, and emit Terraform for the destination

This is the thin slice. A few small generators aim at Azure. There is no maintained product that inventories vCenter and emits Terraform for another on-prem hypervisor. That is the gap kcore-migrate is written for.

It reads a vCenter, or a Proxmox cluster, and writes guests.tf for the kcore Terraform provider, plus a gaps.md for anything the provider cannot express yet. convert then calls virt-v2v or qemu-img on a disk you have already exported. It does not pull disk bytes out of vCenter. Forklift does that pull. kcore-migrate does not.

The practical order is the same one the diagram shows. Inventory the estate. Read the gaps. Convert an exported disk to qcow2 or raw. Apply the Terraform. A whole-estate cutover is still a project. The commands are in the import guide.