Kubernetes

v3.21.4 published on Thursday, Sep 22, 2022 by Pulumi

Chart

Chart is a component representing a collection of resources described by an arbitrary Helm Chart.

The Chart can be fetched from any source that is accessible to the helm command line. Values in the values.yml file can be overridden using ChartOpts.values (equivalent to --set or having multiple values.yml files). Objects can be transformed arbitrarily by supplying callbacks to ChartOpts.transformations.

Chart does not use Tiller. The Chart specified is copied and expanded locally; the semantics are equivalent to running helm template and then using Pulumi to manage the resulting YAML manifests. Any values that would be retrieved in-cluster are assigned fake values, and none of Tiller’s server-side validity testing is executed.

Example Usage

Local Chart Directory

using System.Threading.Tasks;
using Pulumi;
using Pulumi.Kubernetes.Helm;
using Pulumi.Kubernetes.Helm.V3;

class HelmStack : Stack
{
    public HelmStack()
    {
        var nginx = new Chart("nginx-ingress", new LocalChartArgs
        {
            Path = "./nginx-ingress",
        });

    }
}
package main

import (
	"github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewChart(ctx, "nginx-ingress", helm.ChartArgs{
			Path: pulumi.String("./nginx-ingress"),
		})
		if err != nil {
			return err
		}

		return nil
	})
}

Coming soon!

from pulumi_kubernetes.helm.v3 import Chart, LocalChartOpts

nginx_ingress = Chart(
    "nginx-ingress",
    LocalChartOpts(
        path="./nginx-ingress",
    ),
)
import * as k8s from "@pulumi/kubernetes";

const nginxIngress = new k8s.helm.v3.Chart("nginx-ingress", {
    path: "./nginx-ingress",
});

Coming soon!

Remote Chart

using System.Threading.Tasks;
using Pulumi;
using Pulumi.Kubernetes.Helm;
using Pulumi.Kubernetes.Helm.V3;

class HelmStack : Stack
{
    public HelmStack()
    {
        var nginx = new Chart("nginx-ingress", new ChartArgs
        {
            Chart = "nginx-ingress",
            Version = "1.24.4",
            FetchOptions = new ChartFetchArgs
            {
                Repo = "https://charts.helm.sh/stable"
            }
        });

    }
}
package main

import (
	"github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewChart(ctx, "nginx-ingress", helm.ChartArgs{
			Chart:   pulumi.String("nginx-ingress"),
			Version: pulumi.String("1.24.4"),
			Fetchargs: helm.FetchArgs{
				Repo: pulumi.String("https://charts.helm.sh/stable"),
			},
		})
		if err != nil {
			return err
		}

		return nil
	})
}

Coming soon!

from pulumi_kubernetes.helm.v3 import Chart, ChartOpts, FetchOpts

nginx_ingress = Chart(
    "nginx-ingress",
    ChartOpts(
        chart="nginx-ingress",
        version="1.24.4",
        fetch_opts=FetchOpts(
            repo="https://charts.helm.sh/stable",
        ),
    ),
)
import * as k8s from "@pulumi/kubernetes";

const nginxIngress = new k8s.helm.v3.Chart("nginx-ingress", {
    chart: "nginx-ingress",
    version: "1.24.4",
    fetchOpts:{
        repo: "https://charts.helm.sh/stable",
    },
});

Coming soon!

Set Chart Values

using System.Collections.Generic;
using System.Threading.Tasks;
using Pulumi;
using Pulumi.Kubernetes.Helm;
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 Chart("nginx-ingress", new ChartArgs
        {
            Chart = "nginx-ingress",
            Version = "1.24.4",
            FetchOptions = new ChartFetchArgs
            {
                Repo = "https://charts.helm.sh/stable"
            },
            Values = values,
        });

    }
}
package main

