Skip to content

weaveworks/tf-controller

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
api
April 15, 2023 11:03
April 15, 2023 11:03
January 19, 2022 17:07
April 15, 2023 11:03
April 15, 2023 11:03
April 15, 2023 11:03
June 23, 2022 12:28
May 20, 2022 13:45
December 19, 2021 14:45
February 22, 2022 00:03
April 1, 2022 16:50
February 1, 2022 00:47
April 15, 2023 11:03
April 15, 2023 11:03
April 24, 2023 17:33
April 27, 2023 10:14
April 26, 2023 18:08
October 17, 2022 23:03
October 9, 2022 00:32

Weave GitOps Terraform Controller

Weave GitOps Terraform Controller (aka Weave TF-controller) is a controller for Flux to reconcile Terraform resources in the GitOps way. With the power of Flux together with Terraform, TF-controller allows you to GitOps-ify infrastructure, and application resources, in the Kubernetes and Terraform universe, at your own pace.

"At your own pace" means you don't need to GitOps-ify everything at once.

TF-controller offers many GitOps models:

  1. GitOps Automation Model: GitOps your Terraform resources from the provision steps to the enforcement steps, like a whole EKS cluster.
  2. Hybrid GitOps Automation Model: GitOps parts of your existing infrastructure resources. For example, you have an existing EKS cluster. You can choose to GitOps only its nodegroup, or its security group.
  3. State Enforcement Model: You have a TFSTATE file, and you'd like to use GitOps enforce it, without changing anything else.
  4. Drift Detection Model: You have a TFSTATE file, and you'd like to use GitOps just for drift detection, so you can decide to do things later when a drift occurs.

Quickstart and documentation

To get started check out this guide on how to GitOps your Terraform resources with TF-controller and Flux.

Check out the documentation for a list of features and use cases.

Roadmap

Q3 2022

  • Performance
  • Scalability
  • Interop with Notification controller's Events and Alert
  • Validation webhooks for the planning stage

Q4 2022

  • CRD wrappers A new component model for Terraform modules
  • Dependency management for TF-controller objects
  • AWS package for TF-controller (e.g. EKS, RDS, etc.)
  • CLI for Weave GitOps

Q1 2023

  • v1alpha2 API
  • Flux v2.0.0-rc support
  • Better Terraform Cloud integration

Q2 2023

  • Write back and show plan in PRs (Atlantis-like experience)
  • Type safety for custom backends
  • Selectable Terraform versions
  • Flux v2.0.0 GA support

Q3 2023

  • v1beta1 API (stabilization)
  • Observability - logging from the different stages of the runner
  • CLI to GitOpsify existing Terraform workflows
  • Enhanced security (the lockdown mode)
  • External drift detector
  • Cloud cost estimation

Q4 2023

  • Azure package for TF-controller (e.g. AKS, CosmosDB, etc.)
  • GCP package for TF-controller (e.g. GKE, CloudSQL, etc.)
  • ARM64 & Gravitron support
  • Containerd compatibility verification

Q1 2024

  • v1beta2 API