forked from pulumi/examples
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request pulumi#1032 from mattstratton/mattstratton/kuberne…
…tes-go-helm-wordpress
- Loading branch information
Showing
6 changed files
with
598 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
name: kubernetes-go-helm-wordpress | ||
runtime: go | ||
description: A minimal Go Pulumi program |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
[![Deploy](https://get.pulumi.com/new/button.svg)](https://app.pulumi.com/new) | ||
|
||
# Wordpress Helm Chart | ||
|
||
Uses the Helm API of `pulumi-kubernetes` to deploy `v9.6.0` of the Wordpress Helm Chart to a | ||
Kubernetes cluster. Pulumi will expand the Helm Chart and submit the expanded YAML to the cluster. | ||
|
||
## 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 get ./... | ||
``` | ||
|
||
Create a new stack: | ||
|
||
```sh | ||
$ pulumi stack init | ||
Enter a stack name: wordpress-dev | ||
``` | ||
|
||
Preview the deployment of the application and the perform the deployment: | ||
|
||
```sh | ||
pulumi up | ||
Previewing update (wordpress-dev) | ||
|
||
View Live: https://app.pulumi.com/... | ||
|
||
Type Name Plan | ||
+ pulumi:pulumi:Stack kubernetes-go-helm-wordpress-wordpress-dev create | ||
+ └─ kubernetes:helm.sh/v2:Chart wpdev create | ||
+ ├─ kubernetes:core/v1:PersistentVolumeClaim wpdev-wordpress create | ||
+ ├─ kubernetes:core/v1:Secret wpdev-wordpress create | ||
+ ├─ kubernetes:core/v1:Service wpdev-wordpress create | ||
+ ├─ kubernetes:core/v1:ConfigMap default/wpdev-mariadb create | ||
+ ├─ kubernetes:core/v1:Secret default/wpdev-mariadb create | ||
+ ├─ kubernetes:core/v1:Pod wpdev-credentials-test create | ||
+ ├─ kubernetes:core/v1:Service default/wpdev-mariadb create | ||
+ ├─ kubernetes:apps/v1:Deployment wpdev-wordpress create | ||
+ └─ kubernetes:apps/v1:StatefulSet default/wpdev-mariadb create | ||
|
||
Resources: | ||
+ 11 to create | ||
|
||
Do you want to perform this update? yes | ||
Updating (wordpress-dev) | ||
|
||
View Live: https://app.pulumi.com/.../updates/7 | ||
|
||
Type Name Status | ||
+ pulumi:pulumi:Stack kubernetes-go-helm-wordpress-wordpress-dev created | ||
+ └─ kubernetes:helm.sh:Chart wpdev created | ||
+ ├─ kubernetes:core:Secret default/wpdev-mariadb created | ||
+ ├─ kubernetes:core:Secret wpdev-wordpress created | ||
+ ├─ kubernetes:core:PersistentVolumeClaim wpdev-wordpress created | ||
+ ├─ kubernetes:core:Service wpdev-wordpress created | ||
+ ├─ kubernetes:core:ConfigMap default/wpdev-mariadb created | ||
+ ├─ kubernetes:core:Service default/wpdev-mariadb created | ||
+ ├─ kubernetes:apps:StatefulSet default/wpdev-mariadb created | ||
+ └─ kubernetes:apps:Deployment wpdev-wordpress created | ||
|
||
Outputs: | ||
frontendIp: "35.193.210.254" | ||
|
||
Resources: | ||
+ 10 created | ||
|
||
Duration: 53s | ||
``` | ||
|
||
We can see here in the `---outputs:---` section that Wordpress was allocated a public IP, in this | ||
case `35.193.210.254`. It is exported with a stack output variable, `frontendIp`. We can use `curl` | ||
and `grep` to retrieve the `<title>` of the site the proxy points at. | ||
|
||
```sh | ||
$ curl -sL $(pulumi stack output frontendIp):80 | grep "<title>" | ||
<title>User's Blog! – Just another WordPress site</title> | ||
``` | ||
|
||
You can also 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 (wordpress-dev) | ||
|
||
View Live: https://app.pulumi.com/example/.../updates/8 | ||
|
||
Type Name Status | ||
- pulumi:pulumi:Stack kubernetes-go-helm-wordpress-wordpress-dev deleted | ||
- └─ kubernetes:helm.sh:Chart wpdev deleted | ||
- ├─ kubernetes:core:Secret wpdev-wordpress deleted | ||
- ├─ kubernetes:core:Secret default/wpdev-mariadb deleted | ||
- ├─ kubernetes:core:ConfigMap default/wpdev-mariadb deleted | ||
- ├─ kubernetes:core:Service default/wpdev-mariadb deleted | ||
- ├─ kubernetes:core:PersistentVolumeClaim wpdev-wordpress deleted | ||
- ├─ kubernetes:core:Service wpdev-wordpress deleted | ||
- ├─ kubernetes:apps:StatefulSet default/wpdev-mariadb deleted | ||
- └─ kubernetes:apps:Deployment wpdev-wordpress deleted | ||
|
||
Outputs: | ||
- frontendIp: "35.193.210.254" | ||
|
||
Resources: | ||
- 10 deleted | ||
|
||
Duration: 7s | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
module kubernetes-go-helm-wordpress | ||
|
||
go 1.14 | ||
|
||
require ( | ||
github.com/pulumi/pulumi/sdk/v3 v3.5.1 | ||
github.com/pulumi/pulumi-kubernetes/sdk/v3 v3.0.0 | ||
) |
Oops, something went wrong.