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.0
Entrypoint
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_PATH
func (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 container
func (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 lint
func (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 package
func (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 string
func (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 string
func (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-update
func (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:MYSECRET
func (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)
}