import (
	"github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewChart(ctx, "nginx-ingress", helm.ChartArgs{
			Chart:   pulumi.String("nginx-ingress"),
			Version: pulumi.String("1.24.4"),
			FetchArgs: helm.FetchArgs{
				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 Chart, ChartOpts, FetchOpts

nginx_ingress = Chart(
    "nginx-ingress",
    ChartOpts(
        chart="nginx-ingress",
        version="1.24.4",
        fetch_opts=FetchOpts(
            repo="https://charts.helm.sh/stable",
        ),
        values={
            "controller": {
                "metrics": {
                    "enabled": True,
                },
            },
        },
    ),
)
import * as k8s from "@pulumi/kubernetes";

const nginxIngress = new k8s.helm.v3.Chart("nginx-ingress", {
    chart: "nginx-ingress",
    version: "1.24.4",
    fetchOpts:{
        repo: "https://charts.helm.sh/stable",
    },
    values: {
        controller: {
            metrics: {
                enabled: true,
            }
        }
    },
});

Coming soon!

Deploy Chart into Namespace

using System.Threading.Tasks;
using Pulumi;
using Pulumi.Kubernetes.Helm;
using Pulumi.Kubernetes.Helm.V3;

class HelmStack : Stack
{
    public HelmStack()
    {
        var nginx = new Chart("nginx-ingress", new ChartArgs
        {
            Chart = "nginx-ingress",
            Version = "1.24.4",
            Namespace = "test-namespace",
            FetchOptions = new ChartFetchArgs
            {
                Repo = "https://charts.helm.sh/stable"
            },
        });

    }
}
package main

import (
	"github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewChart(ctx, "nginx-ingress", helm.ChartArgs{
			Chart:     pulumi.String("nginx-ingress"),
			Version:   pulumi.String("1.24.4"),
			Namespace: pulumi.String("test-namespace"),
			FetchArgs: helm.FetchArgs{
				Repo: pulumi.String("https://charts.helm.sh/stable"),
			},
		})
		if err != nil {
			return err
		}

		return nil
	})
}

Coming soon!

from pulumi_kubernetes.helm.v3 import Chart, ChartOpts, FetchOpts

nginx_ingress = Chart(
    "nginx-ingress",
    ChartOpts(
        chart="nginx-ingress",
        version="1.24.4",
        namespace="test-namespace",
        fetch_opts=FetchOpts(
            repo="https://charts.helm.sh/stable",
        ),
    ),
)
import * as k8s from "@pulumi/kubernetes";

