The GitOps Toolkit source management component
Go to file
Sunny 5da74ca5a9
Add notify() in all the reconcilers
notify() is used to emit events for new artifact and failure recovery
scenarios. It's implemented in all the reconcilers.
Previously, when there used to be a failure due to any reason, on a
subsequent successful reconciliation, no notification was sent to
indicate that the failure has been resolved.
With notify(), the old version of the object is compared with the new
version of the object to determine if all, if any, of the failures have
been resolved and a notification is sent. The notification message is
the same that's sent in usual successful source reconciliation message
about stored artifact.

Signed-off-by: Sunny <darkowlzz@protonmail.com>
2022-04-07 21:39:16 +05:30
.github/workflows build: properly wire integration tests 2022-03-11 10:43:35 +01:00
api Add MIT Licence copyright notice 2022-04-01 12:41:53 +02:00
config Release v0.22.5 2022-03-30 18:15:48 +02:00
controllers Add notify() in all the reconcilers 2022-04-07 21:39:16 +05:30
docs Update the docs with a section regarding the cache usage 2022-04-02 18:13:59 +02:00
hack Add tests for experimental libgit2 transport 2022-03-16 16:22:21 +05:30
internal Add notify() in all the reconcilers 2022-04-07 21:39:16 +05:30
pkg add flag to allow configuration of SSH kex algos 2022-04-07 16:43:15 +05:30
tests/fuzz Garbage collect with provided retention options. 2022-04-07 18:43:55 +05:30
.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 libgit2 attributions 2022-02-16 10:30:27 +00:00
CHANGELOG.md update toolkit.fluxcd.io docs links 2022-04-01 11:09:56 +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 Improve documentation on Debugging source controller 2022-03-30 10:50:40 +02:00
Dockerfile Upgrade libgit2 to libgit2-1.3.0-2 2022-02-16 11:39:11 +00: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 Improve documentation on Debugging source controller 2022-03-30 10:50:40 +02: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 Release v0.22.5 2022-03-30 18:15:48 +02:00
go.sum Introduce separate positive polarity conditions 2022-03-30 17:02:59 +05:30
main.go Garbage collect with provided retention options. 2022-04-07 18:43:55 +05:30

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)