Skip to main content

Wordpress Helm Chart Deployed Using Helm Release Resource

A minimal Go Pulumi program

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
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

Running the App#

If you haven’t already, follow the steps in Pulumi Installation and Setup and Configuring Pulumi Kubernetes to get set up with Pulumi and Kubernetes.

Now, install dependencies:

Terminal window
go mod download

Create a new stack:

Terminal window
pulumi stack init
Enter a stack name: dev

Preview the deployment of the application and the perform the deployment:

Terminal window
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:

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

Related

The infrastructure as code platform for any cloud.