-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Implement Terraform code to automate Online Boutique GKE quickstart #918
Conversation
🚲 PR staged at http://34.170.66.255 |
1 similar comment
🚲 PR staged at http://34.170.66.255 |
🚲 PR staged at http://34.170.66.255 |
🚲 PR staged at http://34.170.66.255 |
🚲 PR staged at http://34.170.66.255 |
1 similar comment
🚲 PR staged at http://34.170.66.255 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I realize that this pull-request is in "Draft" mode.
But I left some preliminary comments/suggestions.
Feel free to reject any of my suggestions — all of them are minor.
I have not yet tested the instructions myself (i.e., I didn't run the terraform
commands).
I will do that as soon as this pull-requests come out of draft mode. :)
Things are looking good! Great work so far, Jasper. 👏
Co-authored-by: Nim Jayawardena <nimjay@google.com>
Co-authored-by: Nim Jayawardena <nimjay@google.com>
Co-authored-by: Nim Jayawardena <nimjay@google.com>
Co-authored-by: Nim Jayawardena <nimjay@google.com>
Co-authored-by: Nim Jayawardena <nimjay@google.com>
🚲 PR staged at http://34.170.66.255 |
4 similar comments
🚲 PR staged at http://34.170.66.255 |
🚲 PR staged at http://34.170.66.255 |
🚲 PR staged at http://34.170.66.255 |
🚲 PR staged at http://34.170.66.255 |
🚲 PR staged at http://34.170.66.255 |
🚲 PR staged at http://34.170.66.255 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for addressing all my comments!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so, so much for addressing most of our feedback!
Your changes have come a long way since you first drafted this pull-request (PR).
It was already excellent when you created the PR so your extra efforts (to address our comments) are highly appreciated.
I approve this change.
Before merging, please:
- Get Ahrar's approval.
- Merge the latest changes from main into this branch (click "Update branch").
- Wait for all 4 Checks to pass (it'll take a few minutes).
Both of you, good suggestion and supporting references. I agree, let's consider this improvement out-of-scope for this PR. Jasper and I will discuss his interest in implementing this and incorporating references to the docs into the README, after the fact. |
@minherz @ckim328 @ahrarmonsur (+ @NimJay & @Shabirmean if necessary) - requesting a final code look-through after many of your comments have been addressed! Here are the main changes to the Terraform module:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the changes @jaspermai
Left two minor improvements.
LGTM!!!
Co-authored-by: Shabir Mohamed Abdul Samadh <7249208+Shabirmean@users.noreply.github.com>
🚲 PR staged at http://34.170.66.255 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good job Jasper, and thank you for addressing all our comments! just one last comment from myself
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent job incorporating everyone's feedback, Jasper, including my own for the README!
Your diligence with you the contribution is evident, and the final state is much improved since you submitted the PR!
LGTM!
🚲 PR staged at http://34.170.66.255 |
…tart (GoogleCloudPlatform#918) * basic files upload - main, output, variables, README, LICENSE * Delete LICENSE * Update README.md * Updated README.md * Updated README.md * Updated README.md * Update terraform/README.md Co-authored-by: Nim Jayawardena <nimjay@google.com> * Update terraform/README.md Co-authored-by: Nim Jayawardena <nimjay@google.com> * Update terraform/main.tf Co-authored-by: Nim Jayawardena <nimjay@google.com> * Update terraform/variables.tf Co-authored-by: Nim Jayawardena <nimjay@google.com> * Update terraform/README.md Co-authored-by: Nim Jayawardena <nimjay@google.com> * Updated README.md * Updated README.md * updated .gitignore file with unneccessary tf-generated files * updated README as per nimjay@ * updated README.md * .gitignore and README.md changes as per christineskim@ * updated README.md * Updated README.md * Updated main.tf and variables.tf as per leoy@ * Updated README and .tf files as per christineskim@, leoy@, ahrar@, shabirmean@. Providers-related code in progress * Ran terraform fmt and updated README * Transitioned to terraform.tfvars and providers definition * Using gcloud module for get-credentials * Updated styling * Updated styling * Update terraform/main.tf Co-authored-by: Shabir Mohamed Abdul Samadh <7249208+Shabirmean@users.noreply.github.com> * Changed naming of cluster_id_parts * Changed cluster_id_parts * Updated README.md for formatting * Reverted tfvars variable to project_id_here * Updated .gitignore Co-authored-by: Nim Jayawardena <nimjay@google.com> Co-authored-by: Christine Kim <35876108+ckim328@users.noreply.github.com> Co-authored-by: Shabir Mohamed Abdul Samadh <7249208+Shabirmean@users.noreply.github.com>
This Pull Request introduces a new Terraform module that automates Online Boutique's GKE quickstart process.
Background
Online Boutique (microservices-demo) is a sample web application that simulates a web-based e-commerce application for users to browse items, add them to cart, and purchase them. The sample application demonstrates using an 11-tier microservices application deployed using Kubernetes/GKE.
Currently, the microservices-demo repo contains instructions in the Quickstart (GKE) section on how to deploy the sample application on your own GCP project. The process requires many intermediate steps with varying processing time in between each step. The usage of an incoming Terraform module will simplify all of the Quickstart steps into one Terraform command and combine the individual processing times into one waiting period for the user.
Summary of Changes
1. New File: main.tf
This file contains the main Terraform script instructions. When running the script, the script will be executing the following actions:
release/kubernetes-manifests.yaml
2. New File: variables.tf
This file contains variables that may need customization in future projects. These variables include "apis", "cluster name", "cluster region", "Pods namespace", and "Kubernetes manifest filepath".
3. New File: output.tf
This file contains output variables that are shown after running the Terraform script. These variables include "location of the cluster" and "name of the cluster".
4. New File: README.md
This file contains detailed instructions on how to setup, run, and destroy the Terraform script.
Testing Procedure
Refer to the instructions in the
terraform/README.md
file. This file contains instructions of setting up and using the Terraform file. Link to README: https://github.com/GoogleCloudPlatform/microservices-demo/blob/7d2517ef8f1e9cfbfd110e855bc801081988eb45/terraform/README.md