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@a4fcaea14db97213c2dc990fb4151cdb0e22f411

Entrypoint

Return Type
HelmCi !
Arguments
NameTypeDefault ValueDescription
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
Example
dagger -m github.com/riftonix/daggerverse/scenarios/helm-ci@a4fcaea14db97213c2dc990fb4151cdb0e22f411 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 🔗

helmPublish() 🔗

Package and push helm chart via local helm module

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -

Helm chart directory

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@a4fcaea14db97213c2dc990fb4151cdb0e22f411 call \
 helm-publish --oci-url string --version string
func (m *MyModule) Example(ctx context.Context, ociUrl string, version string) string  {
	return dag.
			Helmci().
			Helmpublish(ctxociUrl, version)
}
@function
async def example(ociurl: str, version: str) -> str:
	return await (
		dag.helm_ci()
		.helmpublish(ociurl, version)
	)
@func()
async example(ociUrl: string, version: string): Promise<string> {
	return dag
		.helmCi()
		.helmPublish(ociUrl, version)
}

helmVerify() 🔗

Run Helm lint and template via local helm module

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -

Helm chart directory

valuesFile null

Optional values.yaml file

releaseNameString !"ci-release"

Helm release name for templating

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

verifyCharts() 🔗

Verify changed chart components discovered from caller-provided chart root patterns.

Return Type
[String ! ] !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -

Repository root directory

baseRefString !-

Base ref to compare changed chart components against

headRefString !"HEAD"

Head ref to compare changed chart components from

chartsPath[String ! ] null

Glob-like chart component root pattern relative to source, for example charts/*; repeat for multiple roots

valuesFile null

Optional values.yaml file

releaseNameString !"ci-release"

Helm release name for templating

Example
dagger -m github.com/riftonix/daggerverse/scenarios/helm-ci@a4fcaea14db97213c2dc990fb4151cdb0e22f411 call \
 verify-charts --base-ref string --head-ref string --release-name string
func (m *MyModule) Example(ctx context.Context, baseRef string, headRef string, releaseName string) []string  {
	return dag.
			Helmci().
			Verifycharts(ctxbaseRef, headRef, releaseName)
}
@function
async def example(baseref: str, headref: str, releasename: str) -> List[str]:
	return await (
		dag.helm_ci()
		.verifycharts(baseref, headref, releasename)
	)
@func()
async example(baseRef: string, headRef: string, releaseName: string): Promise<string[]> {
	return dag
		.helmCi()
		.verifyCharts(baseRef, headRef, releaseName)
}