The GitOps Toolkit source management component
Go to file
Hidde Beydals 869c7960e3 Update github.com/libgit2/git2go to v31.6.1
This commit updates `github.com/libgit2/git2go` to `v31.6.1` (with
`libgit2` `1.1.1`), and changes the container image build process so
that it makes use of `ghcr.io/hiddeco/golang-with-libgit2`.

This image provides a pre-build dynamic `libgit2` dependency linked
against OpenSSL and LibSSH2 (without gcrypt), and a set of cross-compile
build tools (see
[rationale](https://github.com/hiddeco/golang-with-libgit2#rationale) and
[usage](https://github.co/hiddeco/golang-with-libgit2#usage) for more
detailed information).

The linked set of dependency should solve most known issues around
unsupport private key types, but does not resolve the issues with ECDSA*
and ED25519 hostkeys yet. Solving this requires a newer version of
`libgit2` (`>=1.2.0`), which currently does not seem to work properly
with `git2go/v32`.

Some small changes have been made to the `libgit2` package to address
(future) deprecations.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-10-14 13:48:15 -05:00
.github Update github.com/libgit2/git2go to v31.6.1 2021-10-14 13:48:15 -05:00
api Service Account Key Authentication to GCP Provider 2021-09-16 09:49:56 -05:00
config Service Account Key Authentication to GCP Provider 2021-09-16 09:49:56 -05:00
controllers Fix nil pointer dereference 2021-09-16 09:57:27 -05:00
docs Revert change to doc/api/source.md 2021-09-16 12:30:58 -05:00
hack Add LastHandledReconcileAt to source statuses 2020-11-19 13:21:59 +01:00
internal Update github.com/libgit2/git2go to v31.6.1 2021-10-14 13:48:15 -05:00
pkg Update github.com/libgit2/git2go to v31.6.1 2021-10-14 13:48:15 -05:00
.dockerignore Update github.com/libgit2/git2go to v31.6.1 2021-10-14 13:48:15 -05:00
.gitignore Update github.com/libgit2/git2go to v31.6.1 2021-10-14 13:48:15 -05:00
CHANGELOG.md Release v0.15.4 2021-08-05 13:45:07 +02: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 Update github.com/libgit2/git2go to v31.6.1 2021-10-14 13:48:15 -05: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 github.com/libgit2/git2go to v31.6.1 2021-10-14 13:48:15 -05:00
PROJECT Promote API to v1beta1 2020-09-30 16:11:00 +03:00
README.md add CII badge 2021-04-08 12:13:56 +02:00
go.mod Update github.com/libgit2/git2go to v31.6.1 2021-10-14 13:48:15 -05:00
go.sum Update github.com/libgit2/git2go to v31.6.1 2021-10-14 13:48:15 -05:00
main.go Panic on non-nil AddToScheme errors in main init 2021-06-17 15:38:24 +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, 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)