- github.com/Azure/azure-sdk-for-go/sdk/azcore to v1.7.0 - github.com/Azure/azure-sdk-for-go/sdk/storage/azblob to v1.1.0 - github.com/distribution/distribution/v3 to v3.0.0-20230802173126-807a836852c0 - github.com/docker/cli to v24.0.5+incompatible - github.com/fluxcd/pkg/apis/event to v0.5.2 - github.com/fluxcd/pkg/apis/meta to v1.1.2 - github.com/fluxcd/pkg/git to v0.12.4 - github.com/fluxcd/pkg/gittestserver to v0.8.5 - github.com/fluxcd/pkg/helmtestserver to v0.13.2 - github.com/fluxcd/pkg/oci to v0.30.1 - github.com/fluxcd/pkg/runtime to v0.41.0 - github.com/fluxcd/pkg/sourceignore to v0.3.5 - github.com/fluxcd/pkg/ssh to v0.8.1 - github.com/fluxcd/source-controller/api to v1.0.1 - github.com/google/go-containerregistry to v0.16.1 - github.com/google/go-containerregistry/pkg/authn/k8schain to v0.0.0-20230802205906-a54d64203cff - github.com/minio/minio-go/v7 to v7.0.61 - github.com/onsi/gomega to v1.27.10 - github.com/opencontainers/go-digest/blake3 to v0.0.0-20230801144141-122dc6384261 - golang.org/x/crypto to v0.12.0 - google.golang.org/api to v0.134.0 - helm.sh/helm/v3 to v3.12.2 - k8s.io/api to v0.27.4 - k8s.io/apimachinery to v0.27.4 - k8s.io/client-go to v0.27.4 - sigs.k8s.io/cli-utils to v0.35.0 Signed-off-by: Hidde Beydals <hidde@hhh.computer> |
||
---|---|---|
.github | ||
api | ||
config | ||
docs | ||
hack | ||
internal | ||
pkg | ||
tests/fuzz | ||
.dockerignore | ||
.gitignore | ||
.goreleaser.yaml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
DCO | ||
DEVELOPMENT.md | ||
Dockerfile | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
PROJECT | ||
README.md | ||
go.mod | ||
go.sum | ||
main.go |
README.md
Source controller
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.
APIs
Kind | API Version |
---|---|
GitRepository | source.toolkit.fluxcd.io/v1 |
OCIRepository | source.toolkit.fluxcd.io/v1beta2 |
HelmRepository | source.toolkit.fluxcd.io/v1beta2 |
HelmChart | source.toolkit.fluxcd.io/v1beta2 |
Bucket | source.toolkit.fluxcd.io/v1beta2 |
Features
- authenticates to sources (SSH, user/password, API token, Workload Identity)
- validates source authenticity (PGP, Cosign)
- 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
- Get started with Flux
- Setup Webhook Receivers
- Setup Notifications
- How to build, publish and consume OCI Artifacts with Flux
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.