The GitOps Toolkit source management component
Go to file
Sunny ea45903dd4 gitrepo: Ignore patch error not found on delete
While deleting, patching an object with new status results in "not
found" error because the object is already deleted. The patching
operation first patches the status conditions, the rest of the object
and, at the very end, the rest of the status. When an object is
deleted, the garbage collection results in the artifact in the status
to be updated, resulting in a diff that is attempted to be patched
when the deferred patch runs.
Since the status patching runs at the very end, the object gets deleted
before it can be patched.
Ignore "not found" error while patching when the delete timestamp is
set.

Signed-off-by: Sunny <darkowlzz@protonmail.com>
2022-02-15 15:42:18 +05:30
.github/workflows Validate LIBGIT2 args are set correctly 2022-02-09 15:52:46 +00:00
api Consolidate condition types into `FetchFailed` 2022-02-15 15:42:18 +05:30
config Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
controllers gitrepo: Ignore patch error not found on delete 2022-02-15 15:42:18 +05:30
docs Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
hack Upgrade to libgit2-1.1.1-6 2022-02-08 10:51:20 +00:00
internal internal/util: introduce temp dir/path helpers 2022-02-15 15:40:58 +05:30
pkg Fixes to gitrepo reconciler tests 2022-02-15 15:42:18 +05:30
tests/fuzz Download libgit2 libraries for fuzzing 2022-02-11 12:30:46 +00:00
.dockerignore Download libgit2 libraries for fuzzing 2022-02-11 12:30:46 +00:00
.gitignore Update libgit2 to 1.1.1-6 2022-02-07 13:00:57 +00:00
.goreleaser.yaml Publish SBOM and sign release artifacts 2022-01-20 13:49:36 +02:00
ATTRIBUTIONS.md Validate LIBGIT2 args are set correctly 2022-02-09 15:52:46 +00:00
CHANGELOG.md Release v0.21.2 2022-02-07 11:50:32 +02: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 Update dev docs 2022-01-25 15:09:47 +00:00
Dockerfile Download libgit2 libraries for fuzzing 2022-02-11 12:30:46 +00: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 Introduce v1beta2 API package 2022-02-15 15:40:57 +05:30
PROJECT Introduce v1beta2 API package 2022-02-15 15:40:57 +05:30
README.md Update test shield link 2021-11-22 11:40:18 +01:00
go.mod Rewrite `GitRepositoryReconciler` to new standards 2022-02-15 15:42:14 +05:30
go.sum Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
main.go Rewrite `GitRepositoryReconciler` to new standards 2022-02-15 15:42:14 +05:30

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)