The GitOps Toolkit source management component
Go to file
Stefan Prodan ba87b2ad0f
Add ExternalArtifact API documentation
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-09-03 23:46:16 +03:00
.github build(deps): bump the ci group across 1 directory with 10 updates 2025-08-31 11:55:02 +00:00
api Add ExternalArtifact types to API 2025-09-03 21:45:22 +03:00
config Generate ExternalArtifact CRD 2025-09-03 21:45:46 +03:00
docs Add ExternalArtifact API documentation 2025-09-03 23:46:16 +03:00
hack Regenerate CRDs with controller-gen v0.19 2025-08-31 10:29:36 +03:00
internal Refactor the API and controller to use the `meta.Artifact` type 2025-09-03 20:57:45 +03:00
tests Migrate tests from gotest to gomega 2025-08-31 10:29:36 +03:00
.dockerignore
.gitignore
.goreleaser.yaml
CHANGELOG.md
CODE_OF_CONDUCT.md
DCO
DEVELOPMENT.md Build with Go 1.25 2025-08-31 10:29:43 +03:00
Dockerfile Build with Go 1.25 2025-08-31 10:29:43 +03:00
LICENSE
MAINTAINERS
Makefile Build with Go 1.25 2025-08-31 10:29:43 +03:00
PROJECT Add ExternalArtifact types to API 2025-09-03 21:45:22 +03:00
README.md
go.mod Refactor the API and controller to use the `meta.Artifact` type 2025-09-03 20:57:45 +03:00
go.sum Refactor the API and controller to use the `meta.Artifact` type 2025-09-03 20:57:45 +03:00
main.go [RFC-0010] Add default-service-account for lockdown 2025-08-18 01:32:07 +09:00

README.md

Source controller

CII Best Practices e2e report license release

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.

overview

APIs

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

Features

  • 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)

Guides

Roadmap

The roadmap for the Flux family of projects can be found at https://fluxcd.io/roadmap/.

Contributing

This project is Apache 2.0 licensed and accepts contributions via GitHub pull requests. To start contributing please see the development guide.