helmchart

package
v0.4.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2026 License: AGPL-3.0 Imports: 22 Imported by: 0

Documentation

Overview

Package helmchart implements the source.Fetcher for KindHelmChart — the single authoritative path that fetches a Helm chart (by name + version) from its backing HelmRepository. OCI registries are pulled via the OCI fetcher; classic HTTP repositories via helm's getter. The HelmRelease controller synthesizes a HelmChart per (chart, version, repo) and the source controller fetches it here, so every chart pull gains retry, the content-addressed Store, and depwait uniformly with every other source kind.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Synthesize

func Synthesize(r *manifest.HelmRepository, chartName, version string) *manifest.HelmChartSource

Synthesize builds an in-memory HelmChart for a single chart served by a HelmRepository. The HelmRelease controller registers it so the source controller fetches the chart here; the chart name+version live on the consuming HelmRelease, not the HelmRepository, so there's no standalone CR. The id is syntheticChartName(...): distinct charts/versions from the same repo get distinct Store ids.

Types

type Fetcher

type Fetcher struct {
	// contains filtered or unexported fields
}

Fetcher resolves a HelmChart into an on-disk chart artifact.

func New

func New(secrets source.SecretGetter, repos RepoLookup, oci ociFetcher, cache *source.Cache, layout cacheroot.Layout) (*Fetcher, error)

New constructs a HelmChart fetcher. cache is the shared content-addressed store HTTP chart tarballs land in (so they dedup with the rest of the cache and the GC sweep sees them); layout supplies the helm tmp dir for index/TLS temp files.

func (*Fetcher) Fetch

Fetch implements source.TypedFetcher[*manifest.HelmChartSource]. It resolves the backing HelmRepository, then pulls the chart: OCI repos via the OCI fetcher (a synthesized OCIRepository), HTTP repos via the getter.

type RepoLookup

type RepoLookup func(namespace, name string) *manifest.HelmRepository

RepoLookup resolves a HelmRepository CR by (namespace, name). The orchestrator wires it against the canonical Store.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL