The GitOps Toolkit Kustomize reconciler
Go to file
Stefan Prodan 0c36aa0904
Merge pull request #1508 from fluxcd/external-artifact
[RFC-0012] Add support for `ExternalArtifact` source type
2025-09-06 09:46:08 +03:00
.github Bump the ci group across 1 directory with 11 updates 2025-09-01 06:14:24 +00:00
api Implement ExternalArtifact reconciliation 2025-09-05 00:02:43 +03:00
config Add ExternalArtifact feature gate 2025-09-05 23:45:26 +03:00
docs Add ExternalArtifact feature gate 2025-09-05 23:45:26 +03:00
hack Regenerate CRDs with controller-gen v0.19 2025-08-30 15:49:51 +03:00
internal Add ExternalArtifact feature gate 2025-09-05 23:45:26 +03:00
tests/fuzz Build with Go 1.25 2025-08-30 15:52:33 +03:00
.gitignore Import ExternalArtifact CRD 2025-09-04 21:31:21 +03:00
.goreleaser.yaml Adapt config to GoRelease v2 2024-06-11 09:38:35 +03:00
CHANGELOG.md Add changelog entry for v1.6.1 2025-07-08 10:02:19 +01:00
CODE_OF_CONDUCT.md Release v0.0.1-alpha.1 2020-04-20 15:11:11 +03:00
DCO Release v0.0.1-alpha.1 2020-04-20 15:11:11 +03:00
DEVELOPMENT.md Build with Go 1.25 2025-08-30 15:52:33 +03:00
Dockerfile Build with Go 1.25 2025-08-30 15:52:33 +03:00
LICENSE Initial commit 2020-04-15 08:57:39 +03:00
MAINTAINERS Share fluxcd/flux2 maintainer 2020-11-30 13:31:53 +00:00
Makefile Import ExternalArtifact CRD 2025-09-04 21:31:21 +03:00
PROJECT Promote Kustomization API to v1 2023-03-29 16:29:05 +03:00
README.md Update controller to OCIRepository v1 (GA) 2025-05-28 13:24:44 +03:00
go.mod Add ExternalArtifact feature gate 2025-09-05 23:45:26 +03:00
go.sum Add ExternalArtifact feature gate 2025-09-05 23:45:26 +03:00
main.go Add ExternalArtifact feature gate 2025-09-05 23:45:26 +03:00

README.md

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.