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.1.0
Entrypoint
Return Type
Helm !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
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@f46e9c8b6f6e4ec23cce370e493ad709bf71943e 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
container() 🔗
Creates container with configured helm
Return Type
Container !
Example
dagger -m github.com/riftonix/daggerverse/helm@f46e9c8b6f6e4ec23cce370e493ad709bf71943e 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
Name | Type | Default Value | Description |
---|---|---|---|
source | Directory ! | - | Helm chart host path |
strict | Boolean | false | Fail on lint warnings |
Example
dagger -m github.com/riftonix/daggerverse/helm@f46e9c8b6f6e4ec23cce370e493ad709bf71943e 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
Name | Type | Default Value | Description |
---|---|---|---|
source | Directory ! | - | Chart directory |
appVersion | String | "" | Set the appVersion on the chart to this version |
version | String | "" | Set the version on the chart to this semver version |
dependencyUpdate | Boolean | false | Update dependencies |
Example
dagger -m github.com/riftonix/daggerverse/helm@f46e9c8b6f6e4ec23cce370e493ad709bf71943e 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
Name | Type | Default Value | Description |
---|---|---|---|
source | Directory ! | - | Chart directory |
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 |
dependencyUpdate | Boolean | false | Update dependencies |
Example
dagger -m github.com/riftonix/daggerverse/helm@f46e9c8b6f6e4ec23cce370e493ad709bf71943e call \
push --source DIR_PATH --oci-url string
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, ociUrl string) string {
return dag.
Helm().
Push(ctx, source, ociUrl)
}
@function
async def example(source: dagger.Directory, oci_url: str) -> str:
return await (
dag.helm()
.push(source, oci_url)
)
@func()
async example(source: Directory, ociUrl: string): Promise<string> {
return dag
.helm()
.push(source, ociUrl)
}
template() 🔗
Templates helm chart
Return Type
String !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
source | Directory ! | - | Helm chart directory |
values | File | null | Values.yaml file |
releaseName | String ! | "ci-release" | Release name |
dependencyUpdate | Boolean | false | Update dependencies |
Example
dagger -m github.com/riftonix/daggerverse/helm@f46e9c8b6f6e4ec23cce370e493ad709bf71943e 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)
}
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@f46e9c8b6f6e4ec23cce370e493ad709bf71943e call \
with-registry-login --username string --password env:MYSECRET
func (m *MyModule) Example(username string, password *dagger.Secret) *dagger.Helm {
return dag.
Helm().
WithRegistryLogin(username, password)
}
@function
def example(username: str, password: dagger.Secret) -> dagger.Helm:
return (
dag.helm()
.with_registry_login(username, password)
)
@func()
example(username: string, password: Secret): Helm {
return dag
.helm()
.withRegistryLogin(username, password)
}