Skip to content

K8sHelmRelease

K8sHelmRelease installs or upgrades a Helm chart on the target cluster. Supports custom values, version pinning, chart repositories, and server-side apply with pruning.

Property Type Required Description
cluster KubernetesCluster | string Target cluster
namespace K8sNamespace | string Namespace to install into
dependsOn string[] Explicit dependency ordering
chart string Chart name (e.g., nginx-ingress, ./local-chart)
repo string Helm repository URL (e.g., https://charts.bitnami.com/bitnami)
version string Chart version constraint (e.g., ^4.0.0)
values Record<string, unknown> Inline values (merged with any values file)
valuesFile string Path to a values YAML file
prune boolean Remove resources not in the chart (defaults to true)
forceConflicts boolean Force apply on resource conflicts (defaults to true)
const nginxIngress = new K8sHelmRelease({
name: 'nginx-ingress',
cluster: myCluster,
namespace: 'ingress-nginx',
chart: 'ingress-nginx',
repo: 'https://kubernetes.github.io/ingress-nginx',
version: '4.10.0',
values: {
controller: {
replicaCount: 2,
service: { type: 'LoadBalancer' },
},
},
})
// Local chart with values file
const app = new K8sHelmRelease({
name: 'my-app',
cluster: myCluster,
chart: './charts/my-app',
valuesFile: './values/production.yaml',
values: {
image: { tag: '1.2.3' },
},
})
Provider Supported
Kubernetes
Hetzner
DigitalOcean
AWS
GCP