The GitOps Toolkit source management component
Go to file
Hidde Beydals 24724b520d
Update dependencies
- github.com/Azure/azure-sdk-for-go/sdk/azcore to v1.7.0
- github.com/Azure/azure-sdk-for-go/sdk/storage/azblob to v1.1.0
- github.com/distribution/distribution/v3 to v3.0.0-20230802173126-807a836852c0
- github.com/docker/cli to v24.0.5+incompatible
- github.com/fluxcd/pkg/apis/event to v0.5.2
- github.com/fluxcd/pkg/apis/meta to v1.1.2
- github.com/fluxcd/pkg/git to v0.12.4
- github.com/fluxcd/pkg/gittestserver to v0.8.5
- github.com/fluxcd/pkg/helmtestserver to v0.13.2
- github.com/fluxcd/pkg/oci to v0.30.1
- github.com/fluxcd/pkg/runtime to v0.41.0
- github.com/fluxcd/pkg/sourceignore to v0.3.5
- github.com/fluxcd/pkg/ssh to v0.8.1
- github.com/fluxcd/source-controller/api to v1.0.1
- github.com/google/go-containerregistry to v0.16.1
- github.com/google/go-containerregistry/pkg/authn/k8schain to v0.0.0-20230802205906-a54d64203cff
- github.com/minio/minio-go/v7 to v7.0.61
- github.com/onsi/gomega to v1.27.10
- github.com/opencontainers/go-digest/blake3 to v0.0.0-20230801144141-122dc6384261
- golang.org/x/crypto to v0.12.0
- google.golang.org/api to v0.134.0
- helm.sh/helm/v3 to v3.12.2
- k8s.io/api to v0.27.4
- k8s.io/apimachinery to v0.27.4
- k8s.io/client-go to v0.27.4
- sigs.k8s.io/cli-utils to v0.35.0

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-08-07 12:40:38 +02:00
.github build(deps): bump the ci group with 2 updates 2023-08-07 02:43:39 +00:00
api api: update dependencies 2023-08-07 12:26:41 +02:00
config helmrepo: add `.spec.certSecretRef` for specifying TLS auth data 2023-07-31 13:29:17 +05:30
docs helmrepo: add docs for `.spec.certSecretRef` 2023-07-31 13:29:17 +05:30
hack Move controllers to internal/controller 2023-05-03 15:35:45 +05:30
internal cache: ensure new expiration is persisted 2023-08-01 17:34:25 +02:00
pkg gcp: update recognized mock storage server path 2023-07-03 14:09:58 +02:00
tests/fuzz Install Go 1.20 for oss-fuzz 2023-06-26 18:40:43 +03:00
.dockerignore libgit2: Remove references to libgit2 from code 2022-12-12 15:34:28 +00:00
.gitignore Update libgit2 to 1.1.1-6 2022-02-07 13:00:57 +00:00
.goreleaser.yaml Add SLSA3 generators to release workflow 2023-06-23 18:13:14 +03:00
CHANGELOG.md Add changelog entry for v1.0.1 2023-07-10 14:19:10 +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 libgit2: Update documentation 2022-12-12 15:34:30 +00:00
Dockerfile Update Alpine to 3.18 2023-05-10 09:25:35 -04:00
LICENSE Initial commit 2020-04-05 11:55:46 +03:00
MAINTAINERS Paulo is Core Maintainer 2023-01-31 17:13:16 +01:00
Makefile gitrepo: Add support for specifying proxy per `GitRepository` 2023-07-24 16:29:57 +05:30
PROJECT Add GitRepository v1 to project file 2023-03-28 12:30:11 +03:00
README.md Add API docs links to readme 2023-03-30 13:10:46 +03:00
go.mod Update dependencies 2023-08-07 12:40:38 +02:00
go.sum Update dependencies 2023-08-07 12:40:38 +02:00
main.go Fix the helm cache arguments 2023-07-18 19:20:24 +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, OCI, Helm repositories and S3-compatible buckets. The source-controller implements the source.toolkit.fluxcd.io API and is a core component of the GitOps toolkit.

overview

APIs

Kind API Version
GitRepository source.toolkit.fluxcd.io/v1
OCIRepository source.toolkit.fluxcd.io/v1beta2
HelmRepository source.toolkit.fluxcd.io/v1beta2
HelmChart source.toolkit.fluxcd.io/v1beta2
Bucket source.toolkit.fluxcd.io/v1beta2

Features

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

Guides

Roadmap

The roadmap for the Flux family of projects can be found at https://fluxcd.io/roadmap/.

Contributing

This project is Apache 2.0 licensed and accepts contributions via GitHub pull requests. To start contributing please see the development guide.