The GitOps Toolkit source management component
Go to file
Hidde Beydals 827509e10f Use `binutils-gold` in builder image
There seems to have been a change in the dependencies that now causes
ARMv7 builds to fail:

```
    sigs.k8s.io/kustomize/kyaml/yaml/merge3=$WORK/b742/_pkg_.a
    sigs.k8s.io/kustomize/kyaml/yaml/internal/k8sgen/pkg/util/errors=$WORK/b678/_pkg_.a
    -importcfg $WORK/b001/importcfg.link -buildmode=exe
-buildid=YHfd11eGufJ7RVGSGz2z/H9JgY3lbjsdhQ8_r06Gz/HiYQEtSgCAIHJ7rrNYN6/YHfd11eGufJ7RVGSGz2z
-extld=gcc $WORK/b001/_pkg_.a
    exit status 1
    -c CGO_ENABLED=1 go build -x -o source-controller main.go]: exit
code: 2
```

After trying various things, including downgrading Go, using
packages from `edge`, using `gcc-go` to get a "grouped" version of
the dependencies, it seems that using `binutils-gold` solves the issue
and produces a working build for all our target architectures.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-06-09 12:59:20 +02:00
.github Use `github.repository` property for image name 2021-06-09 11:49:20 +02:00
api Update K8s, controller-runtime and fluxcd/pkg deps 2021-06-08 13:41:34 +02:00
config Release v0.14.0 2021-06-08 14:19:05 +02:00
controllers Reinstate Git cloning timeout 2021-06-02 14:21:29 +03:00
docs Fix GitRepository include for nested paths 2021-05-28 01:17:40 +03:00
hack Add LastHandledReconcileAt to source statuses 2020-11-19 13:21:59 +01:00
internal Update chart tests 2021-02-23 14:19:56 +02:00
pkg Update go-git to v5.4.1 2021-05-26 14:06:41 +03:00
.gitignore ci: Add release workflow 2020-04-13 18:28:22 +03:00
CHANGELOG.md Release v0.14.0 2021-06-08 14:19:05 +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 Use `binutils-gold` in builder image 2021-06-09 12:59:20 +02: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 K8s, controller-runtime and fluxcd/pkg deps 2021-06-08 13:41:34 +02: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 Release v0.14.0 2021-06-08 14:19:05 +02:00
go.sum Update K8s, controller-runtime and fluxcd/pkg deps 2021-06-08 13:41:34 +02:00
main.go Add include property to GitRepositories 2021-05-11 09:46:50 +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)