Dagger
Search

helm

Ce module expose deux fonctions :
- Package : package un chart Helm et retourne le répertoire contenant l'archive .tgz.
- Publish : package le chart et le pousse vers un registry OCI (ex: GitLab Container Registry).

Le versioning suit la convention du module ci/ : tag git en production, pré-release semver en développement.

Installation

dagger install gitlab.com/build-core/daggerverse/helm@fc89d51a6512f509709dee7ee653445f44faeb35

Entrypoint

Return Type
Helm !
Arguments
NameTypeDefault ValueDescription
helmVersionString !"3.17.3"Version de Helm à utiliser.
Example
dagger -m gitlab.com/build-core/daggerverse/helm@fc89d51a6512f509709dee7ee653445f44faeb35 call \
 --helm-version string
func (m *MyModule) Example(helmVersion string) *dagger.Helm  {
	return dag.
			Helm(helmVersion)
}
@function
def example(helm_version: str) -> dagger.Helm:
	return (
		dag.helm(helm_version)
	)
@func()
example(helmVersion: string): Helm {
	return dag
		.helm(helmVersion)
}

Types

Helm 🔗

helmVersion() 🔗

Version de Helm à utiliser.

Return Type
String !
Example
dagger -m gitlab.com/build-core/daggerverse/helm@fc89d51a6512f509709dee7ee653445f44faeb35 call \
 --helm-version string helm-version
func (m *MyModule) Example(ctx context.Context, helmVersion string) string  {
	return dag.
			Helm(helmVersion).
			HelmVersion(ctx)
}
@function
async def example(helm_version: str) -> str:
	return await (
		dag.helm(helm_version)
		.helm_version()
	)
@func()
async example(helmVersion: string): Promise<string> {
	return dag
		.helm(helmVersion)
		.helmVersion()
}

package() 🔗

Package package un chart Helm et retourne le répertoire contenant l’archive .tgz.

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-Répertoire source contenant le chart.
chartPathString !"charts"Chemin vers le répertoire du chart dans src.
chartVersionString !""Version semver du chart (écrase Chart.yaml). Exemple : 1.2.3 ou 0.0.0-main.
appVersionString !""AppVersion embarquée dans le chart (écrase Chart.yaml).
Example
dagger -m gitlab.com/build-core/daggerverse/helm@fc89d51a6512f509709dee7ee653445f44faeb35 call \
 --helm-version string package --src DIR_PATH --chart-path string --chart-version string --app-version string
func (m *MyModule) Example(helmVersion string, src *dagger.Directory, chartPath string, chartVersion string, appVersion string) *dagger.Directory  {
	return dag.
			Helm(helmVersion).
			Package(src, chartPath, chartVersion, appVersion)
}
@function
def example(helm_version: str, src: dagger.Directory, chart_path: str, chart_version: str, app_version: str) -> dagger.Directory:
	return (
		dag.helm(helm_version)
		.package(src, chart_path, chart_version, app_version)
	)
@func()
example(helmVersion: string, src: Directory, chartPath: string, chartVersion: string, appVersion: string): Directory {
	return dag
		.helm(helmVersion)
		.package(src, chartPath, chartVersion, appVersion)
}

publish() 🔗

Publish package un chart Helm et le pousse vers un registry OCI. Retourne la sortie de helm push (référence OCI Le versioning est automatique : - Si commitTag est fourni (ex: v1.2.3) → version de production (semver sans préfixe v). - Sinon → pré-release semver 0.0.0-.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-Répertoire source contenant le chart.
chartPathString !"charts"Chemin vers le répertoire du chart dans src.
ociNamespaceString !-Namespace OCI de destination. Exemple : build-core/factory/application.
registryString !"registry.gitlab.com"Registry OCI de destination. Exemple : registry.gitlab.com.
usernameString !-Username du registry.
passwordSecret !-Password du registry.
commitTagString !""Variable CI_COMMIT_TAG — tag git si présent, utilisé comme version en production.
commitRefSlugString !"dev"Variable CI_COMMIT_REF_SLUG — branche courante, utilisée en développement.
Example
dagger -m gitlab.com/build-core/daggerverse/helm@fc89d51a6512f509709dee7ee653445f44faeb35 call \
 --helm-version string publish --src DIR_PATH --chart-path string --oci-namespace string --registry string --username string --password env:MYSECRET --commit-tag string --commit-ref-slug string
func (m *MyModule) Example(ctx context.Context, helmVersion string, src *dagger.Directory, chartPath string, ociNamespace string, registry string, username string, password *dagger.Secret, commitTag string, commitRefSlug string) string  {
	return dag.
			Helm(helmVersion).
			Publish(ctx, src, chartPath, ociNamespace, registry, username, password, commitTag, commitRefSlug)
}
@function
async def example(helm_version: str, src: dagger.Directory, chart_path: str, oci_namespace: str, registry: str, username: str, password: dagger.Secret, commit_tag: str, commit_ref_slug: str) -> str:
	return await (
		dag.helm(helm_version)
		.publish(src, chart_path, oci_namespace, registry, username, password, commit_tag, commit_ref_slug)
	)
@func()
async example(helmVersion: string, src: Directory, chartPath: string, ociNamespace: string, registry: string, username: string, password: Secret, commitTag: string, commitRefSlug: string): Promise<string> {
	return dag
		.helm(helmVersion)
		.publish(src, chartPath, ociNamespace, registry, username, password, commitTag, commitRefSlug)
}