The GitOps Toolkit source management component
Go to file
Sunny f4aed8baf8
OCIRepoReconciler: no-op reconcile improvements
Introduce contentConfigChecksum in the OCIRepository status to store a
checksum of the values that affect the source artifact. It is used to
detect when to rebuild an artifact when the spec changes.

The considerations for this are similar to the GitRepository
reconciler no-op clone implementation. Both reconcileSource and
reconcileArtifact need to consider the source configuration change
when deciding if the artifact in the storage is up-to-date.

Adds tests for reconcileSource and reconcileArtifact for the noop
cases.

Signed-off-by: Sunny <darkowlzz@protonmail.com>
2022-09-29 09:48:27 +03:00
.github/workflows The libgit2 libraries are downloaded and verified before 2022-09-29 07:01:36 +01:00
api OCIRepoReconciler: no-op reconcile improvements 2022-09-29 09:48:27 +03:00
config OCIRepoReconciler: no-op reconcile improvements 2022-09-29 09:48:27 +03:00
controllers OCIRepoReconciler: no-op reconcile improvements 2022-09-29 09:48:27 +03:00
docs OCIRepoReconciler: no-op reconcile improvements 2022-09-29 09:48:27 +03:00
hack The libgit2 libraries are downloaded and verified before 2022-09-29 07:01:36 +01:00
internal Build with Go 1.19 2022-09-28 15:35:26 +03:00
pkg Build with Go 1.19 2022-09-28 15:35:26 +03:00
tests/fuzz Bump libgit2 image to v0.3.0 2022-09-29 06:55:18 +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 libgit2: upgrade to golang-with-libgit2 v0.1.4 2022-07-26 15:10:29 +05:30
CHANGELOG.md Release v0.29.0 2022-09-09 16:53:38 +03: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 update to new doc links structure 2022-08-30 15:17:06 +02:00
Dockerfile Bump libgit2 image to v0.3.0 2022-09-29 06:55:18 +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 The libgit2 libraries are downloaded and verified before 2022-09-29 07:01:36 +01:00
PROJECT Add OCIRepository kind to v1beta2 API 2022-08-02 13:07:05 +03:00
README.md update to new doc links structure 2022-08-30 15:17:06 +02:00
go.mod Update dependencies 2022-09-28 14:45:19 +03:00
go.sum Update dependencies 2022-09-28 14:45:19 +03:00
main.go Add tests for reconcile delete 2022-08-02 13:11:08 +03: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)