The GitOps Toolkit source management component
Go to file
Hidde Beydals 16c6a07504 Use Recreate strategy for controller deployment
- Prevents a deadlock in active-passive HA setups with multiple
  replicas and during upgrades that previously occurred. As the
  leader election would be held hostage by the previous replica
  set due to the rolling update strategy.
- Ensures backing persistent (RW) volumes can safely be used, as
  they can not be shared and will not become available to the next
  pod without recreating all.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-02 11:40:52 +01:00
.github Publish as single multi-arch Docker image 2021-01-11 12:59:14 +01:00
api Use LocalObjectReference from fluxcd/pkg/meta v0.7 2021-01-21 14:18:42 +02:00
config Use Recreate strategy for controller deployment 2021-02-02 11:40:52 +01:00
controllers typo: 'seperated' -> 'separated' 2021-02-01 15:14:13 +01:00
docs Use LocalObjectReference from fluxcd/pkg/meta v0.7 2021-01-21 14:18:42 +02:00
hack Add LastHandledReconcileAt to source statuses 2020-11-19 13:21:59 +01:00
internal Assume local dependency without Helm repository 2021-01-28 12:28:19 +01:00
pkg/git Properly forward commit hash for go-git impl 2020-12-11 16:05:02 +01:00
.gitignore ci: Add release workflow 2020-04-13 18:28:22 +03:00
CHANGELOG.md Release v0.7.2 2021-02-01 15:55:39 +01:00
CODE_OF_CONDUCT.md Add governance files like DCO, MAINTAINERS, CoC 2020-04-12 23:54:35 +02:00
CONTRIBUTING.md Document how to build libgit2 from source 2020-12-09 17:00:17 +01:00
DCO Add governance files like DCO, MAINTAINERS, CoC 2020-04-12 23:54:35 +02:00
Dockerfile Add newer musl version to second image layer 2020-12-12 13:11:48 +01: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 Update Kubernetes and Helm packages 2021-01-16 14:38:28 +02:00
PROJECT Promote API to v1beta1 2020-09-30 16:11:00 +03:00
README.md Set default branch to main 2020-10-05 15:42:37 +03:00
go.mod Release v0.7.2 2021-02-01 15:55:39 +01:00
go.sum Add QPS/Burst flags using fluxcd/pkg/runtime v0.8 2021-01-21 14:13:07 +02:00
main.go Enable controller-runtime probes 2021-02-01 15:00:17 +01:00

README.md

Source controller

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)