The GitOps Toolkit source management component
Go to file
Hidde Beydals 67b10aad22 Respect configured user in SSH Git repository URL
We had a hardcoded assumption that the SSH user for a Git repository is
always "git". This is however not true in all scenarios, for example
when one is making use of Gerrit for team code collaboration, as users
there have their own username for (SSH) Git operations.

This commit changes the logic of the auth strategy helpers to:

1. Select the auth strategy based on the protocol of the parsed URL,
   instead of a simple rely on a correct prefix.
2. Use the user information from the parsed URL to configure the user
   for the public key authentication strategy, with a fallback to `git`
   if none is defined.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-11-30 16:26:23 +01:00
.github Use golang image to run tests step 2020-11-27 15:00:54 +02:00
api Watch chart sources for revision changes 2020-11-26 13:02:55 +01:00
config Release v0.4.1 2020-11-26 18:30:04 +01:00
controllers Respect configured user in SSH Git repository URL 2020-11-30 16:26:23 +01:00
docs Implement source suspension 2020-11-26 12:58:00 +02:00
hack Add LastHandledReconcileAt to source statuses 2020-11-19 13:21:59 +01:00
internal Move Helm dependency manager to `helm` package 2020-11-19 09:50:50 +01:00
pkg/git Respect configured user in SSH Git repository URL 2020-11-30 16:26:23 +01:00
.gitignore ci: Add release workflow 2020-04-13 18:28:22 +03:00
CHANGELOG.md Release v0.4.1 2020-11-26 18:30:04 +01:00
CODE_OF_CONDUCT.md Add governance files like DCO, MAINTAINERS, CoC 2020-04-12 23:54:35 +02:00
CONTRIBUTING.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
Dockerfile Promote API to v1beta1 2020-09-30 16:11:00 +03:00
LICENSE Initial commit 2020-04-05 11:55:46 +03:00
MAINTAINERS Add governance files like DCO, MAINTAINERS, CoC 2020-04-12 23:54:35 +02:00
Makefile Promote API to v1beta1 2020-09-30 16:11:00 +03: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.4.1 2020-11-26 18:30:04 +01:00
go.sum Switch to new pkg/apis/meta SetResourceCondition 2020-11-19 13:08:33 +02:00
main.go Change copyright to Flux authors 2020-10-27 17:54:22 +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)