The GitOps Toolkit source management component
Go to file
Paulo Gomes aac18f5273
Update dependencies
Dependencies updated:
- cloud.google.com/go/storage to version 1.25.0.
- github.com/Azure/azure-sdk-for-go/sdk/azcore to version 1.1.2.
- github.com/ProtonMail/go-crypto to version 0.0.0-20220812175011-7fcef0dbe794.
- github.com/distribution/distribution/v3 to version 3.0.0-20220816150328-6c237953cbbe.
- github.com/fluxcd/gitkit to version 0.6.0.
- github.com/fluxcd/pkg/gittestserver to version 0.6.0.
- github.com/fluxcd/pkg/oci to version 0.5.1.
- github.com/google/go-containerregistry to version 0.11.0.
- github.com/google/go-containerregistry/pkg/authn/k8schain to version 0.0.0-20220808030257-7196cf3dc436.
- github.com/minio/minio-go/v7 to version 7.0.34.
- github.com/onsi/gomega to version 1.20.0.
- github.com/prometheus/client_golang to version 1.13.0.
- golang.org/x/crypto to version 0.0.0-20220722155217-630584e8d5aa.
- golang.org/x/net to version 0.0.0-20220812174116-3211cb980234.
- golang.org/x/sync to version 0.0.0-20220722155255-886fb9371eb4.
- google.golang.org/api to version 0.93.0.
- helm.sh/helm/v3 to version 3.9.3.
- k8s.io/api to version 0.24.3.
- k8s.io/apimachinery to version 0.24.3.
- k8s.io/client-go to version 0.24.3.
- k8s.io/utils to version 0.0.0-20220812165043-ad590609e2e5.

Replace removed for gopkg.in/yaml.v3@v3.0.1 and github.com/containerd/containerd@v1.6.6,
as they no longer need to be enforced.

Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
2022-08-17 16:57:34 +01:00
.github/workflows build: Ignore CI workflows for markdown files 2022-08-08 16:22:45 +01:00
api Add OCI failure reasons to API 2022-08-05 13:24:06 +03:00
config Release v0.26.1 2022-08-11 14:31:46 +01:00
controllers Use sourceignore from fluxcd/pkg 2022-08-17 18:04:48 +03:00
docs Merge branch 'main' into sas-key-azure-blob 2022-08-12 15:46:03 +01:00
hack allow for charts from OCI registries to specify a chart path 2022-08-08 15:44:43 +02:00
internal allow for charts from OCI registries to specify a chart path 2022-08-08 15:44:43 +02:00
pkg Use sourceignore from fluxcd/pkg 2022-08-17 18:04:48 +03:00
tests/fuzz Remove MUSL and enable threadless libgit2 support 2022-07-31 18:38:27 +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.26.1 2022-08-11 14:31:46 +01: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 Upgrade to go 1.18 2022-07-27 19:02:13 +03:00
Dockerfile Remove MUSL and enable threadless libgit2 support 2022-07-31 18:38:27 +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 Add filter option when running tests 2022-08-02 13:11:12 +03:00
PROJECT Add OCIRepository kind to v1beta2 API 2022-08-02 13:07:05 +03:00
README.md bump link to API spec 2022-06-07 10:38:16 +01:00
go.mod Update dependencies 2022-08-17 16:57:34 +01:00
go.sum Update dependencies 2022-08-17 16:57:34 +01: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)