Overview of the source-controller
mainThe source-controller is a Kubernetes operator specialized in acquiring artifacts from external sources. It is a core component of the GitOps toolkit and implements the source.toolkit.fluxcd.io API.
Key Capabilities:
- Authentication: Supports SSH, user/password, API tokens, and Workload Identity.
- Validation: Validates source authenticity using PGP, Cosign, or Notation.
- Change Detection: Detects source changes based on update policies (e.g., semver).
- Fetching: Fetches resources on-demand or on a schedule.
- Packaging: Packages fetched resources into standard formats like
tar.gzoryaml. - Addressing: Makes artifacts addressable by source identifiers such as
sha,version, orts(timestamp). - Availability: Makes artifacts available in-cluster for other components and notifies interested parties via status conditions, events, and hooks.
- Event Reaction: Reacts to push events from Git, Helm, and OCI artifacts (integrated with
notification-controller).