• Stars
    star
    216
  • Rank 183,151 (Top 4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The GitOps Toolkit Kustomize reconciler

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.

More Repositories

1

flux

Successor: https://github.com/fluxcd/flux2
Go
6,897
star
2

flux2

Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.
Go
5,085
star
3

flagger

Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)
Go
4,878
star
4

flux2-kustomize-helm-example

A GitOps workflow example for multi-env deployments with Flux, Kustomize and Helm.
Shell
694
star
5

helm-operator

Successor: https://github.com/fluxcd/helm-controller — The Flux Helm Operator, once upon a time a solution for declarative Helming.
Go
649
star
6

helm-operator-get-started

Managing Helm releases with Flux Helm Operator
HTML
455
star
7

flux2-multi-tenancy

Manage multi-tenant clusters with Flux
Shell
418
star
8

helm-controller

The GitOps Toolkit Helm reconciler, for declarative Helming
Go
371
star
9

terraform-provider-flux

Terraform and OpenTofu provider for bootstrapping Flux
Go
358
star
10

source-controller

The GitOps Toolkit source management component
Go
237
star
11

multi-tenancy

Flux v1: Manage a multi-tenant cluster with Flux and Kustomize
Open Policy Agent
181
star
12

flux-get-started

Flux v1: Getting started with Flux and the Helm Operator
HTML
154
star
13

notification-controller

The GitOps Toolkit event forwarder and notification dispatcher
Go
150
star
14

webui

TypeScript
149
star
15

image-automation-controller

GitOps Toolkit controller that patches container image tags in Git
Go
131
star
16

image-reflector-controller

GitOps Toolkit controller that scans container registries
Go
85
star
17

flux-kustomize-example

Flux v1: Example of Flux using manifest generation with Kustomize
74
star
18

go-git-providers

Git provider client for Go
Go
72
star
19

flux-recv

Webhook receiver for Flux v1
Go
64
star
20

cues

Experimental CUE packages for generating Flux configurations
CUE
51
star
21

website

The Flux website and user documentation
HTML
50
star
22

pkg

Toolkit common packages
Go
48
star
23

community

Flux community content
Python
36
star
24

source-watcher

Example consumer of the GitOps Toolkit Source APIs
Go
30
star
25

flux-benchmark

Mean Time To Production benchmark for Flux
CUE
22
star
26

charts

Helm repository for Flux and Helm Operator charts
15
star
27

fluxctl-action

A GitHub Action to run fluxctl commands
Shell
15
star
28

gitsrv

Alpine git server used for Flux and Helm Operator end-to-end testing
Shell
12
star
29

multi-tenancy-team1

Tenant example repository
Open Policy Agent
10
star
30

flux2-monitoring-example

Prometheus monitoring for the Flux control plane
Shell
8
star
31

homebrew-tap

Homebrew formulas
Ruby
6
star
32

.github

5
star
33

golang-with-libgit2

Golang builder image, but with libgit2 included.
Go
4
star
34

stats

Flux project usage statistics
2
star
35

test-infra

Test infrastructure for the Flux project
Go
1
star