https://github.com/fluxcd/kustomize-controller
The GitOps Toolkit Kustomize reconciler
https://github.com/fluxcd/kustomize-controller
gitops-toolkit
Last synced: 8 months ago
JSON representation
The GitOps Toolkit Kustomize reconciler
- Host: GitHub
- URL: https://github.com/fluxcd/kustomize-controller
- Owner: fluxcd
- License: apache-2.0
- Created: 2020-04-15T05:57:38.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-05-07T17:00:23.000Z (8 months ago)
- Last Synced: 2025-05-07T17:44:28.266Z (8 months ago)
- Topics: gitops-toolkit
- Language: Go
- Homepage: https://fluxcd.io
- Size: 4.52 MB
- Stars: 263
- Watchers: 15
- Forks: 203
- Open Issues: 90
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# kustomize-controller
[](https://bestpractices.coreinfrastructure.org/projects/4787)
[](https://github.com/fluxcd/kustomize-controller/actions)
[](https://goreportcard.com/report/github.com/fluxcd/kustomize-controller)
[](https://github.com/fluxcd/kustomize-controller/blob/main/LICENSE)
[](https://github.com/fluxcd/kustomize-controller/releases)
The kustomize-controller is a [Flux](https://github.com/fluxcd/flux2) component,
specialized in running continuous delivery pipelines for infrastructure and workloads
defined with Kubernetes manifests and assembled with Kustomize.
The cluster desired state is described through a Kubernetes Custom Resource named `Kustomization`.
Based on the creation, mutation or removal of a `Kustomization` resource in the cluster,
the controller performs actions to reconcile the cluster current state with the desired state.

## Features
* watches for `Kustomization` objects
* fetches artifacts produced by [source-controller](https://github.com/fluxcd/source-controller) from `Source` objects
* watches `Source` objects for revision changes
* generates the `kustomization.yaml` file if needed
* generates Kubernetes manifests with Kustomize SDK
* decrypts Kubernetes secrets with Mozilla SOPS and KMS
* validates the generated manifests with Kubernetes server-side apply dry-run
- detects drift between the desired and state and cluster state
- corrects drift by patching objects with Kubernetes server-side apply
* prunes the Kubernetes objects removed from source
* checks the health of the deployed workloads
* runs `Kustomizations` in a specific order, taking into account the depends-on relationship
* notifies whenever a `Kustomization` status changes
## Specifications
* [API](docs/spec/v1/README.md)
* [Controller](docs/spec/README.md)
## Guides
* [Get started with Flux](https://fluxcd.io/flux/get-started/)
* [Setup Notifications](https://fluxcd.io/flux/guides/notifications/)
* [Manage Kubernetes secrets with Flux and Mozilla SOPS](https://fluxcd.io/flux/guides/mozilla-sops/)
* [How to build, publish and consume OCI Artifacts with Flux](https://fluxcd.io/flux/cheatsheets/oci-artifacts/)
* [Flux and Kustomize FAQ](https://fluxcd.io/flux/faq/#kustomize-questions)
## Roadmap
The roadmap for the Flux family of projects can be found at .
## Contributing
This project is Apache 2.0 licensed and accepts contributions via GitHub pull requests.
To start contributing please see the [development guide](DEVELOPMENT.md).