The GitOps Toolkit source management component
Go to file
Sanskar Jaiswal fce7c10fc0
oci: add tests for insecure cosign support; refactor test utils
Add tests to test Cosign support for insecure registries. Furthermore,
refactor OCI test utils to be more user friendly and enable accurate
testing of HTTPS and HTTP OCI registries by circumnavigating Docker's
automatic connection downgrade for registries hosted on localhost.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-07-31 13:50:18 +05:30
.github build(deps): bump the ci group with 3 updates 2023-07-17 03:05:56 +00:00
api helmrepo: add `.spec.certSecretRef` for specifying TLS auth data 2023-07-31 13:29:17 +05:30
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 oci: add tests for insecure cosign support; refactor test utils 2023-07-31 13:50:18 +05:30
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 oci: add tests for insecure cosign support; refactor test utils 2023-07-31 13:50:18 +05:30
go.sum oci: add tests for insecure cosign support; refactor test utils 2023-07-31 13:50:18 +05:30
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.