kustomize-controller
The kustomize-controller is a Flux 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
Kustomizationobjects - fetches artifacts produced by source-controller from
Sourceobjects - watches
Sourceobjects for revision changes - generates the
kustomization.yamlfile 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
Kustomizationsin a specific order, taking into account the depends-on relationship - notifies whenever a
Kustomizationstatus changes
Specification
Guides
- Get started with Flux
- Setup Notifications
- Manage Kubernetes secrets with Flux and SOPS
- How to build, publish and consume OCI Artifacts with Flux
- Flux and Kustomize FAQ
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.