helm-ci
This Dagger scenario composes the local Helm and Git modules into portableHelm chart verification and publication workflows.
Installation
dagger install github.com/riftonix/daggerverse/scenarios/helm-ci@v1.1.0Entrypoint
Return Type
HelmCi !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory | - | Repository root directory |
| helmImageRegistry | String | "docker.io" | Helm image registry |
| helmImageRepository | String | "alpine/helm" | Helm image repository |
| helmImageTag | String | "4.2.3" | Helm image tag |
| helmContainerUserId | String | "65532" | Helm container user |
| gitImageRegistry | String | "docker.io" | Git image registry for changed-chart detection |
| gitImageRepository | String | "alpine/git" | Git image repository for changed-chart detection |
| gitImageTag | String | "v2.54.0" | Git image tag for changed-chart detection |
| gitContainerUserId | String | "65532" | Git container user for changed-chart detection |
| helmUnittestImageRegistry | String | "docker.io" | Helm unittest image registry |
| helmUnittestImageRepository | String | "helmunittest/helm-unittest" | Helm unittest image repository |
| helmUnittestImageTag | String | "4.2.0-1.1.0" | Helm unittest image tag |
| helmUnittestContainerUserId | String | "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
| Name | Type | Default Value | Description |
|---|---|---|---|
| ociUrl | String ! | - | Destination OCI registry URL without chart name |
| version | String ! | - | Chart semver to publish |
| appVersion | String | null | Optional appVersion override |
| username | String | null | Registry username for login |
| password | Secret | null | Registry password |
| insecure | Boolean | false | Allow plain http pushes |
Example
dagger -m github.com/riftonix/daggerverse/scenarios/helm-ci@c5e755aa38013c4c082df1da8a1a8cea98a46d44 call \
publish-chart --oci-url string --version stringfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| values | File | null | Optional values.yaml file |
| releaseName | String ! | "ci-release" | Helm release name for templating |
Example
dagger -m github.com/riftonix/daggerverse/scenarios/helm-ci@c5e755aa38013c4c082df1da8a1a8cea98a46d44 call \
verify-chart --release-name stringfunc (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)
}