const nginxIngress = new k8s.helm.v3.Chart("nginx-ingress", {
    chart: "nginx-ingress",
    version: "1.24.4",
    namespace: "test-namespace",
    fetchOpts:{
        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.Helm;
using Pulumi.Kubernetes.Helm.V3;

class HelmStack : Stack
{
    public HelmStack()
    {
        var nginx = new Chart("nginx-ingress", new ChartArgs
        {
            Chart = "nginx-ingress",
            Version = "1.24.4",
            Namespace = "test-namespace",
            FetchOptions = new ChartFetchArgs
            {
                Repo = "https://charts.helm.sh/stable"
            },
        });
        
        // Create a ConfigMap depending on the Chart. The ConfigMap will not be created until after all of the Chart
        // resources are ready. Note the use of the `Ready()` method; depending on the Chart resource directly will 
        // not work.
        new ConfigMap("foo", new Pulumi.Kubernetes.Types.Inputs.Core.V1.ConfigMapArgs
        {
            Data = new InputMap<string>
            {
                {"foo", "bar"}
            },
        }, new CustomResourceOptions
        {
            DependsOn = nginx.Ready(),
        });

    }
}
package main

import (
	corev1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1"
	"github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewChart(ctx, "nginx-ingress", helm.ChartArgs{
			Chart:     pulumi.String("nginx-ingress"),
			Version:   pulumi.String("1.24.4"),
			Namespace: pulumi.String("test-namespace"),
			FetchArgs: helm.FetchArgs{
				Repo: pulumi.String("https://charts.helm.sh/stable"),
			},
		})
		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. Note the use of the `Ready` attribute, which is used with `DependsOnInputs` rather than
		// `DependsOn`. Depending on the Chart resource directly, or using `DependsOn` will not work.
		_, err = corev1.NewConfigMap(ctx, "cm", &corev1.ConfigMapArgs{
			Data: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		}, pulumi.DependsOnInputs(chart.Ready))
		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 Chart, ChartOpts, FetchOpts

nginx_ingress = Chart(
    "nginx-ingress",
    ChartOpts(
        chart="nginx-ingress",
        version="1.24.4",
        namespace="test-namespace",
        fetch_opts=FetchOpts(
            repo="https://charts.helm.sh/stable",
        ),
    ),
)

# Create a ConfigMap depending on the Chart. The ConfigMap will not be created until after all of the Chart
# resources are ready. Note the use of the `ready` attribute; depending on the Chart resource directly will not work.
ConfigMap("foo", ConfigMapInitArgs(data={"foo": "bar"}), opts=pulumi.ResourceOptions(depends_on=nginx_ingress.ready))
import * as k8s from "@pulumi/kubernetes";

const nginxIngress = new k8s.helm.v3.Chart("nginx-ingress", {
    chart: "nginx-ingress",
    version: "1.24.4",
    namespace: "test-namespace",
    fetchOpts:{
        repo: "https://charts.helm.sh/stable",
    },
});

// Create a ConfigMap depending on the Chart. The ConfigMap will not be created until after all of the Chart
// resources are ready. Note the use of the `ready` attribute; depending on the Chart resource directly will not work.
new k8s.core.v1.ConfigMap("foo", {
    metadata: { namespace: namespaceName },
    data: {foo: "bar"}
}, {dependsOn: nginxIngress.ready})

Coming soon!

Chart with Transformations

using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi;
using Pulumi.Kubernetes.Helm;
using Pulumi.Kubernetes.Helm.V3;

class HelmStack : Stack
{
    public HelmStack()
    {
        var nginx = new Chart("nginx-ingress", new ChartArgs
        {
            Chart = "nginx-ingress",
            Version = "1.24.4",
            FetchOptions = new ChartFetchArgs
            {
                Repo = "https://charts.helm.sh/stable"
            },
            Transformations =
            {
                LoadBalancerToClusterIP,
                ResourceAlias,
                OmitTestPod,
            }

        });

        // Make every service private to the cluster, i.e., turn all services into ClusterIP instead of LoadBalancer.
        ImmutableDictionary<string, object> LoadBalancerToClusterIP(ImmutableDictionary<string, object> obj, CustomResourceOptions opts)
        {
            if ((string)obj["kind"] == "Service" && (string)obj["apiVersion"] == "v1")
            {
                var spec = (ImmutableDictionary<string, object>)obj["spec"];
                if (spec != null && (string)spec["type"] == "LoadBalancer")
                {
                    return obj.SetItem("spec", spec.SetItem("type", "ClusterIP"));
                }
            }

            return obj;
        }

        // Set a resource alias for a previous name.
        ImmutableDictionary<string, object> ResourceAlias(ImmutableDictionary<string, object> obj, CustomResourceOptions opts)
        {
            if ((string)obj["kind"] == "Deployment")
            {
                opts.Aliases.Add(new Alias { Name = "oldName" });
            }

            return obj;
        }

        // Omit a resource from the Chart by transforming the specified resource definition to an empty List.
        ImmutableDictionary<string, object> OmitTestPod(ImmutableDictionary<string, object> obj, CustomResourceOptions opts)
        {
            var metadata = (ImmutableDictionary<string, object>)obj["metadata"];
            if ((string)obj["kind"] == "Pod" && (string)metadata["name"] == "test")
            {
                return new Dictionary<string, object>
                {
                    ["apiVersion"] = "v1",
                    ["kind"] = "List",
                    ["items"] = new Dictionary<string, object>(),
                }.ToImmutableDictionary();
            }

            return obj;
        }
    }
}
package main

import (
	"github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/helm/v3"
	"github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/yaml"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := helm.NewChart(ctx, "nginx-ingress", helm.ChartArgs{
			Chart:   pulumi.String("nginx-ingress"),
			Version: pulumi.String("1.24.4"),
			FetchArgs: helm.FetchArgs{
				Repo: pulumi.String("https://charts.helm.sh/stable"),
			},
			Transformations: []yaml.Transformation{
				// Make every service private to the cluster, i.e., turn all services into ClusterIP
				// instead of LoadBalancer.
				func(state map[string]interface{}, opts ...pulumi.ResourceOption) {
					if state["kind"] == "Service" {
						spec := state["spec"].(map[string]interface{})
						spec["type"] = "ClusterIP"
					}
				},

				// Set a resource alias for a previous name.
				func(state map[string]interface{}, opts ...pulumi.ResourceOption) {
					if state["kind"] == "Deployment" {
						aliases := pulumi.Aliases([]pulumi.Alias{
							{
								Name: pulumi.String("oldName"),
							},
						})
						opts = append(opts, aliases)
					}
				},

				// Omit a resource from the Chart by transforming the specified resource definition
				// to an empty List.
				func(state map[string]interface{}, opts ...pulumi.ResourceOption) {
					name := state["metadata"].(map[string]interface{})["name"]
					if state["kind"] == "Pod" && name == "test" {
						state["apiVersion"] = "core/v1"
						state["kind"] = "List"
					}
				},
			},
		})
		if err != nil {
			return err
		}

		return nil
	})
}

Coming soon!

from pulumi_kubernetes.helm.v3 import Chart, ChartOpts, FetchOpts

# Make every service private to the cluster, i.e., turn all services into ClusterIP instead of LoadBalancer.
def make_service_private(obj, opts):
    if obj["kind"] == "Service" and obj["apiVersion"] == "v1":
        try:
            t = obj["spec"]["type"]
            if t == "LoadBalancer":
                obj["spec"]["type"] = "ClusterIP"
        except KeyError:
            pass


# Set a resource alias for a previous name.
def alias(obj, opts):
    if obj["kind"] == "Deployment":
        opts.aliases = ["oldName"]


# Omit a resource from the Chart by transforming the specified resource definition to an empty List.
def omit_resource(obj, opts):
    if obj["kind"] == "Pod" and obj["metadata"]["name"] == "test":
        obj["apiVersion"] = "v1"
        obj["kind"] = "List"


nginx_ingress = Chart(
    "nginx-ingress",
    ChartOpts(
        chart="nginx-ingress",
        version="1.24.4",
        fetch_opts=FetchOpts(
            repo="https://charts.helm.sh/stable",
        ),
        transformations=[make_service_private, alias, omit_resource],
    ),
)
import * as k8s from "@pulumi/kubernetes";

const nginxIngress = new k8s.helm.v3.Chart("nginx-ingress", {
    chart: "nginx-ingress",
    version: "1.24.4",
    fetchOpts:{
        repo: "https://charts.helm.sh/stable",
    },
    transformations: [
        // Make every service private to the cluster, i.e., turn all services into ClusterIP instead of LoadBalancer.
        (obj: any, opts: pulumi.CustomResourceOptions) => {
            if (obj.kind === "Service" && obj.apiVersion === "v1") {
                if (obj.spec && obj.spec.type && obj.spec.type === "LoadBalancer") {
                    obj.spec.type = "ClusterIP";
                }
            }
        },

        // Set a resource alias for a previous name.
        (obj: any, opts: pulumi.CustomResourceOptions) => {
            if (obj.kind === "Deployment") {
                opts.aliases = [{ name: "oldName" }]
            }
        },

        // Omit a resource from the Chart by transforming the specified resource definition to an empty List.
        (obj: any, opts: pulumi.CustomResourceOptions) => {
            if (obj.kind === "Pod" && obj.metadata.name === "test") {
                obj.apiVersion = "v1"
                obj.kind = "List"
            }
        },
    ],
});

Coming soon!

Create a Chart Resource

new Chart(name: string, args?: ChartOpts, opts?: ComponentResourceOptions);
@overload
def Chart(release_name: str,
          config,
          opts=None)
@overload
def Chart(release_name: str,
          config,
          opts=None)
func NewChart(ctx *Context, name string, args *ChartArgs, opts ...ResourceOption) (*Chart, error)
public Chart(string name, ChartArgs? args = null, ComponentResourceOptions? opts = null)
public Chart(String name, ChartArgs args)
public Chart(String name, ChartArgs args, ComponentResourceOptions options)
type: kubernetes:helm.sh/v3:Chart
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ChartOpts
The arguments to resource properties.
opts ComponentResourceOptions
Bag of options to control resource's behavior.
release_name str
Name of the Chart (e.g., nginx-ingress).
config
Configuration options for the Chart.
opts
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ChartArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ChartArgs
The arguments to resource properties.
opts ComponentResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ChartArgs
The arguments to resource properties.
options ComponentResourceOptions
Bag of options to control resource's behavior.

Chart Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The Chart resource accepts the following input properties:

Chart string

The name of the chart to deploy. If [repo] is provided, this chart name will be prefixed by the repo name. Example: repo: "stable", chart: "nginx-ingress" -> "stable/nginx-ingress" Example: chart: "stable/nginx-ingress" -> "stable/nginx-ingress"

Required if specifying ChartOpts for a remote chart.

FetchOpts FetchOptsArgs

Additional options to customize the fetching of the Helm chart.

Namespace string

The optional namespace to install chart resources into.

Path string

The path to the chart directory which contains the Chart.yaml file.

Required if specifying LocalChartOpts.

Repo string

The repository name of the chart to deploy. Example: "stable".

Used only when specifying options for a remote chart.

ResourcePrefix string

An optional prefix for the auto-generated resource names. Example: A resource created with resourcePrefix="foo" would produce a resource named "foo-resourceName".

Transformations List<object>

Optional array of transformations to apply to resources that will be created by this chart prior to creation. Allows customization of the chart behaviour without directly modifying the chart itself.

Values Dictionary<string, object>

Overrides for chart values.

Version string

The version of the chart to deploy. If not provided, the latest version will be deployed.

Chart string

The name of the chart to deploy. If [repo] is provided, this chart name will be prefixed by the repo name. Example: repo: "stable", chart: "nginx-ingress" -> "stable/nginx-ingress" Example: chart: "stable/nginx-ingress" -> "stable/nginx-ingress"

Required if specifying ChartOpts for a remote chart.

FetchOpts FetchOptsArgs

Additional options to customize the fetching of the Helm chart.

Namespace string

The optional namespace to install chart resources into.

Path string

The path to the chart directory which contains the Chart.yaml file.

Required if specifying LocalChartOpts.

Repo string

The repository name of the chart to deploy. Example: "stable".

Used only when specifying options for a remote chart.

ResourcePrefix string

An optional prefix for the auto-generated resource names. Example: A resource created with resourcePrefix="foo" would produce a resource named "foo-resourceName".

Transformations []interface{}

Optional array of transformations to apply to resources that will be created by this chart prior to creation. Allows customization of the chart behaviour without directly modifying the chart itself.

Values map[string]interface{}

Overrides for chart values.

Version string

The version of the chart to deploy. If not provided, the latest version will be deployed.

chart String

The name of the chart to deploy. If [repo] is provided, this chart name will be prefixed by the repo name. Example: repo: "stable", chart: "nginx-ingress" -> "stable/nginx-ingress" Example: chart: "stable/nginx-ingress" -> "stable/nginx-ingress"

Required if specifying ChartOpts for a remote chart.

