Update the implementations of the helm repository downloaders to return implementation specific typed error from GetChartVersion(). This is needed to distinguish between persistent build error and transient build error. In the case of OCI charts, a transient network failure shouldn't be considered a persistent build failure of the chart and should be retried. Two repository errors, ErrReference and ErrExternal are introduced for the repository downloader implementations to provide enough context about the failure which can be used by the caller to add appropriate context as per the needs. In case of chart builder, it adds the build error context based on the repository error value. Signed-off-by: Sunny <darkowlzz@protonmail.com> |
||
|---|---|---|
| .github/workflows | ||
| api | ||
| config | ||
| controllers | ||
| docs | ||
| hack | ||
| internal | ||
| pkg | ||
| tests/fuzz | ||
| .dockerignore | ||
| .gitignore | ||
| .goreleaser.yaml | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| DCO | ||
| DEVELOPMENT.md | ||
| Dockerfile | ||
| LICENSE | ||
| MAINTAINERS | ||
| Makefile | ||
| PROJECT | ||
| README.md | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
README.md
Source controller
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.
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)
