Deploy the workflows-softonic-factory helm chart on Opensshift
TypeScriptDeploying a Helm chart on an OpenShift cluster using Pulumi is a two-step process:
- Setting up an OpenShift Kubernetes cluster, or connecting to an existing one.
- Deploying the Helm chart to the cluster.
Since deployment to an existing cluster is more common, I'll show you how to connect Pulumi to an existing OpenShift cluster and then deploy a Helm chart named "workflows-softonic-factory."
Prerequisites
To start, you'll need:
- An existing OpenShift cluster with
kubectl
configured to communicate with it. - Pulumi CLI installed and set up.
- The Helm chart's repository URL and any configuration values you wish to override.
Step 1: Connect Pulumi to Your OpenShift Cluster
Pulumi uses the Kubernetes provider to interact with your OpenShift cluster. You don't have to explicitly define a provider if it's using the default
kubeconfig
file. Otherwise, you need to create a Kubernetes provider instance configured with your cluster details.Step 2: Deploy the Helm Chart
To deploy a Helm chart, you'll use the
Chart
resource from Pulumi's Kubernetes package.Here's the TypeScript program that connects Pulumi to an existing OpenShift cluster and deploys the "workflows-softonic-factory" chart:
import * as k8s from "@pulumi/kubernetes"; // Step 1: Connect to the OpenShift cluster. // This example uses the default `kubeconfig` file to authenticate. // If your `kubeconfig` is not in the default location, you can use the following: // const clusterProvider = new k8s.Provider('openshift-provider', { // kubeconfig: 'path-to-your-kubeconfig-file', // }); // Step 2: Deploy the Helm chart onto the cluster. const workflowsSoftonicFactoryChart = new k8s.helm.v3.Chart("workflows-softonic-factory", { // Set the repository and chart details according to the helm chart you want to deploy. chart: "workflows-softonic-factory", fetchOpts:{ repo: "https://charts.example.com/", // Replace with the actual Helm repository }, // Replace with the actual namespace where you want to deploy the chart. namespace: "your-namespace", // If you want to override chart values, specify them here. values: { key1: "value1", key2: "value2", // Add more keys and values as per your chart's values.yaml file. }, }, { /* If using a custom provider: provider: clusterProvider */ }); export const chartName = workflowsSoftonicFactoryChart.metadata.name;
In the above program:
- The
@pulumi/kubernetes
package provides the Kubernetes resources for Pulumi. - We define a new Helm chart resource using
new k8s.helm.v3.Chart
. - We specify the chart name "workflows-softonic-factory", and fetch options including the repository URL.
- We set the namespace where the chart will be deployed. This should exist in your cluster or be created with
new k8s.core.v1.Namespace
. - We provide an example of how to override default chart values using the
values
property. You should adjust these according to the Helm chart'svalues.yaml
file or your configuration needs.
Export
At the end of the program,
export const chartName
exports the deployed chart's name, allowing us to retrieve it from the stack's output after the deployment.You can deploy this code with the Pulumi CLI by saving it to
index.ts
, creating a new Pulumi project, and runningpulumi up
. Make sure to adjust the chart details, fetch options, namespace, and values to match the specifics of the "workflows-softonic-factory" Helm chart you are deploying.For more information on using Pulumi with Kubernetes, you can visit the Pulumi Kubernetes documentation. For details on the
Chart
resource and its properties, check the Pulumi API documentation.