It looks like the use of chartutil.ProcessDependencies in the HelmChart Controller was not correct, this method seems to be used in Helm only during install/upgrade. The intention was to load the dependencies but this seems to not be needed as it's already done through the loaders (loader.Load). The use of this method caused a regression where Chart.yaml files would be overwritten and registered subcharts that had aliases would be renamed using the alias name. While this is an expected behaviour of chartutil.ProcessDependencies it is not what the controller should do to the chart during (re)packaging. Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com> |
||
---|---|---|
.github/workflows | ||
api | ||
config | ||
controllers | ||
docs | ||
hack | ||
internal | ||
pkg/git | ||
.gitignore | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
DCO | ||
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)