Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flux-iac/tofu-controller
A GitOps OpenTofu and Terraform controller for Flux
https://github.com/flux-iac/tofu-controller
flux fluxcd gitops kubernetes terraform
Last synced: 1 day ago
JSON representation
A GitOps OpenTofu and Terraform controller for Flux
- Host: GitHub
- URL: https://github.com/flux-iac/tofu-controller
- Owner: flux-iac
- License: apache-2.0
- Created: 2021-12-21T11:42:43.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-04T05:23:03.000Z (about 1 month ago)
- Last Synced: 2024-11-09T06:13:46.449Z (about 1 month ago)
- Topics: flux, fluxcd, gitops, kubernetes, terraform
- Language: Go
- Homepage: https://flux-iac.github.io/tofu-controller/
- Size: 13.9 MB
- Stars: 1,298
- Watchers: 41
- Forks: 137
- Open Issues: 142
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-opentofu - tofu-controller - GitOps OpenTofu and Terraform controller for Flux. (Tools / CI)
- awesome-repositories - flux-iac/tofu-controller - A GitOps OpenTofu and Terraform controller for Flux (Go)
README
# Tofu Controller: An IAC Controller for Flux
[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7761/badge)](https://bestpractices.coreinfrastructure.org/projects/7761)
Tofu Controller (previously known as Weave TF-Controller) is a controller for [Flux](https://fluxcd.io) to reconcile OpenTofu and Terraform resources
in the GitOps way.
With the power of Flux together with OpenTofu and Terraform, Tofu Controller allows you to GitOps-ify infrastructure,
and application resources, in the Kubernetes and IAC universe, at your own pace."At your own pace" means you don't need to GitOps-ify everything at once.
Tofu Controller offers many GitOps models:
1. **GitOps Automation Model:** GitOps your OpenTofu and 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.## Get in touch
If you have a feature request to share or a bug to report, please file an issue. You can also reach out via our [Tofu Controller Slack channel](https://weave-community.slack.com/archives/C054MR4UP88) — get there by first joining the [Weave Community Slack space](https://weave-community.slack.com).
## Quickstart and documentation
To get started check out this [guide](https://flux-iac.github.io/tofu-controller/getting_started/) on how to GitOps your Terraform resources with Tofu Controller and Flux.
Check out the [documentation](https://flux-iac.github.io/tofu-controller/) and [use cases](https://flux-iac.github.io/tofu-controller/use-tf-controller/).