fetchOpts FetchOptsArgs

Additional options to customize the fetching of the Helm chart.

namespace String

The optional namespace to install chart resources into.

path String

The path to the chart directory which contains the Chart.yaml file.

Required if specifying LocalChartOpts.

repo String

The repository name of the chart to deploy. Example: "stable".

Used only when specifying options for a remote chart.

resourcePrefix String

An optional prefix for the auto-generated resource names. Example: A resource created with resourcePrefix="foo" would produce a resource named "foo-resourceName".

transformations List<Object>

Optional array of transformations to apply to resources that will be created by this chart prior to creation. Allows customization of the chart behaviour without directly modifying the chart itself.

values Map<String,Object>

Overrides for chart values.

version String

The version of the chart to deploy. If not provided, the latest version will be deployed.

chart string

The name of the chart to deploy. If [repo] is provided, this chart name will be prefixed by the repo name. Example: repo: "stable", chart: "nginx-ingress" -> "stable/nginx-ingress" Example: chart: "stable/nginx-ingress" -> "stable/nginx-ingress"

Required if specifying ChartOpts for a remote chart.

fetchOpts helm.sh.v3.FetchOptsArgs

Additional options to customize the fetching of the Helm chart.

namespace string

The optional namespace to install chart resources into.

path string

The path to the chart directory which contains the Chart.yaml file.

Required if specifying LocalChartOpts.

repo string

The repository name of the chart to deploy. Example: "stable".

Used only when specifying options for a remote chart.

resourcePrefix string

An optional prefix for the auto-generated resource names. Example: A resource created with resourcePrefix="foo" would produce a resource named "foo-resourceName".

transformations any[]

Optional array of transformations to apply to resources that will be created by this chart prior to creation. Allows customization of the chart behaviour without directly modifying the chart itself.

values {[key: string]: any}

Overrides for chart values.

version string

The version of the chart to deploy. If not provided, the latest version will be deployed.

chart str

The name of the chart to deploy. If [repo] is provided, this chart name will be prefixed by the repo name. Example: repo: "stable", chart: "nginx-ingress" -> "stable/nginx-ingress" Example: chart: "stable/nginx-ingress" -> "stable/nginx-ingress"

Required if specifying ChartOpts for a remote chart.

fetch_opts FetchOptsArgs

Additional options to customize the fetching of the Helm chart.

namespace str

The optional namespace to install chart resources into.

path str

The path to the chart directory which contains the Chart.yaml file.

Required if specifying LocalChartOpts.

repo str

The repository name of the chart to deploy. Example: "stable".

Used only when specifying options for a remote chart.

resource_prefix str

An optional prefix for the auto-generated resource names. Example: A resource created with resourcePrefix="foo" would produce a resource named "foo-resourceName".

transformations Sequence[Any]

Optional array of transformations to apply to resources that will be created by this chart prior to creation. Allows customization of the chart behaviour without directly modifying the chart itself.

values Mapping[str, Any]

Overrides for chart values.

version str

The version of the chart to deploy. If not provided, the latest version will be deployed.

chart String

The name of the chart to deploy. If [repo] is provided, this chart name will be prefixed by the repo name. Example: repo: "stable", chart: "nginx-ingress" -> "stable/nginx-ingress" Example: chart: "stable/nginx-ingress" -> "stable/nginx-ingress"

Required if specifying ChartOpts for a remote chart.

fetchOpts Property Map

Additional options to customize the fetching of the Helm chart.

namespace String

The optional namespace to install chart resources into.

path String

The path to the chart directory which contains the Chart.yaml file.

Required if specifying LocalChartOpts.

repo String

The repository name of the chart to deploy. Example: "stable".

Used only when specifying options for a remote chart.

resourcePrefix String

An optional prefix for the auto-generated resource names. Example: A resource created with resourcePrefix="foo" would produce a resource named "foo-resourceName".

transformations List<Any>

