The GitOps Toolkit source management component
Go to file
Hidde Beydals 6ee2b95345 Implement new runtime interfaces, prepare testenv
This commit ensures all API objects implement the interfaces used by
the runtime package to work with conditions, etc., and prepares the
test suite to work with the `pkg/runtime/testenv` wrapper.

Changes are made in a backwards compatible way (that being: the
existing code can still be build and works as expected), but without
proper dependency boundaries. The result of this is that the API
package temporary depends on the runtime package, which is resolved
when all reconcilers have been refactored and the API package does
no longer contain condition modifying functions.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2022-02-15 15:40:57 +05:30
.github/workflows Validate LIBGIT2 args are set correctly 2022-02-09 15:52:46 +00:00
api Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
config Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
controllers Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
docs Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
hack Upgrade to libgit2-1.1.1-6 2022-02-08 10:51:20 +00:00
internal helm: remove temp file name from index cache err 2022-01-13 10:54:37 +01:00
pkg pkg/git: Include commit message and URL in error 2022-02-14 21:34:27 +05:30
tests/fuzz Download libgit2 libraries for fuzzing 2022-02-11 12:30:46 +00: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 Validate LIBGIT2 args are set correctly 2022-02-09 15:52:46 +00:00
CHANGELOG.md Release v0.21.2 2022-02-07 11:50:32 +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 Update dev docs 2022-01-25 15:09:47 +00:00
Dockerfile Download libgit2 libraries for fuzzing 2022-02-11 12:30:46 +00:00
LICENSE Initial commit 2020-04-05 11:55:46 +03:00
MAINTAINERS Share maintainers from fluxcd/flux2 2020-12-01 12:20:27 +00:00
Makefile Introduce v1beta2 API package 2022-02-15 15:40:57 +05:30
PROJECT Introduce v1beta2 API package 2022-02-15 15:40:57 +05:30
README.md Update test shield link 2021-11-22 11:40:18 +01:00
go.mod Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
go.sum Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
main.go Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +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)