# HelmChartOptions

Helm Chart options.

- Source: [`aws-eks/lib/helm-chart.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-eks/lib/helm-chart.ts#L13)
- Type last changed: v2.238.0 · 9 Feb 2026

## Example

```ts
import * as s3Assets from 'aws-cdk-lib/aws-s3-assets';

declare const cluster: eks.Cluster;
const chartAsset = new s3Assets.Asset(this, 'ChartAsset', {
  path: '/path/to/asset'
});

cluster.addHelmChart('test-chart', {
  chartAsset: chartAsset,
});
```

## Properties

- `atomic`: boolean = false — Whether or not Helm should treat this operation as atomic;

  if set, upgrade process rolls back changes
  made in case of failed upgrade. The --wait flag will be set automatically if --atomic is used.

- `chart`: string = No chart name. Implies `chartAsset` is used. — The name of the chart.

  Either this or `chartAsset` must be specified.

  **Default:** No chart name. Implies `chartAsset` is used.

- `chartAsset`: [Asset](/cdk/api/v2/docs/aws-cdk-lib.aws_s3_assets.Asset.html) = No chart asset. Implies `chart` is used. — The chart in the form of an asset.

  Either this or `chart` must be specified.

  **Default:** No chart asset. Implies `chart` is used.

- `createNamespace`: boolean = true — create namespace if not exist.

- `namespace`: string = default — The Kubernetes namespace scope of the requests.

- `release`: string = If no release name is given, it will use the last 53 characters of the node's unique id. — The name of the release.

  **Default:** If no release name is given, it will use the last 53 characters of the node's unique id.

- `removalPolicy`: [RemovalPolicy](/cdk/api/v2/docs/aws-cdk-lib.RemovalPolicy.html) = RemovalPolicy.DESTROY — The removal policy applied to the custom resource that manages the Helm chart.

  The removal policy controls what happens to the resource if it stops being managed by CloudFormation.
  This can happen in one of three situations:

  - The resource is removed from the template, so CloudFormation stops managing it
  - A change to the resource is made that requires it to be replaced, so CloudFormation stops managing it
  - The stack is deleted, so CloudFormation stops managing all resources in it

- `repository`: string = No repository will be used, which means that the chart needs to be an absolute URL. — The repository which contains the chart.

  For example: https://charts.helm.sh/stable/

  **Default:** No repository will be used, which means that the chart needs to be an absolute URL.

- `skipCrds`: boolean = CRDs are installed if not already present — if set, no CRDs will be installed.

  **Default:** CRDs are installed if not already present

- `timeout`: [Duration](/cdk/api/v2/docs/aws-cdk-lib.Duration.html) = Duration.minutes(5) — Amount of time to wait for any individual Kubernetes operation.

  Maximum 15 minutes.

- `values`: { [key: string]: any } = No values are provided to the chart. — The values to be used by the chart.

  For nested values use a nested dictionary. For example:
  values: {
   installationCRDs: true,
   webhook: { port: 9443 }
  }

  **Default:** No values are provided to the chart.

- `version`: string = If this is not specified, the latest version is installed — The chart version to install.

  **Default:** If this is not specified, the latest version is installed

- `wait`: boolean = Helm will not wait before marking release as successful — Whether or not Helm should wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as successful.

  **Default:** Helm will not wait before marking release as successful
