1. Packages
  2. Kubernetes
  3. API Docs
  4. helm
  5. helm/v3
  6. Release
Kubernetes v4.18.3 published on Thursday, Oct 31, 2024 by Pulumi

kubernetes.helm.sh/v3.Release

Explore with Pulumi AI

kubernetes logo
Kubernetes v4.18.3 published on Thursday, Oct 31, 2024 by Pulumi

    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!

    from pulumi_kubernetes.helm.v3 import Release, ReleaseArgs
    
    nginx_ingress = Release(
        "nginx-ingress",
        ReleaseArgs(
            chart="./nginx-ingress",
        ),
    )
    
    import * as k8s from "@pulumi/kubernetes";
    
    const nginxIngress = new k8s.helm.v3.Release("nginx-ingress", {
        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!

    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",
            ),
        ),
    )
    
    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",
        },
    });
    

    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!

    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,
                    },
                },
            },
        ),
    )
    
    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,
                }
            }
        },
    });
    

    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!

    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",
            ),
        ),
    )
    
    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",
        },
    });
    

    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 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))
    
    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})
    

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

    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!

    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)
    
    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;
    

    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.
    AllowNullValues bool
    Whether to allow Null values in helm chart configs.
    Atomic bool
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    CleanupOnFail bool
    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 version is set, this is ignored.
    DisableCRDHooks bool
    Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
    DisableOpenapiValidation bool
    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 verify is 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.
    RenderSubchartNotes bool
    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.
    ValueYamlFiles List<AssetOrArchive>
    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.
    WaitForJobs bool
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.
    Chart string
    Chart name to be installed. A path may be used.
    AllowNullValues bool
    Whether to allow Null values in helm chart configs.
    Atomic bool
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    CleanupOnFail bool
    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 version is set, this is ignored.
    DisableCRDHooks bool
    Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
    DisableOpenapiValidation bool
    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 verify is 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.
    RenderSubchartNotes bool
    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 RepositoryOptsArgs
    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.
    ValueYamlFiles AssetOrArchive
    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.
    WaitForJobs bool
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.
    chart String
    Chart name to be installed. A path may be used.
    allowNullValues Boolean
    Whether to allow Null values in helm chart configs.
    atomic Boolean
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    cleanupOnFail Boolean
    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 version is set, this is ignored.
    disableCRDHooks Boolean
    Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
    disableOpenapiValidation Boolean
    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 verify is 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.
    renderSubchartNotes Boolean
    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.
    valueYamlFiles List<AssetOrArchive>
    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.
    waitForJobs Boolean
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.
    chart string
    Chart name to be installed. A path may be used.
    allowNullValues boolean
    Whether to allow Null values in helm chart configs.
    atomic boolean
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    cleanupOnFail boolean
    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 version is set, this is ignored.
    disableCRDHooks boolean
    Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
    disableOpenapiValidation boolean
    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 verify is 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.
    renderSubchartNotes boolean
    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.RepositoryOpts
    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.
    valueYamlFiles (pulumi.asset.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.
    waitForJobs boolean
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.
    chart str
    Chart name to be installed. A path may be used.
    allow_null_values bool
    Whether to allow Null values in helm chart configs.
    atomic bool
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    cleanup_on_fail bool
    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 version is set, this is ignored.
    disable_crd_hooks bool
    Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
    disable_openapi_validation bool
    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 verify is 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_notes bool
    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.RepositoryOptsArgs
    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_files Sequence[Union[pulumi.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_jobs bool
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.
    chart String
    Chart name to be installed. A path may be used.
    allowNullValues Boolean
    Whether to allow Null values in helm chart configs.
    atomic Boolean
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    cleanupOnFail Boolean
    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 version is set, this is ignored.
    disableCRDHooks Boolean
    Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
    disableOpenapiValidation Boolean
    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 verify is 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.
    renderSubchartNotes Boolean
    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.
    valueYamlFiles List<Asset>
    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.
    waitForJobs Boolean
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is 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.ReleaseStatus
    Status of the deployed release.
    id str
    The provider-assigned unique ID for this managed resource.
    status helm_sh.v3.ReleaseStatus
    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
    kubernetes logo
    Kubernetes v4.18.3 published on Thursday, Oct 31, 2024 by Pulumi