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@fc89d51a6512f509709dee7ee653445f44faeb35Entrypoint
Return Type
Helm !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| helmVersion | String ! | "3.17.3" | Version de Helm à utiliser. |
Example
dagger -m gitlab.com/build-core/daggerverse/helm@fc89d51a6512f509709dee7ee653445f44faeb35 call \
--helm-version stringfunc (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-versionfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| src | Directory ! | - | Répertoire source contenant le chart. |
| chartPath | String ! | "charts" | Chemin vers le répertoire du chart dans src. |
| chartVersion | String ! | "" | Version semver du chart (écrase Chart.yaml). Exemple : 1.2.3 ou 0.0.0-main. |
| appVersion | String ! | "" | 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 stringfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| src | Directory ! | - | Répertoire source contenant le chart. |
| chartPath | String ! | "charts" | Chemin vers le répertoire du chart dans src. |
| ociNamespace | String ! | - | Namespace OCI de destination. Exemple : build-core/factory/application. |
| registry | String ! | "registry.gitlab.com" | Registry OCI de destination. Exemple : registry.gitlab.com. |
| username | String ! | - | Username du registry. |
| password | Secret ! | - | Password du registry. |
| commitTag | String ! | "" | Variable CI_COMMIT_TAG — tag git si présent, utilisé comme version en production. |
| commitRefSlug | String ! | "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 stringfunc (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)
}