Dagger
Search

helm

It includes functions to lint, render, package, and push Helm charts,
making it easy to integrate chart validation and distribution into CI/CD workflows.
This module is designed to streamline Helm chart development and delivery,
ensuring charts are consistently validated, packaged, and distributed within automated builds.

Installation

dagger install github.com/riftonix/daggerverse/helm@v1.0.1

Entrypoint

Return Type
Helm !
Arguments
NameTypeDefault ValueDescription
imageRegistryString "docker.io"Helm image registry
imageRepositoryString "alpine/helm"Helm image repositroy
imageTagString "3.18.6"Helm image tag
userString "65532"Helm image user
Example
dagger -m github.com/riftonix/daggerverse/helm@5bfc6ff5e01c620e94a3cfdb19b11822b41ef73f 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 🔗

Dagger-ci helm module

authInRegistry() 🔗

Function for helm registry authentication

Return Type
Helm !
Arguments
NameTypeDefault ValueDescription
usernameString !-

Registry username

passwordSecret !-

Registry password

addressString "docker.io"

Registry host

Example
dagger -m github.com/riftonix/daggerverse/helm@5bfc6ff5e01c620e94a3cfdb19b11822b41ef73f call \
 auth-in-registry --username string --password env:MYSECRET
func (m *MyModule) Example(username string, password *dagger.Secret) *dagger.Helm  {
	return dag.
			Helm().
			AuthInRegistry(username, password)
}
@function
def example(username: str, password: dagger.Secret) -> dagger.Helm:
	return (
		dag.helm()
		.auth_in_registry(username, password)
	)
@func()
example(username: string, password: Secret): Helm {
	return dag
		.helm()
		.authInRegistry(username, password)
}

container() 🔗

Creates container with configured helm

Return Type
Container !
Example
dagger -m github.com/riftonix/daggerverse/helm@5bfc6ff5e01c620e94a3cfdb19b11822b41ef73f call \
 container
func (m *MyModule) Example() *dagger.Container  {
	return dag.
			Helm().
			Container()
}
@function
def example() -> dagger.Container:
	return (
		dag.helm()
		.container()
	)
@func()
example(): Container {
	return dag
		.helm()
		.container()
}

lint() 🔗

Functions for helm chart linting

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-

Helm chart host path

strictBoolean false

Fail on lint warnings

Example
dagger -m github.com/riftonix/daggerverse/helm@5bfc6ff5e01c620e94a3cfdb19b11822b41ef73f call \
 lint --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Helm().
			Lint(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.helm()
		.lint(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.helm()
		.lint(source)
}

package() 🔗

Packages a chart into a versioned chart archive file

Return Type
File !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-

Chart directory

appVersionString ""

Set the appVersion on the chart to this version

versionString ""

Set the version on the chart to this semver version

dependencyUpdateBoolean false

Update dependencies

Example
dagger -m github.com/riftonix/daggerverse/helm@5bfc6ff5e01c620e94a3cfdb19b11822b41ef73f call \
 package --source DIR_PATH
func (m *MyModule) Example(source *dagger.Directory) *dagger.File  {
	return dag.
			Helm().
			Package(source)
}
@function
def example(source: dagger.Directory) -> dagger.File:
	return (
		dag.helm()
		.package(source)
	)
@func()
example(source: Directory): File {
	return dag
		.helm()
		.package(source)
}

push() 🔗

Function for helm chart publishing

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-

Chart directory

registryString !-

Registry host

repositoryString ""

Repository path

versionString ""

Set the version on the chart to this semver version

usernameString ""

Registry username

passwordSecret null

Registry password

insecureBoolean false

Use insecure HTTP connections for the chart upload

appVersionString ""

Set the appVersion on the chart to this version

dependencyUpdateBoolean false

Update dependencies

Example
dagger -m github.com/riftonix/daggerverse/helm@5bfc6ff5e01c620e94a3cfdb19b11822b41ef73f call \
 push --source DIR_PATH --registry string
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, registry string) string  {
	return dag.
			Helm().
			Push(ctx, source, registry)
}
@function
async def example(source: dagger.Directory, registry: str) -> str:
	return await (
		dag.helm()
		.push(source, registry)
	)
@func()
async example(source: Directory, registry: string): Promise<string> {
	return dag
		.helm()
		.push(source, registry)
}

template() 🔗

Templates helm chart

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-

Helm chart directory

valuesFile null

Values.yaml file

releaseNameString !"ci-release"

Release name

Example
dagger -m github.com/riftonix/daggerverse/helm@5bfc6ff5e01c620e94a3cfdb19b11822b41ef73f call \
 template --source DIR_PATH --release-name string
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, releaseName string) string  {
	return dag.
			Helm().
			Template(ctx, source, releaseName)
}
@function
async def example(source: dagger.Directory, release_name: str) -> str:
	return await (
		dag.helm()
		.template(source, release_name)
	)
@func()
async example(source: Directory, releaseName: string): Promise<string> {
	return dag
		.helm()
		.template(source, releaseName)
}