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.2.0Entrypoint
Return Type
Helm !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| source | Directory ! | - | Helm chart host path | 
| imageRegistry | String | "docker.io" | Helm image registry | 
| imageRepository | String | "alpine/helm" | Helm image repositroy | 
| imageTag | String | "3.18.6" | Helm image tag | 
| user | String | "65532" | Helm image user | 
Example
dagger -m github.com/riftonix/daggerverse/helm@30449b5a430647598e5faf7b22167e94f70a6da7 call \
 --source DIR_PATHfunc (m *MyModule) Example(source *dagger.Directory) *dagger.Helm  {
	return dag.
			Helm(source)
}@function
def example(source: dagger.Directory, ) -> dagger.Helm:
	return (
		dag.helm(source)
	)@func()
example(source: Directory, ): Helm {
	return dag
		.helm(source)
}Types
Helm 🔗
Dagger-ci helm module
container() 🔗
Creates container with configured helm
Return Type
Container !Example
dagger -m github.com/riftonix/daggerverse/helm@30449b5a430647598e5faf7b22167e94f70a6da7 call \
 --source DIR_PATH containerfunc (m *MyModule) Example(source *dagger.Directory) *dagger.Container  {
	return dag.
			Helm(source).
			Container()
}@function
def example(source: dagger.Directory, ) -> dagger.Container:
	return (
		dag.helm(source)
		.container()
	)@func()
example(source: Directory, ): Container {
	return dag
		.helm(source)
		.container()
}lint() 🔗
Functions for helm chart linting
Return Type
String !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| strict | Boolean | false | Fail on lint warnings | 
| errorsOnly | Boolean | false | Print only warnings and errors | 
Example
dagger -m github.com/riftonix/daggerverse/helm@30449b5a430647598e5faf7b22167e94f70a6da7 call \
 --source DIR_PATH lintfunc (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Helm(source).
			Lint(ctx)
}@function
async def example(source: dagger.Directory, ) -> str:
	return await (
		dag.helm(source)
		.lint()
	)@func()
async example(source: Directory, ): Promise<string> {
	return dag
		.helm(source)
		.lint()
}package() 🔗
Packages a chart into a versioned chart archive file
Return Type
File !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| appVersion | String | "" | Set the appVersion on the chart to this version | 
| version | String | "" | Set the version on the chart to this semver version | 
Example
dagger -m github.com/riftonix/daggerverse/helm@30449b5a430647598e5faf7b22167e94f70a6da7 call \
 --source DIR_PATH packagefunc (m *MyModule) Example(source *dagger.Directory) *dagger.File  {
	return dag.
			Helm(source).
			Package()
}@function
def example(source: dagger.Directory, ) -> dagger.File:
	return (
		dag.helm(source)
		.package()
	)@func()
example(source: Directory, ): File {
	return dag
		.helm(source)
		.package()
}push() 🔗
Function for helm chart publishing
Return Type
String !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| ociUrl | String ! | - | Oci package address without package name and url | 
| version | String | "" | Set the version on the chart to this semver version | 
| insecure | Boolean | false | Use insecure HTTP connections for the chart upload | 
| appVersion | String | "" | Set the appVersion on the chart to this version | 
Example
dagger -m github.com/riftonix/daggerverse/helm@30449b5a430647598e5faf7b22167e94f70a6da7 call \
 --source DIR_PATH push --oci-url stringfunc (m *MyModule) Example(ctx context.Context, source *dagger.Directory, ociUrl string) string  {
	return dag.
			Helm(source).
			Push(ctx, ociUrl)
}@function
async def example(source: dagger.Directory, oci_url: str) -> str:
	return await (
		dag.helm(source)
		.push(oci_url)
	)@func()
async example(source: Directory, ociUrl: string): Promise<string> {
	return dag
		.helm(source)
		.push(ociUrl)
}template() 🔗
Templates helm chart
Return Type
String !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| values | File | null | Values.yaml file | 
| releaseName | String ! | "ci-release" | Release name | 
Example
dagger -m github.com/riftonix/daggerverse/helm@30449b5a430647598e5faf7b22167e94f70a6da7 call \
 --source DIR_PATH template --release-name stringfunc (m *MyModule) Example(ctx context.Context, source *dagger.Directory, releaseName string) string  {
	return dag.
			Helm(source).
			Template(ctxreleaseName)
}@function
async def example(source: dagger.Directory, release_name: str) -> str:
	return await (
		dag.helm(source)
		.template(release_name)
	)@func()
async example(source: Directory, releaseName: string): Promise<string> {
	return dag
		.helm(source)
		.template(releaseName)
}withDependencyUpdate() 🔗
Functions which runs helm dependency update
Return Type
Helm !Example
dagger -m github.com/riftonix/daggerverse/helm@30449b5a430647598e5faf7b22167e94f70a6da7 call \
 --source DIR_PATH with-dependency-updatefunc (m *MyModule) Example(source *dagger.Directory) *dagger.Helm  {
	return dag.
			Helm(source).
			WithDependencyUpdate()
}@function
def example(source: dagger.Directory, ) -> dagger.Helm:
	return (
		dag.helm(source)
		.with_dependency_update()
	)@func()
example(source: Directory, ): Helm {
	return dag
		.helm(source)
		.withDependencyUpdate()
}withRegistryLogin() 🔗
Function for helm registry authentication
Return Type
Helm !Arguments
| Name | Type | Default Value | Description | 
|---|---|---|---|
| username | String ! | - | Registry username | 
| password | Secret ! | - | Registry password | 
| address | String | "docker.io" | Registry host | 
Example
dagger -m github.com/riftonix/daggerverse/helm@30449b5a430647598e5faf7b22167e94f70a6da7 call \
 --source DIR_PATH with-registry-login --username string --password env:MYSECRETfunc (m *MyModule) Example(source *dagger.Directory, username string, password *dagger.Secret) *dagger.Helm  {
	return dag.
			Helm(source).
			WithRegistryLogin(username, password)
}@function
def example(source: dagger.Directory, username: str, password: dagger.Secret) -> dagger.Helm:
	return (
		dag.helm(source)
		.with_registry_login(username, password)
	)@func()
example(source: Directory, username: string, password: Secret): Helm {
	return dag
		.helm(source)
		.withRegistryLogin(username, password)
}