The GitOps Toolkit source management component
Go to file
Dipti Pai 61f9eb28fc Sparse Checkout Directories in GitRepositories.
- Add `.spec.sparseCheckout` and `.status.observedSparseCheckout` fields to `GitRepository`.
    - Add controller support to send the sparse checkout directories to go-git via pkg methods.
    - Use `.status/observedSparseCheckout` to detect drift in configuration.
    - Trim leading "./" in directory paths.
    - Validate spec configuration by checking directories specified in spec exist in the cloned repository after successful checkout
    - Add tests for testing the observed sparse checkout behavior.
    - Add docs describing the new fields.

Signed-off-by: Dipti Pai <diptipai89@outlook.com>
2025-04-23 09:30:10 -07:00
.github Add 1.5.x release label 2025-02-13 15:56:51 +00:00
api Sparse Checkout Directories in GitRepositories. 2025-04-23 09:30:10 -07:00
config Sparse Checkout Directories in GitRepositories. 2025-04-23 09:30:10 -07:00
docs Sparse Checkout Directories in GitRepositories. 2025-04-23 09:30:10 -07:00
hack Promote Helm APIs to v1 (GA) 2024-05-02 16:04:27 +03:00
internal Sparse Checkout Directories in GitRepositories. 2025-04-23 09:30:10 -07:00
pkg Promote Bucket API to v1 2024-08-23 13:25:57 +03:00
tests Add proxy support for OCIRepository API 2024-08-15 10:29:57 -03:00
.dockerignore libgit2: Remove references to libgit2 from code 2022-12-12 15:34:28 +00:00
.gitignore Update libgit2 to 1.1.1-6 2022-02-07 13:00:57 +00:00
.goreleaser.yaml Adapt config to GoRelease v2 2024-06-11 09:35:42 +03:00
CHANGELOG.md Add changelog entry for v1.5.0 2025-02-13 14:47:24 +00: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 Build with Go 1.23 2024-08-15 09:52:45 +03:00
Dockerfile Build controller without CGO 2025-02-20 10:04:11 +02:00
LICENSE Initial commit 2020-04-05 11:55:46 +03:00
MAINTAINERS Add Dipti Pai to maintainers 2025-02-27 07:12:20 -08:00
Makefile Update dependencies to Kubernetes 1.32.0 and Go 1.23.0 2024-12-12 16:36:02 +02:00
PROJECT Promote Bucket API to v1 2024-08-23 13:25:57 +03:00
README.md Add API docs for Bucket v1 2024-08-23 13:57:38 +03:00
go.mod Update `fluxcd/pkg/git` to v0.26.0 2025-04-22 10:12:49 +03:00
go.sum Update `fluxcd/pkg/git` to v0.26.0 2025-04-22 10:12:49 +03:00
main.go Introduce token cache and use it for GitHub App tokens 2025-03-12 14:45:48 +00: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, OCI, Helm repositories and S3-compatible buckets. The source-controller implements the source.toolkit.fluxcd.io API and is a core component of the GitOps toolkit.

overview

APIs

Kind API Version
GitRepository source.toolkit.fluxcd.io/v1
OCIRepository source.toolkit.fluxcd.io/v1beta2
HelmRepository source.toolkit.fluxcd.io/v1
HelmChart source.toolkit.fluxcd.io/v1
Bucket source.toolkit.fluxcd.io/v1

Features

  • authenticates to sources (SSH, user/password, API token, Workload Identity)
  • validates source authenticity (PGP, Cosign, Notation)
  • 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, Helm and OCI artifacts push events (via notification-controller)

Guides

Roadmap

The roadmap for the Flux family of projects can be found at https://fluxcd.io/roadmap/.

Contributing

This project is Apache 2.0 licensed and accepts contributions via GitHub pull requests. To start contributing please see the development guide.