Optional array of transformations to apply to resources that will be created by this chart prior to creation. Allows customization of the chart behaviour without directly modifying the chart itself.

values Map<Any>

Overrides for chart values.

version String

The version of the chart to deploy. If not provided, the latest version will be deployed.

Outputs

All input properties are implicitly available as output properties. Additionally, the Chart resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Resources string

Resources created by the Chart.

Urn string

The stable logical URN used to distinctly address a resource, both before and after deployments.

Id string

The provider-assigned unique ID for this managed resource.

Resources string

Resources created by the Chart.

Urn string

The stable logical URN used to distinctly address a resource, both before and after deployments.

id String

The provider-assigned unique ID for this managed resource.

resources String

Resources created by the Chart.

urn String

The stable logical URN used to distinctly address a resource, both before and after deployments.

id string

The provider-assigned unique ID for this managed resource.

resources string

Resources created by the Chart.

urn string

The stable logical URN used to distinctly address a resource, both before and after deployments.

id str

The provider-assigned unique ID for this managed resource.

resources str

Resources created by the Chart.

urn str

The stable logical URN used to distinctly address a resource, both before and after deployments.

id String

The provider-assigned unique ID for this managed resource.

resources String

Resources created by the Chart.

urn String

The stable logical URN used to distinctly address a resource, both before and after deployments.

Supporting Types

FetchOpts

CaFile string

Verify certificates of HTTPS-enabled servers using this CA bundle.

CertFile string

Identify HTTPS client using this SSL certificate file.

Destination string

Location to write the chart. If this and tardir are specified, tardir is appended to this (default ".").

Devel bool

Use development versions, too. Equivalent to version '>0.0.0-0'. If –version is set, this is ignored.

Home string

Location of your Helm config. Overrides $HELM_HOME (default "/Users/abc/.helm").

KeyFile string

Identify HTTPS client using this SSL key file.

Keyring string

Keyring containing public keys (default “/Users/abc/.gnupg/pubring.gpg”).

Password string

Chart repository password.

Prov string

Fetch the provenance file, but don’t perform verification.

Repo string

Chart repository url where to locate the requested chart.

Untar bool

If set to false, will leave the chart as a tarball after downloading.

Untardir string

If untar is specified, this flag specifies the name of the directory into which the chart is expanded (default ".").

Username string

Chart repository username.

Verify bool

Verify the package against its signature.

Version string

Specific version of a chart. Without this, the latest version is fetched.

CaFile string

Verify certificates of HTTPS-enabled servers using this CA bundle.

CertFile string

Identify HTTPS client using this SSL certificate file.

Destination string

Location to write the chart. If this and tardir are specified, tardir is appended to this (default ".").

Devel bool

Use development versions, too. Equivalent to version '>0.0.0-0'. If –version is set, this is ignored.

Home string

Location of your Helm config. Overrides $HELM_HOME (default "/Users/abc/.helm").

KeyFile string

Identify HTTPS client using this SSL key file.

Keyring string

Keyring containing public keys (default “/Users/abc/.gnupg/pubring.gpg”).

Password string

Chart repository password.

Prov string

Fetch the provenance file, but don’t perform verification.

Repo string

Chart repository url where to locate the requested chart.

Untar bool

If set to false, will leave the chart as a tarball after downloading.

Untardir string

If untar is specified, this flag specifies the name of the directory into which the chart is expanded (default ".").

Username string

Chart repository username.

Verify bool

Verify the package against its signature.

Version string

Specific version of a chart. Without this, the latest version is fetched.

caFile String

Verify certificates of HTTPS-enabled servers using this CA bundle.

certFile String

Identify HTTPS client using this SSL certificate file.

destination String

Location to write the chart. If this and tardir are specified, tardir is appended to this (default ".").

devel Boolean

Use development versions, too. Equivalent to version '>0.0.0-0'. If –version is set, this is ignored.

home String

Location of your Helm config. Overrides $HELM_HOME (default "/Users/abc/.helm").

