The GitOps Toolkit source management component
Go to file
Sunny ddd26f4d52
Introduce Generic error and error Config
Generic error is an attempt to avoid creating new error type for every
new unique scenario. It can be used to configure and build custom error
handling behavior, logging and event recording at present.
Contextual errors, Stalling and Waiting error, have special meaning for
the reconciliation results. But the Event error type can be replaced
with Generic error with some specific configurations. The Event error
is kept for a gradual migation to Generic error. Similarly, the Generic
error can be used to easily create new error handling behaviors.

The error Config can be used to configure any of the errors, including
contextual errors, without altering their contextual meaning, to modify
how they are handled.

The error constructors configure the errors with common default
configurations. These configurations can be modified to alter the
behavior.

Signed-off-by: Sunny <darkowlzz@protonmail.com>
2022-05-20 19:52:03 +05:30
.github/workflows build: properly wire integration tests 2022-03-11 10:43:35 +01:00
api [RFC 0002] Flux OCI support for Helm (#690) 2022-05-19 14:50:16 +02:00
config [RFC 0002] Flux OCI support for Helm (#690) 2022-05-19 14:50:16 +02:00
controllers [RFC 0002] Flux OCI support for Helm (#690) 2022-05-19 14:50:16 +02:00
docs [RFC 0002] Flux OCI support for Helm (#690) 2022-05-19 14:50:16 +02:00
hack [RFC 0002] Flux OCI support for Helm (#690) 2022-05-19 14:50:16 +02:00
internal Introduce Generic error and error Config 2022-05-20 19:52:03 +05:30
pkg libgit2: Add support for hashed known_hosts 2022-05-16 16:57:22 +01:00
tests/fuzz Update libgit2 to 1.3.1 2022-04-14 09:59:01 +01:00
.dockerignore Download libgit2 libraries for fuzzing 2022-02-11 12:30:46 +00:00
.gitignore Update libgit2 to 1.1.1-6 2022-02-07 13:00:57 +00:00
.goreleaser.yaml Publish SBOM and sign release artifacts 2022-01-20 13:49:36 +02:00
ATTRIBUTIONS.md Update attributions 2022-04-14 09:59:02 +01:00
CHANGELOG.md Release v0.24.4 2022-05-03 13:15:04 +02:00
CODE_OF_CONDUCT.md Add governance files like DCO, MAINTAINERS, CoC 2020-04-12 23:54:35 +02:00
DCO Add governance files like DCO, MAINTAINERS, CoC 2020-04-12 23:54:35 +02:00
DEVELOPMENT.md build: let users pass test flags to `make test` 2022-04-28 06:31:45 +02:00
Dockerfile Update libgit2 to 1.3.1 2022-04-14 09:59:01 +01:00
LICENSE Initial commit 2020-04-05 11:55:46 +03:00
MAINTAINERS Add pjbgf to Maintainers 2022-02-17 11:24:02 +00:00
Makefile Ensure git status is tracked at the correct time 2022-05-09 15:54:55 +01:00
PROJECT Introduce v1beta2 API package 2022-02-23 12:34:35 +01:00
README.md update toolkit.fluxcd.io docs links 2022-04-01 11:09:56 +02:00
go.mod [RFC 0002] Flux OCI support for Helm (#690) 2022-05-19 14:50:16 +02:00
go.sum [RFC 0002] Flux OCI support for Helm (#690) 2022-05-19 14:50:16 +02:00
main.go [RFC 0002] Flux OCI support for Helm (#690) 2022-05-19 14:50:16 +02: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, Helm repositories and S3 buckets. The source-controller implements the source.toolkit.fluxcd.io API and is a core component of the GitOps toolkit.

overview

Features:

  • authenticates to sources (SSH, user/password, API token)
  • validates source authenticity (PGP)
  • 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 push and Helm chart upload events (via notification-controller)