Dagger
Search

helm-ci

This Dagger scenario composes the local Helm and Git modules into portable
Helm chart verification and publication workflows.

Installation

dagger install github.com/riftonix/daggerverse/scenarios/helm-ci@v1.1.0

Entrypoint

Return Type
HelmCi !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -Repository root directory
helmImageRegistryString "docker.io"Helm image registry
helmImageRepositoryString "alpine/helm"Helm image repository
helmImageTagString "4.2.3"Helm image tag
helmContainerUserIdString "65532"Helm container user
gitImageRegistryString "docker.io"Git image registry for changed-chart detection
gitImageRepositoryString "alpine/git"Git image repository for changed-chart detection
gitImageTagString "v2.54.0"Git image tag for changed-chart detection
gitContainerUserIdString "65532"Git container user for changed-chart detection
helmUnittestImageRegistryString "docker.io"Helm unittest image registry
helmUnittestImageRepositoryString "helmunittest/helm-unittest"Helm unittest image repository
helmUnittestImageTagString "4.2.0-1.1.0"Helm unittest image tag
helmUnittestContainerUserIdString "65532"Helm unittest container user
Example
dagger -m github.com/riftonix/daggerverse/scenarios/helm-ci@c5e755aa38013c4c082df1da8a1a8cea98a46d44 call \
func (m *MyModule) Example() *dagger.HelmCi  {
	return dag.
			Helmci()
}
@function
def example() -> dagger.HelmCi:
	return (
		dag.helm_ci()
	)
@func()
example(): HelmCi {
	return dag
		.helmCi()
}

Types

HelmCi 🔗

publishChart() 🔗

Package and push helm chart via local helm module

Return Type
String !
Arguments
NameTypeDefault ValueDescription
ociUrlString !-

Destination OCI registry URL without chart name

versionString !-

Chart semver to publish

appVersionString null

Optional appVersion override

usernameString null

Registry username for login

passwordSecret null

Registry password

insecureBoolean false

Allow plain http pushes

Example
dagger -m github.com/riftonix/daggerverse/scenarios/helm-ci@c5e755aa38013c4c082df1da8a1a8cea98a46d44 call \
 publish-chart --oci-url string --version string
func (m *MyModule) Example(ctx context.Context, ociUrl string, version string) string  {
	return dag.
			Helmci().
			Publishchart(ctx, ociUrl, version)
}
@function
async def example(ociurl: str, version: str) -> str:
	return await (
		dag.helm_ci()
		.publishchart(ociurl, version)
	)
@func()
async example(ociUrl: string, version: string): Promise<string> {
	return dag
		.helmCi()
		.publishChart(ociUrl, version)
}

verifyChart() 🔗

Verify the Helm chart supplied as the scenario source.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
valuesFile null

Optional values.yaml file

releaseNameString !"ci-release"

Helm release name for templating

Example
dagger -m github.com/riftonix/daggerverse/scenarios/helm-ci@c5e755aa38013c4c082df1da8a1a8cea98a46d44 call \
 verify-chart --release-name string
func (m *MyModule) Example(ctx context.Context, releaseName string) string  {
	return dag.
			Helmci().
			Verifychart(ctxreleaseName)
}
@function
async def example(releasename: str) -> str:
	return await (
		dag.helm_ci()
		.verifychart(releasename)
	)
@func()
async example(releaseName: string): Promise<string> {
	return dag
		.helmCi()
		.verifyChart(releaseName)
}