Dagger
Search

helm

This module has been generated via dagger init and serves as a reference to
basic module structure as you get started with Dagger.

Two functions have been pre-created. You can modify, delete, or add to them,
as needed. They demonstrate usage of arguments and return types using simple
echo and grep commands. The functions can be called from the dagger CLI or
from one of the SDKs.

The first line in this comment block is a short description line and the
rest is a long description with more detail on the module's purpose or usage,
if appropriate. All modules should have a short description.

Installation

dagger install github.com/stuttgart-things/dagger/helm@v0.110.0

Entrypoint

Return Type
Helm
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
func (m *MyModule) Example() *dagger.Helm  {
	return dag.
			Helm()
}
@function
def example() -> dagger.Helm:
	return (
		dag.helm()
	)
@func()
example(): Helm {
	return dag
		.helm()
}

Types

Helm 🔗

baseImage() 🔗

Return Type
String !
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 base-image
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Helm().
			BaseImage(ctx)
}
@function
async def example() -> str:
	return await (
		dag.helm()
		.base_image()
	)
@func()
async example(): Promise<string> {
	return dag
		.helm()
		.baseImage()
}

conftest() 🔗

Conftest renders a chart and evaluates the caller-supplied Rego policy directory with conftest test. The policy set is deferred; this function exists now so the signature is frozen and consumers can wire calls before policies land.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-No description provided
valuesFileFile -No description provided
policyDirDirectory -No description provided
registrySecretSecret -No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 conftest --src DIR_PATH
func (m *MyModule) Example(ctx context.Context, src *dagger.Directory) string  {
	return dag.
			Helm().
			Conftest(ctx, src)
}
@function
async def example(src: dagger.Directory) -> str:
	return await (
		dag.helm()
		.conftest(src)
	)
@func()
async example(src: Directory): Promise<string> {
	return dag
		.helm()
		.conftest(src)
}

dependencyUpdate() 🔗

DependencyUpdate updates the dependencies of a chart.

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 dependency-update --src DIR_PATH
func (m *MyModule) Example(src *dagger.Directory) *dagger.Directory  {
	return dag.
			Helm().
			DependencyUpdate(src)
}
@function
def example(src: dagger.Directory) -> dagger.Directory:
	return (
		dag.helm()
		.dependency_update(src)
	)
@func()
example(src: Directory): Directory {
	return dag
		.helm()
		.dependencyUpdate(src)
}

diff() 🔗

Diff runs helmfile diff against the cluster pointed to by kubeConfig, showing what would change for the releases declared in the helmfile. Read-only; does not apply changes.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
srcDirectory -No description provided
helmfileRefString "helmfile.yaml"No description provided
stateValuesString -Comma-separated key=value pairs for --state-values-set
registrySecretSecret -No description provided
kubeConfigSecret !-No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 diff --kube-config env:MYSECRET
func (m *MyModule) Example(ctx context.Context, kubeConfig *dagger.Secret) string  {
	return dag.
			Helm().
			Diff(ctxkubeConfig)
}
@function
async def example(kube_config: dagger.Secret) -> str:
	return await (
		dag.helm()
		.diff(kube_config)
	)
@func()
async example(kubeConfig: Secret): Promise<string> {
	return dag
		.helm()
		.diff(kubeConfig)
}

execute() 🔗

Return Type
Void !
Arguments
NameTypeDefault ValueDescription
srcDirectory -No description provided
releaseNameString !-No description provided
chartPathString -Chart path (not needed for uninstall operation)
valuesFileFile -No description provided
operationString "install"No description provided
registrySecretSecret -No description provided
namespaceString !-No description provided
kubeConfigSecret -No description provided
valuesString -Comma-separated values (e.g., "key1=val1,key2=val2")
repoUrlString -Helm repository URL for traditional charts (e.g., "https://helm.cilium.io") Not needed for OCI charts (oci://...) or local charts
repoNameString -Repository name for traditional charts (e.g., "cilium")
versionString -Chart version (e.g., "1.2.3")
waitBoolean -Wait for resources to be ready (--wait)
timeoutString -Timeout for --wait, e.g. "5m", "300s" (--timeout)
atomicBoolean -Roll back the release if the install/upgrade fails (--atomic)
dryRunBoolean -Render templates and validate against the cluster but do not apply changes (--dry-run)
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 execute --release-name string --namespace string
func (m *MyModule) Example(ctx context.Context, releaseName string, namespace string)   {
	return dag.
			Helm().
			Execute(ctxreleaseName, namespace)
}
@function
async def example(release_name: str, namespace: str) -> None:
	return await (
		dag.helm()
		.execute(release_name, namespace)
	)
@func()
async example(releaseName: string, namespace: string): Promise<void> {
	return dag
		.helm()
		.execute(releaseName, namespace)
}

helmfileOperation() 🔗

Return Type
Void !
Arguments
NameTypeDefault ValueDescription
srcDirectory -No description provided
helmfileRefString "helmfile.yaml"No description provided
operationString "apply"No description provided
stateValuesString -Comma-separated key=value pairs for --state-values-set (e.g., "issuerName=cluster-issuer-approle,domain=demo.example.com")
registrySecretSecret -No description provided
kubeConfigSecret -No description provided
vaultAppRoleIdSecret -No description provided
vaultSecretIdSecret -No description provided
vaultUrlSecret -No description provided
secretPathKubeconfigString -No description provided
vaultAuthMethodString "approle"No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 helmfile-operation
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			Helm().
			HelmfileOperation(ctx)
}
@function
async def example() -> None:
	return await (
		dag.helm()
		.helmfile_operation()
	)
@func()
async example(): Promise<void> {
	return dag
		.helm()
		.helmfileOperation()
}

kubeconform() 🔗

