FluxCD — How It Works¶
GitOps Toolkit (GOTK) controllers, pull-based reconciliation, and image automation pipeline.
Controller Reconciliation Model¶
flowchart TB
subgraph GOTK["GitOps Toolkit Controllers"]
SC["Source Controller\n(acquires artifacts)"]
KC["Kustomize Controller\n(applies Kustomizations)"]
HC["Helm Controller\n(applies HelmReleases)"]
NC["Notification Controller\n(alerts)"]
end
subgraph Sources["Sources"]
GitRepo["GitRepository\n(poll interval: 1min)"]
HelmRepo["HelmRepository"]
OCIRepo["OCIRepository"]
end
subgraph Cluster["Kubernetes Cluster"]
API["K8s API Server"]
Resources["Deployed Resources"]
end
GitRepo --> SC
HelmRepo --> SC
OCIRepo --> SC
SC -->|"artifact ready\nevent"| KC
SC -->|"chart ready\nevent"| HC
KC -->|"Server-Side Apply"| API
HC -->|"Helm SDK"| API
API --> Resources
Image Automation Pipeline¶
sequenceDiagram
participant Registry as Container Registry
participant IAC as Image Reflector Controller
participant IUA as Image Update Automation
participant Git as Git Repository
participant SC as Source Controller
participant KC as Kustomize Controller
IAC->>Registry: Poll for new image tags
IAC->>IAC: Match tag pattern (semver, regex)
IAC->>IUA: New image: myapp:v2.1.0
IUA->>Git: Push commit (update image tag in YAML)
SC->>Git: Detect new commit
SC->>KC: Trigger reconciliation
KC->>KC: Apply updated manifests