From 216afda2ce512f162a3daf7d9deaee79514b54a9 Mon Sep 17 00:00:00 2001 From: Benjamin Sadik Date: Thu, 25 Aug 2022 17:16:43 +0200 Subject: [PATCH] update readme --- .../wordpress/cloudrun/README.md | 99 +++++++++++++++++- .../cloudrun/images/architecture.png | Bin 0 -> 37443 bytes .../wordpress/cloudrun/images/button.png | Bin 0 -> 10762 bytes 3 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 examples/third-party-solutions/wordpress/cloudrun/images/architecture.png create mode 100644 examples/third-party-solutions/wordpress/cloudrun/images/button.png diff --git a/examples/third-party-solutions/wordpress/cloudrun/README.md b/examples/third-party-solutions/wordpress/cloudrun/README.md index 46409041..1323ae12 100644 --- a/examples/third-party-solutions/wordpress/cloudrun/README.md +++ b/examples/third-party-solutions/wordpress/cloudrun/README.md @@ -1 +1,98 @@ -# TODO +# Wordpress deployment on Cloud Run + +43% of the Web is built on Wordpress. Because of its simplicity and versatility, Wordpress can be used for internal websites as well as customer facing e-commerce platforms in small to large businesses while still offering security. + +This repository contains the necessary Terraform files to deploy a functioning new Wordpress website exposed to the public internet with minimal technical overhead. + +This architecture can be used for the following use cases and more: + +* Blog +* Intranet / internal Wiki +* Ecommerce platform + +## Architecture + +![Wordpress on Cloud Run](images/architecture.png "Wordpress on Cloud Run") + +The main components that are deployed in this architecture are the following (you can learn about them by following the hyperlinks): + +* [Cloud Run](https://cloud.google.com/run): serverless PaaS offering to host containers for web oriented applications while offering security, scalability and easy versioning. +* [Cloud SQL](https://cloud.google.com/sql): Managed solution for SQL DB + +## Setup + +### Prerequisites + +#### Setting up the project for the deployment + +This example will deploy all its resources into the project defined by the `project_id` variable. Please note that we assume this project already exists. However, if you provide the appropriate values to the `project_create` variable, the project will be created as part of the deployment. + +If `project_create` is left to null, the identity performing the deployment needs the `owner` role on the project defined by the `project_id` variable. Otherwise, the identity performing the deployment needs `resourcemanager.projectCreator` on the resource hierarchy node specified by `project_create.parent` and `billing.user` on the billing account specified by `project_create.billing_account_id`. + +### Deployment + +#### Step 0: Cloning the repository + +Click on the image below, sign in if required and when the prompt appears, click on “confirm”. + +[

Open Cloudshell

]() + +LINK NEEDED + +Before we deploy the architecture, you will at least need the following information (for more precise configuration see the Variables section): + +* The project Id. +* A Google Cloud Registry path to a Wordpress container image. + +#### Step 1: Build Wordpress image + +In order to deploy the Wordpress service to Cloud Run, you need to build and store the image in Google Cloud Registry (GCR). + +Make sure that the GCR API is enabled and run the following commands in your Cloud Shell environment with your `project_id` in place of the `MY_PROJECT` placeholder: + +``` {shell} +docker pull wordpress +docker tag wordpress gcr.io/MY_PROJECT/busybox +docker push gcr.io/MY_PROJECT/wordpress +``` + +#### Step 2: Deploy resources + +Once you have the required information, head back to the Cloud Shell editor. Make sure you’re in the following directory: `cloudshell_open/cloud-foundation-fabric/examples/third-party-solutions/wordpress/cloudrun/`. + +Configure the Terraform variables in your terraform.tfvars file. See [terraform.tfvars.sample](terraform.tfvars.sample) as starting point. + +Initialize your Terraform environment: + +``` {shell} +alias tf=terraform +tf init +tf apply -var-file="terraform.tfvars.sample" +``` + +The resource creation will take a few minutes, at the end this is the output you should expect for successful completion along with a list of the created resources. + +#### Clean up your environment + +The easiest way to remove all the deployed resources is to run the following command in Cloud Shell: + +``` {shell} +tf destroy -var-file="terraform.tfvars.sample" +``` + +The above command will delete the associated resources so there will be no billable charges made afterwards. + + +## Variables + +| name | description | type | required | default | +|---|---|:---:|:---:|:---:| +| [project_id](variables.tf#L32) | Project id, references existing project if `project_create` is null. | string # TODO: check locals | ✓ | | +| [wordpress_image](variables.tf#L49) | Image to run with Cloud Run, starts with \"gcr.io\" | string | ✓ | | +| [cloud_run_invoker](variables.tf#L55) | IAM member authorized to access the end-point (for example, 'user:YOUR_IAM_USER' for only you or 'allUsers' for everyone) | string | | "allUsers" | +| [prefix](variables.tf#L17) | Unique prefix used for resource names. Not used for project if 'project_create' is null. | string | | "" | +| [principals](variables.tf#L43) | List of emails of people/service accounts to give rights to, eg 'user@domain.com'. | list(string) | | [] | +| [project_create](variables.tf#L23) | Provide values if project creation is needed, uses existing project if null. Parent is in 'folders/nnn' or 'organizations/nnn' format. | object({…}) | | null | +| [region](variables.tf#L37) | Region for the created resources | string | | "europe-west4" | + + diff --git a/examples/third-party-solutions/wordpress/cloudrun/images/architecture.png b/examples/third-party-solutions/wordpress/cloudrun/images/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..cdbc07964ee328856fc82e51801e5c46d205920d GIT binary patch literal 37443 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