fluxcd-source-controller

Manages and reconciles external sources such as Git repositories, Helm charts, and S3 buckets in Kubernetes.

fluxcd
argo-cd
helm-controller
kustomize-controller

What is fluxcd-source-controller?

The fluxcd-source-controller image is part of the Flux project, a GitOps toolkit for Kubernetes. The source-controller manages different types of external sources and makes their contents available inside the cluster for other Flux controllers.

Supported sources include Git repositories, Helm repositories, S3-compatible buckets, and OCI registries. The controller continuously watches these sources, detects changes (like new Git commits or updated Helm charts), and makes them available as Kubernetes custom resources.

This design enables GitOps workflows by ensuring the cluster is always in sync with the declared state stored in version-controlled systems or artifact registries.

How to use this image

The fluxcd-source-controller image is typically deployed as part of a Flux installation in Kubernetes.

Examples:

# Install Flux with source-controller included
kubectl create ns flux-system
flux install --components=source-controller
# Create a GitRepository source
kubectl apply -f - <<EOF
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
  name: podinfo
  namespace: flux-system
spec:
  interval: 1m
  url: https://github.com/stefanprodan/podinfo
  ref:
    branch: main
EOF
# Create a HelmRepository source
kubectl apply -f - <<EOF
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
  name: bitnami
  namespace: flux-system
spec:
  interval: 10m
  url: https://charts.bitnami.com/bitnami
EOF

These resources are then consumed by other controllers like kustomize-controller or helm-controller to apply manifests or install charts.

Image variants

The fluxcd-source-controller image is typically released under ghcr.io/fluxcd/source-controller and published in these forms:

source-controller:<version>

Version-pinned images (e.g., source-controller:v1.3.0) are recommended for production deployments.

source-controller:latest

Tracks the most recent stable release. Useful for evaluation but not recommended for long-term production use.

source-controller:main / nightly

Built from the development branch. Intended for contributors or teams testing new features.

Interested in base images that start and stay clean?

This is a not a valid email
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.