Skip to content

mraerino/kustomize-controller

 
 

Repository files navigation

kustomize-controller

CII Best Practices e2e report license release

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.

overview

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.

About

The GitOps Toolkit Kustomize reconciler

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 96.4%
  • Makefile 1.7%
  • Other 1.9%