├── .github └── workflows │ ├── mkdocs-build.yaml │ ├── terraform-pr.yaml │ └── terraform-push.yaml ├── .gitignore ├── README.md ├── docs ├── 01-getting-started │ ├── 00-overview.md │ ├── 01-init-project.md │ ├── 02-create-vpc-network.md │ ├── 03-create-subnet-network.md │ ├── 04-create-gce.md │ ├── 05-create-external-static-ip.md │ ├── 06-create-firewalls.md │ └── 07-add-ssh-key.md ├── 02-refactoring │ ├── 00-overview.md │ ├── 01-structure-project.md │ ├── 02-set-remote-backend.md │ └── 03-add-type-and-desc-to-variables.md ├── 03-operation │ ├── 00-overview.md │ ├── 01-git-based │ │ ├── 00-overview.md │ │ ├── 01-add-gitignore.md │ │ ├── 02-validate-codes.md │ │ ├── 03-format-codes.md │ │ ├── 04-lint-codes.md │ │ └── 05-add-readme.md │ └── 02-github-based │ │ ├── 00-overview.md │ │ ├── 01-workflow.md │ │ ├── 02-refactoring.md │ │ ├── 03-actions-if-pr │ │ ├── 00-overview.md │ │ ├── 01-pre-commit-actions.md │ │ ├── 02-estimate-costs.md │ │ ├── 03-visualize-modified-resources.md │ │ └── img │ │ │ ├── 01.png │ │ │ ├── 02.png │ │ │ ├── 03.png │ │ │ ├── 04.png │ │ │ ├── 05.png │ │ │ ├── 06.png │ │ │ ├── 07.png │ │ │ ├── 08.png │ │ │ ├── 09.png │ │ │ ├── 10.png │ │ │ ├── 11.png │ │ │ └── 12.png │ │ └── 04-actions-if-push │ │ ├── 00-overview.md │ │ ├── 01-terraform-apply.md │ │ ├── 02-visualize-current-resources.md │ │ └── img │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ └── 04.png ├── assets │ └── logo.png ├── google2ca9e08fc42fcb3d.html ├── index.md └── outro.md ├── mkdocs.yml ├── practice ├── .env ├── .gitignore ├── .pre-commit-config.yaml ├── .terraform-docs.yml ├── .terraform.lock.hcl ├── .tflint.hcl ├── README.md ├── main.tf ├── modules │ ├── compute │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── main.tf │ │ ├── output.tf │ │ └── variables.tf │ ├── iam │ │ ├── README.md │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ ├── network │ │ ├── .terraform.lock.hcl │ │ ├── README.md │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ └── storage │ │ ├── README.md │ │ ├── main.tf │ │ ├── output.tf │ │ └── variables.tf └── variables.tf └── requirements.txt /.github/workflows/mkdocs-build.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/.github/workflows/mkdocs-build.yaml -------------------------------------------------------------------------------- /.github/workflows/terraform-pr.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/.github/workflows/terraform-pr.yaml -------------------------------------------------------------------------------- /.github/workflows/terraform-push.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/.github/workflows/terraform-push.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/README.md -------------------------------------------------------------------------------- /docs/01-getting-started/00-overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/01-getting-started/00-overview.md -------------------------------------------------------------------------------- /docs/01-getting-started/01-init-project.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/01-getting-started/01-init-project.md -------------------------------------------------------------------------------- /docs/01-getting-started/02-create-vpc-network.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/01-getting-started/02-create-vpc-network.md -------------------------------------------------------------------------------- /docs/01-getting-started/03-create-subnet-network.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/01-getting-started/03-create-subnet-network.md -------------------------------------------------------------------------------- /docs/01-getting-started/04-create-gce.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/01-getting-started/04-create-gce.md -------------------------------------------------------------------------------- /docs/01-getting-started/05-create-external-static-ip.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/01-getting-started/05-create-external-static-ip.md -------------------------------------------------------------------------------- /docs/01-getting-started/06-create-firewalls.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/01-getting-started/06-create-firewalls.md -------------------------------------------------------------------------------- /docs/01-getting-started/07-add-ssh-key.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/01-getting-started/07-add-ssh-key.md -------------------------------------------------------------------------------- /docs/02-refactoring/00-overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/02-refactoring/00-overview.md -------------------------------------------------------------------------------- /docs/02-refactoring/01-structure-project.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/02-refactoring/01-structure-project.md -------------------------------------------------------------------------------- /docs/02-refactoring/02-set-remote-backend.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/02-refactoring/02-set-remote-backend.md -------------------------------------------------------------------------------- /docs/02-refactoring/03-add-type-and-desc-to-variables.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/02-refactoring/03-add-type-and-desc-to-variables.md -------------------------------------------------------------------------------- /docs/03-operation/00-overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/00-overview.md -------------------------------------------------------------------------------- /docs/03-operation/01-git-based/00-overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/01-git-based/00-overview.md -------------------------------------------------------------------------------- /docs/03-operation/01-git-based/01-add-gitignore.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/01-git-based/01-add-gitignore.md -------------------------------------------------------------------------------- /docs/03-operation/01-git-based/02-validate-codes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/01-git-based/02-validate-codes.md -------------------------------------------------------------------------------- /docs/03-operation/01-git-based/03-format-codes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/01-git-based/03-format-codes.md -------------------------------------------------------------------------------- /docs/03-operation/01-git-based/04-lint-codes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/01-git-based/04-lint-codes.md -------------------------------------------------------------------------------- /docs/03-operation/01-git-based/05-add-readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/01-git-based/05-add-readme.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/00-overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/00-overview.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/01-workflow.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/01-workflow.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/02-refactoring.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/02-refactoring.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/00-overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/00-overview.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/01-pre-commit-actions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/01-pre-commit-actions.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/02-estimate-costs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/02-estimate-costs.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/03-visualize-modified-resources.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/03-visualize-modified-resources.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/01.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/02.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/03.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/04.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/05.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/06.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/07.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/08.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/09.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/10.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/11.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/03-actions-if-pr/img/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/03-actions-if-pr/img/12.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/04-actions-if-push/00-overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/04-actions-if-push/00-overview.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/04-actions-if-push/01-terraform-apply.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/04-actions-if-push/01-terraform-apply.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/04-actions-if-push/02-visualize-current-resources.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/04-actions-if-push/02-visualize-current-resources.md -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/04-actions-if-push/img/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/04-actions-if-push/img/01.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/04-actions-if-push/img/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/04-actions-if-push/img/02.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/04-actions-if-push/img/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/04-actions-if-push/img/03.png -------------------------------------------------------------------------------- /docs/03-operation/02-github-based/04-actions-if-push/img/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/03-operation/02-github-based/04-actions-if-push/img/04.png -------------------------------------------------------------------------------- /docs/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/assets/logo.png -------------------------------------------------------------------------------- /docs/google2ca9e08fc42fcb3d.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/google2ca9e08fc42fcb3d.html -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/outro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/docs/outro.md -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /practice/.env: -------------------------------------------------------------------------------- 1 | GOOGLE_CREDENTIALS="/Users/user/Desktop/heumsi/credentials/gcp/sa/terraform.json" -------------------------------------------------------------------------------- /practice/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/.gitignore -------------------------------------------------------------------------------- /practice/.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/.pre-commit-config.yaml -------------------------------------------------------------------------------- /practice/.terraform-docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/.terraform-docs.yml -------------------------------------------------------------------------------- /practice/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/.terraform.lock.hcl -------------------------------------------------------------------------------- /practice/.tflint.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/.tflint.hcl -------------------------------------------------------------------------------- /practice/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/README.md -------------------------------------------------------------------------------- /practice/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/main.tf -------------------------------------------------------------------------------- /practice/modules/compute/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/compute/.terraform.lock.hcl -------------------------------------------------------------------------------- /practice/modules/compute/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/compute/README.md -------------------------------------------------------------------------------- /practice/modules/compute/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/compute/main.tf -------------------------------------------------------------------------------- /practice/modules/compute/output.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /practice/modules/compute/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/compute/variables.tf -------------------------------------------------------------------------------- /practice/modules/iam/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/iam/README.md -------------------------------------------------------------------------------- /practice/modules/iam/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/iam/main.tf -------------------------------------------------------------------------------- /practice/modules/iam/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/iam/outputs.tf -------------------------------------------------------------------------------- /practice/modules/iam/variables.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /practice/modules/network/.terraform.lock.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/network/.terraform.lock.hcl -------------------------------------------------------------------------------- /practice/modules/network/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/network/README.md -------------------------------------------------------------------------------- /practice/modules/network/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/network/main.tf -------------------------------------------------------------------------------- /practice/modules/network/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/network/outputs.tf -------------------------------------------------------------------------------- /practice/modules/network/variables.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /practice/modules/storage/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/storage/README.md -------------------------------------------------------------------------------- /practice/modules/storage/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/modules/storage/main.tf -------------------------------------------------------------------------------- /practice/modules/storage/output.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /practice/modules/storage/variables.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /practice/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/practice/variables.tf -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heumsi/hands-on-terraform-with-gcp/HEAD/requirements.txt --------------------------------------------------------------------------------