Source of truth for manifests
DevOps & Tooling / Knowledge library
Flux
declarative delivery source reconciliation and automation
Why learn Flux?
Useful for versioned, continuously reconciled delivery. Repository permissions and automated changes need clear ownership and review policies.
Where it came from
Flux provides controllers and tools for GitOps delivery on Kubernetes. It reconciles declared sources and application configuration with cluster state.
Build your understanding
Work through these exercises in order. Try the task before opening a reference.
- Connect a test repository as a source.
- Reconcile a harmless manifest change.
- Inspect conditions after a failed reconciliation.
- Suspend and resume a test workload's reconciliation.
- Verify repository and cluster access are narrowly scoped.
Documentation and sources
- Official project documentation (fluxcd.io)
Catalog research notes
- Research snapshot: September 9, 2026. This entry summarizes the linked primary documentation; it does not assert a latest release version.
Connect the ideas
Built on
Alternatives
Explore next
Real World Example
Automated Multi-Cluster Configuration Synchronization
Platform engineers managing global Kubernetes fleets across diverse cloud environments.
The business problem
Manual configuration drift occurs when cluster operators apply changes inconsistently across staging and production environments, leading to environment-specific failures and high operational overhead.
How this topic solves it
Flux enables declarative delivery by treating Git as the single source of truth, where custom controllers automatically reconcile the cluster state with defined Git repository configurations, ensuring consistency through continuous automated synchronization.
- Bootstrap the Flux controllers into the management cluster using the Flux CLI.
- Define a GitRepository custom resource to point to the source of truth configuration.
- Create a Kustomization resource to specify the target path and synchronization interval for the cluster state.
- Configure Kubernetes RBAC to restrict the reconciliation permissions for the specific cluster namespaces.
- Monitor the reconciliation health via Flux event notifications sent to external alerting systems.
The flow shows how Flux bridges Git sources to actual cluster state.
Fetches artifacts from Git
Applies manifests to cluster
Target environment
- Git Repository → pulls → Source Controller
- Source Controller → provides artifact → Kustomization Controller
- Kustomization Controller → reconciles state → Kubernetes Cluster
Implementation example
This maps to the scenario by defining the GitRepository source and the Kustomization controller to enforce the desired state defined in the repository.
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
name: cluster-config
namespace: flux-system
spec:
interval: 1m # How often to check for changes
url: https://github.com/org/repo # Source location
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: app-sync
namespace: flux-system
spec:
path: ./deployments # Path to manifests
prune: true # Remove resources not in GitExpected business outcome
A reliable, version-controlled delivery pipeline where cluster state is automatically maintained without manual intervention, significantly reducing configuration drift.
Limitations and checks
Flux relies on the Git repository as the source of truth; if the repository becomes unreachable or contains malformed manifests, reconciliation will stall, which can be checked by inspecting the status field of the Kustomization resource.