The source-controller is a Kubernetes operator, specialised in artifacts acquisition from external sources such as Git, OCI, Helm repositories and S3-compatible buckets. The source-controller implements the source.toolkit.fluxcd.io API and is a core component of the GitOps toolkit.
| Kind | API Version | 
|---|---|
| GitRepository | source.toolkit.fluxcd.io/v1 | 
| OCIRepository | source.toolkit.fluxcd.io/v1 | 
| HelmRepository | source.toolkit.fluxcd.io/v1 | 
| HelmChart | source.toolkit.fluxcd.io/v1 | 
| Bucket | source.toolkit.fluxcd.io/v1 | 
- authenticates to sources (SSH, user/password, API token, Workload Identity)
 - validates source authenticity (PGP, Cosign, Notation)
 - detects source changes based on update policies (semver)
 - fetches resources on-demand and on-a-schedule
 - packages the fetched resources into a well-known format (tar.gz, yaml)
 - makes the artifacts addressable by their source identifier (sha, version, ts)
 - makes the artifacts available in-cluster to interested 3rd parties
 - notifies interested 3rd parties of source changes and availability (status conditions, events, hooks)
 - reacts to Git, Helm and OCI artifacts push events (via notification-controller)
 
- Get started with Flux
 - Setup Webhook Receivers
 - Setup Notifications
 - How to build, publish and consume OCI Artifacts with Flux
 
The roadmap for the Flux family of projects can be found at https://fluxcd.io/roadmap/.
This project is Apache 2.0 licensed and accepts contributions via GitHub pull requests. To start contributing please see the development guide.
