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
Kustomization objects
- fetches artifacts produced by 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
Guides
Roadmap
The roadmap for the Flux family of projects can be found at https://fluxcd.io/roadmap/.
Contributing
This project is Apache 2.0 licensed and accepts contributions via GitHub pull requests.
To start contributing please see the development guide.