Return Type
String !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-No description provided
valuesFileFile -No description provided
schemaLocations[String ! ] -No description provided
registrySecretSecret -No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 kubeconform --src DIR_PATH
func (m *MyModule) Example(ctx context.Context, src *dagger.Directory) string  {
	return dag.
			Helm().
			Kubeconform(ctx, src)
}
@function
async def example(src: dagger.Directory) -> str:
	return await (
		dag.helm()
		.kubeconform(src)
	)
@func()
async example(src: Directory): Promise<string> {
	return dag
		.helm()
		.kubeconform(src)
}

lint() 🔗

Return Type
String !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 lint --src DIR_PATH
func (m *MyModule) Example(ctx context.Context, src *dagger.Directory) string  {
	return dag.
			Helm().
			Lint(ctx, src)
}
@function
async def example(src: dagger.Directory) -> str:
	return await (
		dag.helm()
		.lint(src)
	)
@func()
async example(src: Directory): Promise<string> {
	return dag
		.helm()
		.lint(src)
}

package() 🔗

Package updates the dependencies of a chart and packages the Helm chart.

Return Type
File !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 package --src DIR_PATH
func (m *MyModule) Example(src *dagger.Directory) *dagger.File  {
	return dag.
			Helm().
			Package(src)
}
@function
def example(src: dagger.Directory) -> dagger.File:
	return (
		dag.helm()
		.package(src)
	)
@func()
example(src: Directory): File {
	return dag
		.helm()
		.package(src)
}

push() 🔗

Return Type
String !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-No description provided
registryString !-No description provided
repositoryString !-No description provided
usernameString !-No description provided
passwordSecret !-No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 push --src DIR_PATH --registry string --repository string --username string --password env:MYSECRET
func (m *MyModule) Example(ctx context.Context, src *dagger.Directory, registry string, repository string, username string, password *dagger.Secret) string  {
	return dag.
			Helm().
			Push(ctx, src, registry, repository, username, password)
}
@function
async def example(src: dagger.Directory, registry: str, repository: str, username: str, password: dagger.Secret) -> str:
	return await (
		dag.helm()
		.push(src, registry, repository, username, password)
	)
@func()
async example(src: Directory, registry: string, repository: string, username: string, password: Secret): Promise<string> {
	return dag
		.helm()
		.push(src, registry, repository, username, password)
}

render() 🔗

Return Type
String !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-No description provided
valuesFileFile -No description provided
registrySecretSecret -No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 render --src DIR_PATH
func (m *MyModule) Example(ctx context.Context, src *dagger.Directory) string  {
	return dag.
			Helm().
			Render(ctx, src)
}
@function
async def example(src: dagger.Directory) -> str:
	return await (
		dag.helm()
		.render(src)
	)
@func()
async example(src: Directory): Promise<string> {
	return dag
		.helm()
		.render(src)
}

renderHelmfile() 🔗

Return Type
String !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-No description provided
pathHelmfileString "./"No description provided
helmfileNameString "helmfile.yaml"No description provided
stateValuesString -Comma-separated key=value pairs for --state-values-set (mirrors HelmfileOperation's stateValues surface).
registrySecretSecret -No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 render-helmfile --src DIR_PATH
func (m *MyModule) Example(ctx context.Context, src *dagger.Directory) string  {
	return dag.
			Helm().
			RenderHelmfile(ctx, src)
}
@function
async def example(src: dagger.Directory) -> str:
	return await (
		dag.helm()
		.render_helmfile(src)
	)
@func()
async example(src: Directory): Promise<string> {
	return dag
		.helm()
		.renderHelmfile(src)
}

test() 🔗

Test runs helm test <release> against an existing release. Requires a kubeconfig pointing at the cluster the release lives in.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
releaseNameString !-No description provided
namespaceString !-No description provided
kubeConfigSecret !-No description provided
timeoutString -Container timeout for the test pods (e.g. "5m", "300s")
logsBoolean -Show pod logs even on success
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 test --release-name string --namespace string --kube-config env:MYSECRET
func (m *MyModule) Example(ctx context.Context, releaseName string, namespace string, kubeConfig *dagger.Secret) string  {
	return dag.
			Helm().
			Test(ctx, releaseName, namespace, kubeConfig)
}
@function
async def example(release_name: str, namespace: str, kube_config: dagger.Secret) -> str:
	return await (
		dag.helm()
		.test(release_name, namespace, kube_config)
	)
@func()
async example(releaseName: string, namespace: string, kubeConfig: Secret): Promise<string> {
	return dag
		.helm()
		.test(releaseName, namespace, kubeConfig)
}

validateChart() 🔗

Return Type
File !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-No description provided
valuesFileFile -No description provided
registrySecretSecret -No description provided
severityString "error"No description provided
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 validate-chart --src DIR_PATH
func (m *MyModule) Example(src *dagger.Directory) *dagger.File  {
	return dag.
			Helm().
			ValidateChart(src)
}
@function
def example(src: dagger.Directory) -> dagger.File:
	return (
		dag.helm()
		.validate_chart(src)
	)
@func()
example(src: Directory): File {
	return dag
		.helm()
		.validateChart(src)
}

version() 🔗

Version returns the versions of every binary baked into the helm container (helm, helmfile, polaris, kubeconform, conftest, vals, kubectl). Useful for debugging behavior drift between module releases.

Return Type
String !
Example
dagger -m github.com/stuttgart-things/dagger/helm@dd5105f38192107b2e30f6304bab7c550e767a60 call \
 version
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Helm().
			Version(ctx)
}
@function
async def example() -> str:
	return await (
		dag.helm()
		.version()
	)
@func()
async example(): Promise<string> {
	return dag
		.helm()
		.version()
}