kubernetes.helm.sh/v3.Release
Explore with Pulumi AI
A Release is an instance of a chart running in a Kubernetes cluster. A Chart is a Helm package. It contains all the
resource definitions necessary to run an application, tool, or service inside a Kubernetes cluster.
This resource models a Helm Release as if it were created by the Helm CLI. The underlying implementation embeds Helm as a library to perform the orchestration of the resources. As a result, the full spectrum of Helm features are supported natively.
You may also want to consider the Chart resource as an alternative method for managing helm charts. For more information about the trade-offs between these options see: Choosing the right Helm resource for your use case
Example Usage
Local Chart Directory
using Pulumi;
using Pulumi.Kubernetes.Types.Inputs.Helm.V3;
using Pulumi.Kubernetes.Helm.V3;
class HelmStack : Stack
{
    public HelmStack()
    {
        var nginx = new Release("nginx-ingress", new ReleaseArgs
        {
            Chart = "./nginx-ingress",
        });
    }
}
package main
import (
	"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewRelease(ctx, "nginx-ingress", &helm.ReleaseArgs{
			Chart: pulumi.String("./nginx-ingress"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as k8s from "@pulumi/kubernetes";
const nginxIngress = new k8s.helm.v3.Release("nginx-ingress", {
    chart: "./nginx-ingress",
});
from pulumi_kubernetes.helm.v3 import Release, ReleaseArgs
nginx_ingress = Release(
    "nginx-ingress",
    ReleaseArgs(
        chart="./nginx-ingress",
    ),
)
Coming soon!
Remote Chart
using Pulumi;
using Pulumi.Kubernetes.Types.Inputs.Helm.V3;
using Pulumi.Kubernetes.Helm.V3;
class HelmStack : Stack
{
    public HelmStack()
    {
        var nginx = new Release("nginx-ingress", new ReleaseArgs
        {
            Chart = "nginx-ingress",
            Version = "1.24.4",
            RepositoryOpts = new RepositoryOptsArgs
            {
                Repo = "https://charts.helm.sh/stable"
            }
        });
    }
}
package main
import (
	"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewRelease(ctx, "nginx-ingress", &helm.ReleaseArgs{
			Chart:   pulumi.String("nginx-ingress"),
			Version: pulumi.String("1.24.4"),
			RepositoryOpts: helm.RepositoryOptsArgs{
				Repo: pulumi.String("https://charts.helm.sh/stable"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as k8s from "@pulumi/kubernetes";
const nginxIngress = new k8s.helm.v3.Release("nginx-ingress", {
    chart: "nginx-ingress",
    version: "1.24.4",
    repositoryOpts: {
        repo: "https://charts.helm.sh/stable",
    },
});
from pulumi_kubernetes.helm.v3 import Release, ReleaseArgs, RepositoryOptsArgs
nginx_ingress = Release(
    "nginx-ingress",
    ReleaseArgs(
        chart="nginx-ingress",
        version="1.24.4",
        repository_opts=RepositoryOptsArgs(
            repo="https://charts.helm.sh/stable",
        ),
    ),
)
Coming soon!
Set Chart Values
using System.Collections.Generic;
using Pulumi;
using Pulumi.Kubernetes.Types.Inputs.Helm.V3;
using Pulumi.Kubernetes.Helm.V3;
class HelmStack : Stack
{
    public HelmStack()
    {
        var values = new Dictionary<string, object>
        {
            ["controller"] = new Dictionary<string, object>
            {
                ["metrics"] = new Dictionary<string, object>
                {
                    ["enabled"] = true
                }
            },
        };
        var nginx = new Release("nginx-ingress", new ReleaseArgs
        {
            Chart = "nginx-ingress",
            Version = "1.24.4",
            RepositoryOpts = new RepositoryOptsArgs
            {
                Repo = "https://charts.helm.sh/stable"
            },
            Values = values,
        });
    }
}
package main
import (
	"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewRelease(ctx, "nginx-ingress", &helm.ReleaseArgs{
			Chart:   pulumi.String("nginx-ingress"),
			Version: pulumi.String("1.24.4"),
			RepositoryOpts: helm.RepositoryOptsArgs{
				Repo: pulumi.String("https://charts.helm.sh/stable"),
			},
			Values: pulumi.Map{
				"controller": pulumi.Map{
					"metrics": pulumi.Map{
						"enabled": pulumi.Bool(true),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as k8s from "@pulumi/kubernetes";
const nginxIngress = new k8s.helm.v3.Release("nginx-ingress", {
    chart: "nginx-ingress",
    version: "1.24.4",
    repositoryOpts: {
        repo: "https://charts.helm.sh/stable",
    },
    values: {
        controller: {
            metrics: {
                enabled: true,
            }
        }
    },
});
from pulumi_kubernetes.helm.v3 import Release, ReleaseArgs, RepositoryOptsArgs
nginx_ingress = Release(
    "nginx-ingress",
    ReleaseArgs(
        chart="nginx-ingress",
        version="1.24.4",
        repository_opts=RepositoryOptsArgs(
            repo="https://charts.helm.sh/stable",
        ),
        values={
            "controller": {
                "metrics": {
                    "enabled": True,
                },
            },
        },
    ),
)
Coming soon!
Deploy Chart into Namespace
using Pulumi;
using Pulumi.Kubernetes.Types.Inputs.Helm.V3;
using Pulumi.Kubernetes.Helm.V3;
class HelmStack : Stack
{
    public HelmStack()
    {
        var nginx = new Release("nginx-ingress", new ReleaseArgs
        {
            Chart = "nginx-ingress",
            Version = "1.24.4",
            Namespace = "test-namespace",
            RepositoryOpts = new RepositoryOptsArgs
            {
                Repo = "https://charts.helm.sh/stable"
            },
        });
    }
}
package main
import (
	"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewRelease(ctx, "nginx-ingress", &helm.ReleaseArgs{
			Chart:     pulumi.String("nginx-ingress"),
			Version:   pulumi.String("1.24.4"),
			Namespace: pulumi.String("test-namespace"),
			RepositoryOpts: helm.RepositoryOptsArgs{
				Repo: pulumi.String("https://charts.helm.sh/stable"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as k8s from "@pulumi/kubernetes";
const nginxIngress = new k8s.helm.v3.Release("nginx-ingress", {
    chart: "nginx-ingress",
    version: "1.24.4",
    namespace: "test-namespace",
    repositoryOpts: {
        repo: "https://charts.helm.sh/stable",
    },
});
from pulumi_kubernetes.helm.v3 import Release, ReleaseArgs, RepositoryOptsArgs
nginx_ingress = Release(
    "nginx-ingress",
    ReleaseArgs(
        chart="nginx-ingress",
        version="1.24.4",
        namespace="test-namespace",
        repository_opts=RepositoryOptsArgs(
            repo="https://charts.helm.sh/stable",
        ),
    ),
)
Coming soon!
Depend on a Chart resource
using System.Threading.Tasks;
using Pulumi;
using Pulumi.Kubernetes.Core.V1;
using Pulumi.Kubernetes.Types.Inputs.Helm.V3;
using Pulumi.Kubernetes.Helm.V3;
class HelmStack : Stack
{
    public HelmStack()
    {
        var nginx = new Release("nginx-ingress", new ReleaseArgs
        {
            Chart = "nginx-ingress",
            Version = "1.24.4",
            Namespace = "test-namespace",
            RepositoryOpts = new RepositoryOptsArgs
            {
                Repo = "https://charts.helm.sh/stable"
            },
            SkipAwait = false,
        });
        // Create a ConfigMap depending on the Chart. The ConfigMap will not be created until after all of the Chart
        // resources are ready. Notice SkipAwait is set to false above. This is the default and will cause Helm
        // to await the underlying resources to be available. Setting it to true will make the ConfigMap available right away.
        new ConfigMap("foo", new Pulumi.Kubernetes.Types.Inputs.Core.V1.ConfigMapArgs
        {
            Data = new InputMap<string>
            {
                {"foo", "bar"}
            },
        }, new CustomResourceOptions
        {
            DependsOn = nginx,
        });
    }
}
package main
import (
	corev1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/core/v1"
	"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		release, err := helm.NewRelease(ctx, "nginx-ingress", helm.ReleaseArgs{
			Chart:     pulumi.String("nginx-ingress"),
			Version:   pulumi.String("1.24.4"),
			Namespace: pulumi.String("test-namespace"),
			RepositoryOpts: helm.RepositoryOptsArgs{
				Repo: pulumi.String("https://charts.helm.sh/stable"),
			},
			SkipAwait: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		// Create a ConfigMap depending on the Chart. The ConfigMap will not be created until after all of the Chart
		// resources are ready. Notice SkipAwait is set to false above. This is the default and will cause Helm
		// to await the underlying resources to be available. Setting it to true will make the ConfigMap available right away.
		_, err = corev1.NewConfigMap(ctx, "cm", &corev1.ConfigMapArgs{
			Data: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		}, pulumi.DependsOnInputs(release))
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as k8s from "@pulumi/kubernetes";
const nginxIngress = new k8s.helm.v3.Release("nginx-ingress", {
    chart: "nginx-ingress",
    version: "1.24.4",
    namespace: "test-namespace",
    repositoryOpts: {
        repo: "https://charts.helm.sh/stable",
    },
    skipAwait: false,
});
// Create a ConfigMap depending on the Chart. The ConfigMap will not be created until after all of the Chart
// resources are ready. Notice skipAwait is set to false above. This is the default and will cause Helm
// to await the underlying resources to be available. Setting it to true will make the ConfigMap available right away.
new k8s.core.v1.ConfigMap("foo", {
    metadata: {namespace: namespaceName},
    data: {foo: "bar"}
}, {dependsOn: nginxIngress})
import pulumi
from pulumi_kubernetes.core.v1 import ConfigMap, ConfigMapInitArgs
from pulumi_kubernetes.helm.v3 import Release, ReleaseArgs, RepositoryOptsArgs
nginx_ingress = Release(
    "nginx-ingress",
    ReleaseArgs(
        chart="nginx-ingress",
        version="1.24.4",
        namespace="test-namespace",
        repository_opts=RepositoryOptsArgs(
            repo="https://charts.helm.sh/stable",
        ),
        skip_await=False,
    ),
)
# Create a ConfigMap depending on the Chart. The ConfigMap will not be created until after all of the Chart
# resources are ready. Notice skip_await is set to false above. This is the default and will cause Helm
# to await the underlying resources to be available. Setting it to true will make the ConfigMap available right away.
ConfigMap("foo", ConfigMapInitArgs(data={"foo": "bar"}), opts=pulumi.ResourceOptions(depends_on=nginx_ingress))
Coming soon!
Specify Helm Chart Values in File and Code
using System.Collections.Generic;
using Pulumi;
using Pulumi.Kubernetes.Types.Inputs.Helm.V3;
using Pulumi.Kubernetes.Helm.V3;
class HelmStack : Stack
{
    public HelmStack()
    {
        var nginx = new Release("redis", new ReleaseArgs
        {
            Chart = "redis",
            RepositoryOpts = new RepositoryOptsArgs
            {
                Repo = "https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami"
            },
            ValueYamlFiles = new FileAsset("./metrics.yml");
            Values = new InputMap<object>
            {
                ["cluster"] = new Dictionary<string,object>
                {
                    ["enabled"] = true,
                },
                ["rbac"] = new Dictionary<string,object>
                {
                    ["create"] = true,
                }
            },
        });
    }
}
// -- Contents of metrics.yml --
// metrics:
//     enabled: true
package main
import (
	"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/yaml"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewRelease(ctx, "redis", &helm.ReleaseArgs{
			Chart:   pulumi.String("redis"),
			RepositoryOpts: helm.RepositoryOptsArgs{
				Repo: pulumi.String("https://charts.helm.sh/stable"),
			},
			ValueYamlFiles: pulumi.AssetOrArchiveArray{
				pulumi.NewFileAsset("./metrics.yml"),
			},
			Values: pulumi.Map{
				"cluster": pulumi.Map{
					"enabled": pulumi.Bool(true),
				},
				"rbac": pulumi.Map{
					"create": pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
// -- Contents of metrics.yml --
// metrics:
//     enabled: true
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as k8s from "@pulumi/kubernetes";
import {FileAsset} from "@pulumi/pulumi/asset";
const release = new k8s.helm.v3.Release("redis", {
    chart: "redis",
    repositoryOpts: {
        repo: "https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami",
    },
    valueYamlFiles: [new FileAsset("./metrics.yml")],
    values: {
        cluster: {
            enabled: true,
        },
        rbac: {
            create: true,
        }
    },
});
// -- Contents of metrics.yml --
// metrics:
//     enabled: true
import pulumi
from pulumi_kubernetes.helm.v3 import Release, ReleaseArgs, RepositoryOptsArgs
nginx_ingress = Release(
    "redis",
    ReleaseArgs(
        chart="redis",
        repository_opts=RepositoryOptsArgs(
            repo="https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami",
        ),
        value_yaml_files=[pulumi.FileAsset("./metrics.yml")],
        values={
            cluster: {
                enabled: true,
            },
            rbac: {
                create: true,
            }
        },
    ),
)
# -- Contents of metrics.yml --
# metrics:
#     enabled: true
Coming soon!
Query Kubernetes Resource Installed By Helm Chart
using System.Collections.Generic;
using Pulumi;
using Pulumi.Kubernetes.Types.Inputs.Helm.V3;
using Pulumi.Kubernetes.Helm.V3;
class HelmStack : Stack
{
    public HelmStack()
    {
        var redis = new Release("redis", new ReleaseArgs
        {
            Chart = "redis",
            RepositoryOpts = new RepositoryOptsArgs
            {
                Repo = "https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami"
            },
            Values = new InputMap<object>
            {
                ["cluster"] = new Dictionary<string,object>
                {
                    ["enabled"] = true,
                },
                ["rbac"] = new Dictionary<string,object>
                {
                    ["create"] = true,
                }
            },
        });
        var status = redis.Status;
        // srv will only resolve after the redis chart is installed.
        var srv = Service.Get("redist-master-svc", Output.All(status).Apply(
            s => $"{s[0].Namespace}/{s[0].Name}-master"));
        this.RedisMasterClusterIP = srv.Spec.Apply(spec => spec.ClusterIP);
    }
    [Output]
    public Output<string> RedisMasterClusterIP { get; set; }
}
package main
import (
	"fmt"
	corev1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/core/v1"
	"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rel, err := helm.NewRelease(ctx, "redis", &helm.ReleaseArgs{
			Chart: pulumi.String("redis"),
			RepositoryOpts: helm.RepositoryOptsArgs{
				Repo: pulumi.String("https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami"),
			},
			Values: pulumi.Map{
				"cluster": pulumi.Map{
					"enabled": pulumi.Bool(true),
				},
				"rbac": pulumi.BoolMap{
					"create": pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		// srv will only resolve after the redis chart is installed.
		srv := pulumi.All(rel.Status.Namespace(), rel.Status.Name()).
			ApplyT(func(r interface{}) (interface{}, error) {
				arr := r.([]interface{})
				namespace := arr[0].(*string)
				name := arr[1].(*string)
				svc, err := corev1.GetService(ctx,
					"redis-master-svc",
					pulumi.ID(fmt.Sprintf("%s/%s-master", *namespace, *name)),
					nil,
				)
				if err != nil {
					return "", nil
				}
				return svc.Spec.ClusterIP(), nil
			})
		ctx.Export("redisMasterClusterIP", srv)
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as k8s from "@pulumi/kubernetes";
import {FileAsset} from "@pulumi/pulumi/asset";
const redis = new k8s.helm.v3.Release("redis", {
    chart: "redis",
    repositoryOpts: {
        repo: "https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami",
    },
    values: {
        cluster: {
            enabled: true,
        },
        rbac: {
            create: true,
        }
    },
});
// srv will only resolve after the redis chart is installed.
const srv = k8s.core.v1.Service.get("redis-master-svc", pulumi.interpolate`${redis.status.namespace}/${redis.status.name}-master`);
export const redisMasterClusterIP = srv.spec.clusterIP;
from pulumi import Output
from pulumi_kubernetes.core.v1 import Service
from pulumi_kubernetes.helm.v3 import Release, ReleaseArgs, RepositoryOptsArgs
redis = Release(
    "redis",
    ReleaseArgs(
        chart="redis",
        repository_opts=RepositoryOptsArgs(
            repo="https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami",
        ),
        values={
            "cluster": {
                "enabled": True,
            },
            "rbac": {
                "create": True,
            }
        },
    ),
)
# srv will only resolve after the redis chart is installed.
srv = Service.get("redis-master-svc", Output.concat(redis.status.namespace, "/", redis.status.name, "-master"))
pulumi.export("redisMasterClusterIP", srv.spec.cluster_ip)
Coming soon!
Create Release Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Release(name: string, args: ReleaseOpts, opts?: ComponentResourceOptions);@overload
def Release(resource_name: str,
            args: ReleaseArgs,
            opts: Optional[ResourceOptions] = None)
@overload
def Release(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            chart: Optional[str] = None,
            max_history: Optional[int] = None,
            devel: Optional[bool] = None,
            cleanup_on_fail: Optional[bool] = None,
            name: Optional[str] = None,
            dependency_update: Optional[bool] = None,
            description: Optional[str] = None,
            namespace: Optional[str] = None,
            disable_crd_hooks: Optional[bool] = None,
            postrender: Optional[str] = None,
            disable_webhooks: Optional[bool] = None,
            force_update: Optional[bool] = None,
            keyring: Optional[str] = None,
            lint: Optional[bool] = None,
            manifest: Optional[Mapping[str, Any]] = None,
            allow_null_values: Optional[bool] = None,
            create_namespace: Optional[bool] = None,
            atomic: Optional[bool] = None,
            disable_openapi_validation: Optional[bool] = None,
            recreate_pods: Optional[bool] = None,
            render_subchart_notes: Optional[bool] = None,
            replace: Optional[bool] = None,
            repository_opts: Optional[_helm_sh.v3.RepositoryOptsArgs] = None,
            reset_values: Optional[bool] = None,
            resource_names: Optional[Mapping[str, Sequence[str]]] = None,
            reuse_values: Optional[bool] = None,
            skip_await: Optional[bool] = None,
            skip_crds: Optional[bool] = None,
            timeout: Optional[int] = None,
            value_yaml_files: Optional[Sequence[Union[pulumi.Asset, pulumi.Archive]]] = None,
            values: Optional[Mapping[str, Any]] = None,
            verify: Optional[bool] = None,
            version: Optional[str] = None,
            wait_for_jobs: Optional[bool] = None)func NewRelease(ctx *Context, name string, args ReleaseArgs, opts ...ResourceOption) (*Release, error)public Release(string name, ReleaseArgs args, ComponentResourceOptions? opts = null)
public Release(String name, ReleaseArgs args)
public Release(String name, ReleaseArgs args, ComponentResourceOptions options)
type: kubernetes:helm.sh/v3:Release
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ReleaseOpts
- The arguments to resource properties.
- opts ComponentResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ReleaseArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ReleaseArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ReleaseArgs
- The arguments to resource properties.
- opts ComponentResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ReleaseArgs
- The arguments to resource properties.
- options ComponentResourceOptions
- Bag of options to control resource's behavior.
Release Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Release resource accepts the following input properties:
- Chart string
- Chart name to be installed. A path may be used.
- AllowNull boolValues 
- Whether to allow Null values in helm chart configs.
- Atomic bool
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- CleanupOn boolFail 
- Allow deletion of new resources created in this upgrade when upgrade fails.
- CreateNamespace bool
- Create the namespace if it does not exist.
- DependencyUpdate bool
- Run helm dependency update before installing the chart.
- Description string
- Add a custom description
- Devel bool
- Use chart development versions, too. Equivalent to version '>0.0.0-0'. If versionis set, this is ignored.
- DisableCRDHooks bool
- Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
- DisableOpenapi boolValidation 
- If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
- DisableWebhooks bool
- Prevent hooks from running.
- ForceUpdate bool
- Force resource update through delete/recreate if needed.
- Keyring string
- Location of public keys used for verification. Used only if verifyis true
- Lint bool
- Run helm lint when planning.
- Manifest Dictionary<string, object>
- The rendered manifests as JSON. Not yet supported.
- MaxHistory int
- Limit the maximum number of revisions saved per release. Use 0 for no limit.
- Name string
- Release name.
- Namespace string
- Namespace to install the release into.
- Postrender string
- Postrender command to run.
- RecreatePods bool
- Perform pods restart during upgrade/rollback.
- RenderSubchart boolNotes 
- If set, render subchart notes along with the parent.
- Replace bool
- Re-use the given name, even if that name is already used. This is unsafe in production
- RepositoryOpts RepositoryOpts 
- Specification defining the Helm chart repository to use.
- ResetValues bool
- When upgrading, reset the values to the ones built into the chart.
- ResourceNames Dictionary<string, ImmutableArray<string>> 
- Names of resources created by the release grouped by "kind/version".
- ReuseValues bool
- When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
- SkipAwait bool
- By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
- SkipCrds bool
- If set, no CRDs will be installed. By default, CRDs are installed if not already present.
- Timeout int
- Time in seconds to wait for any individual kubernetes operation.
- ValueYaml List<AssetFiles Or Archive> 
- List of assets (raw yaml files). Content is read and merged with values.
- Values Dictionary<string, object>
- Custom values set for the release.
- Verify bool
- Verify the package before installing it.
- Version string
- Specify the exact chart version to install. If this is not specified, the latest version is installed.
- WaitFor boolJobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
- Chart string
- Chart name to be installed. A path may be used.
- AllowNull boolValues 
- Whether to allow Null values in helm chart configs.
- Atomic bool
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- CleanupOn boolFail 
- Allow deletion of new resources created in this upgrade when upgrade fails.
- CreateNamespace bool
- Create the namespace if it does not exist.
- DependencyUpdate bool
- Run helm dependency update before installing the chart.
- Description string
- Add a custom description
- Devel bool
- Use chart development versions, too. Equivalent to version '>0.0.0-0'. If versionis set, this is ignored.
- DisableCRDHooks bool
- Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
- DisableOpenapi boolValidation 
- If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
- DisableWebhooks bool
- Prevent hooks from running.
- ForceUpdate bool
- Force resource update through delete/recreate if needed.
- Keyring string
- Location of public keys used for verification. Used only if verifyis true
- Lint bool
- Run helm lint when planning.
- Manifest map[string]interface{}
- The rendered manifests as JSON. Not yet supported.
- MaxHistory int
- Limit the maximum number of revisions saved per release. Use 0 for no limit.
- Name string
- Release name.
- Namespace string
- Namespace to install the release into.
- Postrender string
- Postrender command to run.
- RecreatePods bool
- Perform pods restart during upgrade/rollback.
- RenderSubchart boolNotes 
- If set, render subchart notes along with the parent.
- Replace bool
- Re-use the given name, even if that name is already used. This is unsafe in production
- RepositoryOpts RepositoryOpts Args 
- Specification defining the Helm chart repository to use.
- ResetValues bool
- When upgrading, reset the values to the ones built into the chart.
- ResourceNames map[string][]string
- Names of resources created by the release grouped by "kind/version".
- ReuseValues bool
- When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
- SkipAwait bool
- By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
- SkipCrds bool
- If set, no CRDs will be installed. By default, CRDs are installed if not already present.
- Timeout int
- Time in seconds to wait for any individual kubernetes operation.
- ValueYaml AssetFiles Or Archive 
- List of assets (raw yaml files). Content is read and merged with values.
- Values map[string]interface{}
- Custom values set for the release.
- Verify bool
- Verify the package before installing it.
- Version string
- Specify the exact chart version to install. If this is not specified, the latest version is installed.
- WaitFor boolJobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
- chart String
- Chart name to be installed. A path may be used.
- allowNull BooleanValues 
- Whether to allow Null values in helm chart configs.
- atomic Boolean
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- cleanupOn BooleanFail 
- Allow deletion of new resources created in this upgrade when upgrade fails.
- createNamespace Boolean
- Create the namespace if it does not exist.
- dependencyUpdate Boolean
- Run helm dependency update before installing the chart.
- description String
- Add a custom description
- devel Boolean
- Use chart development versions, too. Equivalent to version '>0.0.0-0'. If versionis set, this is ignored.
- disableCRDHooks Boolean
- Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
- disableOpenapi BooleanValidation 
- If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
- disableWebhooks Boolean
- Prevent hooks from running.
- forceUpdate Boolean
- Force resource update through delete/recreate if needed.
- keyring String
- Location of public keys used for verification. Used only if verifyis true
- lint Boolean
- Run helm lint when planning.
- manifest Map<String,Object>
- The rendered manifests as JSON. Not yet supported.
- maxHistory Integer
- Limit the maximum number of revisions saved per release. Use 0 for no limit.
- name String
- Release name.
- namespace String
- Namespace to install the release into.
- postrender String
- Postrender command to run.
- recreatePods Boolean
- Perform pods restart during upgrade/rollback.
- renderSubchart BooleanNotes 
- If set, render subchart notes along with the parent.
- replace Boolean
- Re-use the given name, even if that name is already used. This is unsafe in production
- repositoryOpts RepositoryOpts 
- Specification defining the Helm chart repository to use.
- resetValues Boolean
- When upgrading, reset the values to the ones built into the chart.
- resourceNames Map<String,List<String>>
- Names of resources created by the release grouped by "kind/version".
- reuseValues Boolean
- When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
- skipAwait Boolean
- By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
- skipCrds Boolean
- If set, no CRDs will be installed. By default, CRDs are installed if not already present.
- timeout Integer
- Time in seconds to wait for any individual kubernetes operation.
- valueYaml List<AssetFiles Or Archive> 
- List of assets (raw yaml files). Content is read and merged with values.
- values Map<String,Object>
- Custom values set for the release.
- verify Boolean
- Verify the package before installing it.
- version String
- Specify the exact chart version to install. If this is not specified, the latest version is installed.
- waitFor BooleanJobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
- chart string
- Chart name to be installed. A path may be used.
- allowNull booleanValues 
- Whether to allow Null values in helm chart configs.
- atomic boolean
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- cleanupOn booleanFail 
- Allow deletion of new resources created in this upgrade when upgrade fails.
- createNamespace boolean
- Create the namespace if it does not exist.
- dependencyUpdate boolean
- Run helm dependency update before installing the chart.
- description string
- Add a custom description
- devel boolean
- Use chart development versions, too. Equivalent to version '>0.0.0-0'. If versionis set, this is ignored.
- disableCRDHooks boolean
- Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
- disableOpenapi booleanValidation 
- If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
- disableWebhooks boolean
- Prevent hooks from running.
- forceUpdate boolean
- Force resource update through delete/recreate if needed.
- keyring string
- Location of public keys used for verification. Used only if verifyis true
- lint boolean
- Run helm lint when planning.
- manifest {[key: string]: any}
- The rendered manifests as JSON. Not yet supported.
- maxHistory number
- Limit the maximum number of revisions saved per release. Use 0 for no limit.
- name string
- Release name.
- namespace string
- Namespace to install the release into.
- postrender string
- Postrender command to run.
- recreatePods boolean
- Perform pods restart during upgrade/rollback.
- renderSubchart booleanNotes 
- If set, render subchart notes along with the parent.
- replace boolean
- Re-use the given name, even if that name is already used. This is unsafe in production
- repositoryOpts helm.sh.v3.Repository Opts 
- Specification defining the Helm chart repository to use.
- resetValues boolean
- When upgrading, reset the values to the ones built into the chart.
- resourceNames {[key: string]: string[]}
- Names of resources created by the release grouped by "kind/version".
- reuseValues boolean
- When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
- skipAwait boolean
- By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
- skipCrds boolean
- If set, no CRDs will be installed. By default, CRDs are installed if not already present.
- timeout number
- Time in seconds to wait for any individual kubernetes operation.
- valueYaml (pulumi.asset.Files Asset | pulumi.asset. Archive)[] 
- List of assets (raw yaml files). Content is read and merged with values.
- values {[key: string]: any}
- Custom values set for the release.
- verify boolean
- Verify the package before installing it.
- version string
- Specify the exact chart version to install. If this is not specified, the latest version is installed.
- waitFor booleanJobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
- chart str
- Chart name to be installed. A path may be used.
- allow_null_ boolvalues 
- Whether to allow Null values in helm chart configs.
- atomic bool
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- cleanup_on_ boolfail 
- Allow deletion of new resources created in this upgrade when upgrade fails.
- create_namespace bool
- Create the namespace if it does not exist.
- dependency_update bool
- Run helm dependency update before installing the chart.
- description str
- Add a custom description
- devel bool
- Use chart development versions, too. Equivalent to version '>0.0.0-0'. If versionis set, this is ignored.
- disable_crd_ boolhooks 
- Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
- disable_openapi_ boolvalidation 
- If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
- disable_webhooks bool
- Prevent hooks from running.
- force_update bool
- Force resource update through delete/recreate if needed.
- keyring str
- Location of public keys used for verification. Used only if verifyis true
- lint bool
- Run helm lint when planning.
- manifest Mapping[str, Any]
- The rendered manifests as JSON. Not yet supported.
- max_history int
- Limit the maximum number of revisions saved per release. Use 0 for no limit.
- name str
- Release name.
- namespace str
- Namespace to install the release into.
- postrender str
- Postrender command to run.
- recreate_pods bool
- Perform pods restart during upgrade/rollback.
- render_subchart_ boolnotes 
- If set, render subchart notes along with the parent.
- replace bool
- Re-use the given name, even if that name is already used. This is unsafe in production
- repository_opts helm_sh.v3. Repository Opts Args 
- Specification defining the Helm chart repository to use.
- reset_values bool
- When upgrading, reset the values to the ones built into the chart.
- resource_names Mapping[str, Sequence[str]]
- Names of resources created by the release grouped by "kind/version".
- reuse_values bool
- When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
- skip_await bool
- By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
- skip_crds bool
- If set, no CRDs will be installed. By default, CRDs are installed if not already present.
- timeout int
- Time in seconds to wait for any individual kubernetes operation.
- value_yaml_ Sequence[Union[pulumi.files Asset, pulumi. Archive]] 
- List of assets (raw yaml files). Content is read and merged with values.
- values Mapping[str, Any]
- Custom values set for the release.
- verify bool
- Verify the package before installing it.
- version str
- Specify the exact chart version to install. If this is not specified, the latest version is installed.
- wait_for_ booljobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
- chart String
- Chart name to be installed. A path may be used.
- allowNull BooleanValues 
- Whether to allow Null values in helm chart configs.
- atomic Boolean
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- cleanupOn BooleanFail 
- Allow deletion of new resources created in this upgrade when upgrade fails.
- createNamespace Boolean
- Create the namespace if it does not exist.
- dependencyUpdate Boolean
- Run helm dependency update before installing the chart.
- description String
- Add a custom description
- devel Boolean
- Use chart development versions, too. Equivalent to version '>0.0.0-0'. If versionis set, this is ignored.
- disableCRDHooks Boolean
- Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
- disableOpenapi BooleanValidation 
- If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
- disableWebhooks Boolean
- Prevent hooks from running.
- forceUpdate Boolean
- Force resource update through delete/recreate if needed.
- keyring String
- Location of public keys used for verification. Used only if verifyis true
- lint Boolean
- Run helm lint when planning.
- manifest Map<Any>
- The rendered manifests as JSON. Not yet supported.
- maxHistory Number
- Limit the maximum number of revisions saved per release. Use 0 for no limit.
- name String
- Release name.
- namespace String
- Namespace to install the release into.
- postrender String
- Postrender command to run.
- recreatePods Boolean
- Perform pods restart during upgrade/rollback.
- renderSubchart BooleanNotes 
- If set, render subchart notes along with the parent.
- replace Boolean
- Re-use the given name, even if that name is already used. This is unsafe in production
- repositoryOpts Property Map
- Specification defining the Helm chart repository to use.
- resetValues Boolean
- When upgrading, reset the values to the ones built into the chart.
- resourceNames Map<List<String>>
- Names of resources created by the release grouped by "kind/version".
- reuseValues Boolean
- When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
- skipAwait Boolean
- By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
- skipCrds Boolean
- If set, no CRDs will be installed. By default, CRDs are installed if not already present.
- timeout Number
- Time in seconds to wait for any individual kubernetes operation.
- valueYaml List<Asset>Files 
- List of assets (raw yaml files). Content is read and merged with values.
- values Map<Any>
- Custom values set for the release.
- verify Boolean
- Verify the package before installing it.
- version String
- Specify the exact chart version to install. If this is not specified, the latest version is installed.
- waitFor BooleanJobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
Outputs
All input properties are implicitly available as output properties. Additionally, the Release resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Status
ReleaseStatus 
- Status of the deployed release.
- Id string
- The provider-assigned unique ID for this managed resource.
- Status
ReleaseStatus 
- Status of the deployed release.
- id String
- The provider-assigned unique ID for this managed resource.
- status
ReleaseStatus 
- Status of the deployed release.
- id string
- The provider-assigned unique ID for this managed resource.
- status
helm.sh.v3.Release Status 
- Status of the deployed release.
- id str
- The provider-assigned unique ID for this managed resource.
- status
helm_sh.v3. Release Status 
- Status of the deployed release.
- id String
- The provider-assigned unique ID for this managed resource.
- status Property Map
- Status of the deployed release.
Supporting Types
ReleaseStatus, ReleaseStatusArgs    
- Status string
- Status of the release.
- AppVersion string
- The version number of the application being deployed.
- Chart string
- The name of the chart.
- Name string
- Name is the name of the release.
- Namespace string
- Namespace is the kubernetes namespace of the release.
- Revision int
- Version is an int32 which represents the version of the release.
- Version string
- A SemVer 2 conformant version string of the chart.
- Status string
- Status of the release.
- AppVersion string
- The version number of the application being deployed.
- Chart string
- The name of the chart.
- Name string
- Name is the name of the release.
- Namespace string
- Namespace is the kubernetes namespace of the release.
- Revision int
- Version is an int32 which represents the version of the release.
- Version string
- A SemVer 2 conformant version string of the chart.
- status String
- Status of the release.
- appVersion String
- The version number of the application being deployed.
- chart String
- The name of the chart.
- name String
- Name is the name of the release.
- namespace String
- Namespace is the kubernetes namespace of the release.
- revision Integer
- Version is an int32 which represents the version of the release.
- version String
- A SemVer 2 conformant version string of the chart.
- status string
- Status of the release.
- appVersion string
- The version number of the application being deployed.
- chart string
- The name of the chart.
- name string
- Name is the name of the release.
- namespace string
- Namespace is the kubernetes namespace of the release.
- revision number
- Version is an int32 which represents the version of the release.
- version string
- A SemVer 2 conformant version string of the chart.
- status str
- Status of the release.
- app_version str
- The version number of the application being deployed.
- chart str
- The name of the chart.
- name str
- Name is the name of the release.
- namespace str
- Namespace is the kubernetes namespace of the release.
- revision int
- Version is an int32 which represents the version of the release.
- version str
- A SemVer 2 conformant version string of the chart.
- status String
- Status of the release.
- appVersion String
- The version number of the application being deployed.
- chart String
- The name of the chart.
- name String
- Name is the name of the release.
- namespace String
- Namespace is the kubernetes namespace of the release.
- revision Number
- Version is an int32 which represents the version of the release.
- version String
- A SemVer 2 conformant version string of the chart.
RepositoryOpts, RepositoryOptsArgs    
- CaFile string
- The Repository's CA File
- CertFile string
- The repository's cert file
- KeyFile string
- The repository's cert key file
- Password string
- Password for HTTP basic authentication
- Repo string
- Repository where to locate the requested chart. If it's a URL the chart is installed without installing the repository.
- Username string
- Username for HTTP basic authentication
- CaFile string
- The Repository's CA File
- CertFile string
- The repository's cert file
- KeyFile string
- The repository's cert key file
- Password string
- Password for HTTP basic authentication
- Repo string
- Repository where to locate the requested chart. If it's a URL the chart is installed without installing the repository.
- Username string
- Username for HTTP basic authentication
- caFile String
- The Repository's CA File
- certFile String
- The repository's cert file
- keyFile String
- The repository's cert key file
- password String
- Password for HTTP basic authentication
- repo String
- Repository where to locate the requested chart. If it's a URL the chart is installed without installing the repository.
- username String
- Username for HTTP basic authentication
- caFile string
- The Repository's CA File
- certFile string
- The repository's cert file
- keyFile string
- The repository's cert key file
- password string
- Password for HTTP basic authentication
- repo string
- Repository where to locate the requested chart. If it's a URL the chart is installed without installing the repository.
- username string
- Username for HTTP basic authentication
- ca_file str
- The Repository's CA File
- cert_file str
- The repository's cert file
- key_file str
- The repository's cert key file
- password str
- Password for HTTP basic authentication
- repo str
- Repository where to locate the requested chart. If it's a URL the chart is installed without installing the repository.
- username str
- Username for HTTP basic authentication
- caFile String
- The Repository's CA File
- certFile String
- The repository's cert file
- keyFile String
- The repository's cert key file
- password String
- Password for HTTP basic authentication
- repo String
- Repository where to locate the requested chart. If it's a URL the chart is installed without installing the repository.
- username String
- Username for HTTP basic authentication
Import
An existing Helm Release resource can be imported using its type token, name and identifier, e.g.
$ pulumi import kubernetes:helm.sh/v3:Release myRelease <namespace>/<releaseName>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Kubernetes pulumi/pulumi-kubernetes
- License
- Apache-2.0