---
title: "Wordpress Helm Chart Deployed Using Helm Release Resource"
description: "A minimal Go Pulumi program"
url: "https://www.pulumi.com/dev/examples/kubernetes-go-helm-release-wordpress/"
image: "https://www.pulumi.com/assets/og/dev/examples/kubernetes-go-helm-release-wordpress.png"
---

# Wordpress Helm Chart Deployed Using Helm Release Resource

A minimal Go Pulumi program

- Source on GitHub: https://github.com/pulumi/examples/tree/master/kubernetes-go-helm-release-wordpress

## Get started with this example

This example lives in the [pulumi/examples](https://github.com/pulumi/examples/tree/master/kubernetes-go-helm-release-wordpress) repo. Pull down just this directory to follow along:

```bash
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set kubernetes-go-helm-release-wordpress
cd pulumi-examples/kubernetes-go-helm-release-wordpress
```

Uses the Helm Release resource in `pulumi-kubernetes` to deploy `v13.0.6` of the Wordpress Helm Chart to a
Kubernetes cluster. Pulumi will use native Helm support to deploy the chart on the target Kubernetes cluster.

![wordpress](./images/deploy.gif "Wordpress Helm Release deployment")

## Running the App

If you haven't already, follow the steps in [Pulumi Installation and
Setup](https://www.pulumi.com/docs/get-started/install/) and [Configuring Pulumi
Kubernetes](https://www.pulumi.com/docs/intro/cloud-providers/kubernetes/setup/) to get set up with
Pulumi and Kubernetes.

Now, install dependencies:

```sh
go mod download
```

Create a new stack:

```sh
$ pulumi stack init
Enter a stack name: dev
```

Preview the deployment of the application and the perform the deployment:

```sh
pulumi up
Previewing update (dev)

View Live: https://app.pulumi.com/.../kubernetes-go-helm-release-wordpress/dev/previews/01ac68a0-bcce-4bc8-a34c-cad12544b839

     Type                              Name                                      Plan
 +   pulumi:pulumi:Stack               kubernetes-go-helm-release-wordpress-dev  create
 +   └─ kubernetes:helm.sh/v3:Release  wpdev                                     create

Resources:
    + 2 to create

Do you want to perform this update? yes
Updating (dev)

View Live: https://app.pulumi.com/.../kubernetes-go-helm-release-wordpress/dev/updates/11

     Type                              Name                                      Status
 +   pulumi:pulumi:Stack               kubernetes-go-helm-release-wordpress-dev  created
 +   ├─ kubernetes:helm.sh/v3:Release  wpdev                                     created
     └─ kubernetes:core/v1:Service     svc

Outputs:
    frontendIp        : "10.96.109.99"
    portForwardCommand: "kubectl port-forward svc/wpdev-ysmr245n-wordpress 8080:80"

Resources:
    + 2 created

Duration: 1m13s

```

We can see here in the `---outputs:---` section that Wordpress was allocated a cluster IP, in this
case `10.96.109.99`. It is exported with a stack output variable, `frontendIp`.  Since this is a Cluster IP,
you will need to port-forward to the service in order to hit the endpoint at `http://localhost:8080`
by running the port-forward command specified in `portForwardCommand`.

You can navigate to the site in a web browser.

When you're done, you can remove these resources with `pulumi destroy`:

```sh
pulumi destroy --skip-preview
Destroying (dev)

View Live: https://app.pulumi.com/.../kubernetes-go-helm-release-wordpress/dev/updates/12

     Type                              Name                                      Status
 -   pulumi:pulumi:Stack               kubernetes-go-helm-release-wordpress-dev  deleted
 -   └─ kubernetes:helm.sh/v3:Release  wpdev                                     deleted

Outputs:
  - frontendIp        : "10.96.109.99"
  - portForwardCommand: "kubectl port-forward svc/wpdev-ysmr245n-wordpress 8080:80"

Resources:
    - 2 deleted

Duration: 8s
```
