Extending GitOps Beyond Kubernetes with Terraform Controller
Weave GitOps Terraform Controller is a tool that manages Terraform resources, following the GitOps principles. Read this blog and watch the demo videos to learn all about it.
One Year of Weave GitOps Terraform Controller: Bringing True GitOps to Infrastructure as Code
AppsFlyer Improves Developer Productivity by 50% by Combining GitOps with Terraform IaC
Watch Weave GitOps Release Features: Trusted Application Delivery with Policy as Code, VScode and Terraform extensions for Flux
Organizations rely on numerous solutions apart from Kubernetes to assist in their cloud-native journey. One prominent tool used to provision and manage resources in the cloud is Terraform. However, there are numerous challenges to managing Terraform that can be addressed by Weave GitOps’ Terraform Controller.
What is Weave GitOps Terraform Controller?
Weave GitOps Terraform Controller is an operator pattern controller that manages Terraform resources, the GitOps way. It’s responsible for validating, planning, and applying Terraform descriptions of cloud resources.
The Terraform-managed cloud resources are then managed entirely through their lifecycle via a GitOps constant reconciliation loop. This can be done by following the steps below:
- Create HCL (Hashicorp Configuration Language) templates to be merged with a Kubernetes Custom Resource to produce valid Terraform HCL code.
- Commit the output HCL to Git to facilitate other mechanisms like the Flux Terraform Controller.
- Reuse the templates to deploy multiple instances with different specifics.
With the Terraform Controller, any of the Terraform modules are part of the GitOps flow. You can configure resources on any cloud (AWS, Azure, Google, etc), and different parts of the software stack including databases, networking, and security. The Terraform resources are continuously reconciled so that any drifts in the runtime away from the deployed resource will be alerted.
With Terraform Controller, you can:
- Use the Terraform Controller to create a managed database in AWS (during a GitOps application deployment).
- Detect drift in the runtime environment from the desired state (the plan) for any Terraform resource.
- Automate parts of your existing infrastructure resources using GitOps. For example, if you have an existing EKS cluster, you can choose to automate only its nodegroup, or its security group.
To learn more about the Terraform Controller, check out the documentation for a list of features and use cases. If you’re ready to GitOps your Terraform resources with the Terraform controller, this guide can help you get started.
AppsFlyer Improves Developer Productivity by 50% by combining GitOps with Terraform IaC.Read now
Weave GitOps Terraform Controller - A 15-Min Demo
James Wilson, Weaveworks Director of Product Management, recently demonstrated the features of the Terraform Controller in an episode of Jumpstart Lightning, hosted on the Azure Arc Jumpstart YouTube Channel.
In this 15 min demo, the host, Lior Kamrat, Principal Program Manager at the Azure Arc Platform, gives a brief overview of why developers need tools such as Terraform Controller. Following a short intro from Kamrat and Wilson, Kamrat briefly discusses how the developers are tasked to do more such as building their own infrastructure and creating their pipelines. The ensuing discussion revolves around the need to make application development safe, secure, and reliable.
This introduction was followed by a live demo (min. 4:57), showcasing how Weave GitOps and the Terraform Controller come together.
Build a Fully Automated Application Stack with Weave GitOps & Terraform Controller
Using the Weaveworks Terraform Controller, you can extend GitOps practices to all of these components outside of Kubernetes such as DNS records, Big Data, CDN, and IAM. This on-demand webinar “Terraform and Weave GitOps: Build a Fully Automated Application Stack” can show you how.
Watch the entire webinar to understand how Weave GitOps works with Kubernetes providing continuous deployment of microservice applications across multiple clusters, whether they are hosted on cloud providers, in your own data centers, or at the edge. Additionally, this webinar demos the Terraform Controller, enabling any Terraform resource to be continuously reconciled (automatically/manually) against configuration drift. It also features a “Getting Started” example and how you can get started today.
Get Started with Weave GitOps Terraform Controller
You can simplify and flatten the Terraform learning curve with Weave GitOps Terraform Controller. Download a free (forever) version today or book a demo to learn how Weaveworks can help you manage your Terraform resources, the GitOps way.