Remove deprecated Event error. Event error was used for scenarios where an error should result in an event/notification. It was introduced as a contextual error along with Stalling and Waiting errors but was later replaced with Generic error which doesn't have any contextual meaning. The Generic error provided error configuration which allowed defining how the error should be handled. This replaced the contextual error handling with error action handlers which behaved on the error configuration of the errors. The Generic error was first introduced to be used in GitRepository reconciler and was used by new reconcilers like the OCIRepository reconcilers. The old reconcilers bucket, helmrepository and helmchart reconcilers were still using the deprecated Event error. This change replaces the Event errors in these reconcilers with a Generic error. It also fixes a bug in the Generic error constructor which configured the error to be logged by default. This resulted in an error to be logged by the result processor and the runtime, double logging. This behavior has been changed to not log explicitly and allow the runtime to log the error. Since the Generic error is based on defining the error handling behavior in the error configuration, a generic error that needs to be ignored (not returned to the runtime), but logged can enable the logging behavior explicitly on the Generic error instance. This is done in GitRepository reconciler for no-op reconciliations where an ignore error is returned. Signed-off-by: Sunny <darkowlzz@protonmail.com> |
||
---|---|---|
.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.