Terraform Controller is a Kubernetes controller that manages cloud resources through Terraform.
The tool solves the problem of provisioning and managing cloud infrastructure from within Kubernetes clusters. It works by embedding Terraform as a controller, allowing users to define cloud resources declaratively through Kubernetes manifests. This approach lets teams manage multi-cloud infrastructure using the same Kubernetes API and tooling they already use for container orchestration.
The controller supports a broad range of cloud providers including AWS, Azure, GCP, Alibaba Cloud, UCloud, Tencent Cloud, Baidu Cloud, VMware vSphere, and Elastic Cloud, as well as custom Terraform providers. It accepts Terraform configurations in HCL format. This breadth of provider support makes it suitable for organizations operating across multiple cloud platforms or those with hybrid infrastructure needs. Teams should choose this tool if they want to unify infrastructure management under Kubernetes rather than maintaining separate Terraform workflows, and if their infrastructure-as-code strategy benefits from being colocated with their application deployment definitions.
The project maintains active development with contributions from the core KubeVela team across multiple cloud provider integrations. Community contributors have added support for additional providers including Elastic Cloud, GCP, vSphere, UCloud, Tencent Cloud, and Baidu Cloud, indicating sustained engagement beyond the core maintainers. The project includes comprehensive documentation through getting started guides and design documentation, supporting both new users and contributors.