The GitOps Toolkit source management component
Go to file
Max Jonas Werner 27eac7a2ed
globally set RecoverPanic across controllers
This way we don't have to remember to set it individually in each
controller.

Signed-off-by: Max Jonas Werner <mail@makk.es>
2023-04-20 14:11:16 +02:00
.github build(deps): bump github/codeql-action from 2.2.11 to 2.2.12 2023-04-17 03:06:57 +00:00
api api: update dependencies 2023-03-29 16:47:48 +02:00
config Release v1.0.0-rc.1 2023-03-30 16:25:03 +03:00
controllers globally set RecoverPanic across controllers 2023-04-20 14:11:16 +02:00
docs Add API docs links to readme 2023-03-30 13:10:46 +03:00
hack api: improve validation rules and omitempty nits 2023-03-29 00:00:06 +02:00
internal api: Remove deprecated `Checksum` from `Artifact` 2023-03-24 11:56:12 +01:00
pkg Support Azure Workload Identity 2023-03-30 11:14:55 +02:00
tests/fuzz libgit2: Remove libgit2 from fuzzers 2022-12-12 15:34:29 +00: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 release: pass `--yes` to cosign in signs 2023-03-08 13:05:29 +01:00
CHANGELOG.md Release v1.0.0-rc.1 2023-03-30 16:25:03 +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 tonistiigi/xx to 1.2.1 2023-03-02 15:22:30 +01: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 Remove auto-configuration of storage path 2023-03-29 14:02:20 +02:00
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 Release v1.0.0-rc.1 2023-03-30 16:25:03 +03:00
go.sum Support Azure Workload Identity 2023-03-30 11:14:55 +02:00
main.go globally set RecoverPanic across controllers 2023-04-20 14:11:16 +02: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, 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.