keyFile String

Identify HTTPS client using this SSL key file.

keyring String

Keyring containing public keys (default “/Users/abc/.gnupg/pubring.gpg”).

password String

Chart repository password.

prov String

Fetch the provenance file, but don’t perform verification.

repo String

Chart repository url where to locate the requested chart.

untar Boolean

If set to false, will leave the chart as a tarball after downloading.

untardir String

If untar is specified, this flag specifies the name of the directory into which the chart is expanded (default ".").

username String

Chart repository username.

verify Boolean

Verify the package against its signature.

version String

Specific version of a chart. Without this, the latest version is fetched.

caFile string

Verify certificates of HTTPS-enabled servers using this CA bundle.

certFile string

Identify HTTPS client using this SSL certificate file.

destination string

Location to write the chart. If this and tardir are specified, tardir is appended to this (default ".").

devel boolean

Use development versions, too. Equivalent to version '>0.0.0-0'. If –version is set, this is ignored.

home string

Location of your Helm config. Overrides $HELM_HOME (default "/Users/abc/.helm").

keyFile string

Identify HTTPS client using this SSL key file.

keyring string

Keyring containing public keys (default “/Users/abc/.gnupg/pubring.gpg”).

password string

Chart repository password.

prov string

Fetch the provenance file, but don’t perform verification.

repo string

Chart repository url where to locate the requested chart.

untar boolean

If set to false, will leave the chart as a tarball after downloading.

untardir string

If untar is specified, this flag specifies the name of the directory into which the chart is expanded (default ".").

username string

Chart repository username.

verify boolean

Verify the package against its signature.

version string

Specific version of a chart. Without this, the latest version is fetched.

ca_file str

Verify certificates of HTTPS-enabled servers using this CA bundle.

cert_file str

Identify HTTPS client using this SSL certificate file.

destination str

Location to write the chart. If this and tardir are specified, tardir is appended to this (default ".").

devel bool

Use development versions, too. Equivalent to version '>0.0.0-0'. If –version is set, this is ignored.

home str

Location of your Helm config. Overrides $HELM_HOME (default "/Users/abc/.helm").

key_file str

Identify HTTPS client using this SSL key file.

keyring str

Keyring containing public keys (default “/Users/abc/.gnupg/pubring.gpg”).

password str

Chart repository password.

prov str

Fetch the provenance file, but don’t perform verification.

repo str

Chart repository url where to locate the requested chart.

untar bool

If set to false, will leave the chart as a tarball after downloading.

untardir str

If untar is specified, this flag specifies the name of the directory into which the chart is expanded (default ".").

username str

Chart repository username.

verify bool

Verify the package against its signature.

version str

Specific version of a chart. Without this, the latest version is fetched.

caFile String

Verify certificates of HTTPS-enabled servers using this CA bundle.

certFile String

Identify HTTPS client using this SSL certificate file.

destination String

Location to write the chart. If this and tardir are specified, tardir is appended to this (default ".").

devel Boolean

Use development versions, too. Equivalent to version '>0.0.0-0'. If –version is set, this is ignored.

home String

Location of your Helm config. Overrides $HELM_HOME (default "/Users/abc/.helm").

keyFile String

Identify HTTPS client using this SSL key file.

keyring String

Keyring containing public keys (default “/Users/abc/.gnupg/pubring.gpg”).

password String

Chart repository password.

prov String

Fetch the provenance file, but don’t perform verification.

repo String

Chart repository url where to locate the requested chart.

untar Boolean

If set to false, will leave the chart as a tarball after downloading.

untardir String

If untar is specified, this flag specifies the name of the directory into which the chart is expanded (default ".").

username String

Chart repository username.

verify Boolean

Verify the package against its signature.

version String

Specific version of a chart. Without this, the latest version is fetched.

Package Details

Repository
https://github.com/pulumi/pulumi-kubernetes
License
Apache-2.0