diff --git a/README.md b/README.md index 9f4d6e4a64..d44cdb1cc6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ -# Configuring your **dev** environment +# Managing infrastructure as code with Terraform, Cloud Build, and GitOps + +This is the repo for the [Managing infrastructure as code with Terraform, Cloud Build, and GitOps](https://cloud.google.com/solutions/managing-infrastructure-as-code) tutorial. This tutorial explains how to manage infrastructure as code with Terraform and Cloud Build using the popular GitOps methodology. + +## Configuring your **dev** environment Just for demostration, this step will: 1. Configure an apache2 http server on network '**dev**' and subnet '**dev**-subnet-01' @@ -12,7 +16,7 @@ terraform apply terraform destroy ``` -# Promoting your environment to **production** +## Promoting your environment to **production** Once you have tested your app (in this example an apache2 http server), you can promote your configuration to prodution. This step will: 1. Configure an apache2 http server on network '**prod**' and subnet '**prod**-subnet-01' diff --git a/cloudbuild.yaml b/cloudbuild.yaml index 84f5365cec..ca83a0086e 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -25,7 +25,7 @@ steps: echo "***********************" - id: 'tf init' - name: 'hashicorp/terraform:0.11.14' + name: 'hashicorp/terraform:1.0.0' entrypoint: 'sh' args: - '-c' @@ -50,7 +50,7 @@ steps: # [START tf-plan] - id: 'tf plan' - name: 'hashicorp/terraform:0.11.14' + name: 'hashicorp/terraform:1.0.0' entrypoint: 'sh' args: - '-c' @@ -76,7 +76,7 @@ steps: # [START tf-apply] - id: 'tf apply' - name: 'hashicorp/terraform:0.11.14' + name: 'hashicorp/terraform:1.0.0' entrypoint: 'sh' args: - '-c' @@ -86,7 +86,7 @@ steps: terraform apply -auto-approve else echo "***************************** SKIPPING APPLYING *******************************" - echo "Branch '$BRANCH_NAME' does not represent an oficial environment." + echo "Branch '$BRANCH_NAME' does not represent an official environment." echo "*******************************************************************************" fi # [END tf-apply] diff --git a/environments/dev/backend.tf b/environments/dev/backend.tf index 33a807a336..240f1f0b4d 100644 --- a/environments/dev/backend.tf +++ b/environments/dev/backend.tf @@ -15,7 +15,7 @@ terraform { backend "gcs" { - bucket = "PROJECT_ID-tfstate" + bucket = "bigquery-eric-tfstate" prefix = "env/dev" } } diff --git a/environments/dev/main.tf b/environments/dev/main.tf index a77cb88e91..a28b76be75 100644 --- a/environments/dev/main.tf +++ b/environments/dev/main.tf @@ -14,7 +14,7 @@ locals { - "env" = "dev" + env = "dev" } provider "google" { diff --git a/environments/dev/terraform.tfvars b/environments/dev/terraform.tfvars index cb8a5a1bbc..42794475dd 100644 --- a/environments/dev/terraform.tfvars +++ b/environments/dev/terraform.tfvars @@ -1 +1 @@ -project="PROJECT_ID" \ No newline at end of file +project="bigquery-eric" \ No newline at end of file diff --git a/environments/dev/versions.tf b/environments/dev/versions.tf index aecd2473e3..4cc81b29fa 100644 --- a/environments/dev/versions.tf +++ b/environments/dev/versions.tf @@ -14,5 +14,5 @@ terraform { - required_version = "~> 0.11.0" + required_version = "~> 1.0.0" } diff --git a/environments/prod/backend.tf b/environments/prod/backend.tf index 7ed343b1a2..83d6e301ae 100644 --- a/environments/prod/backend.tf +++ b/environments/prod/backend.tf @@ -15,7 +15,7 @@ terraform { backend "gcs" { - bucket = "PROJECT_ID-tfstate" + bucket = "bigquery-eric-tfstate" prefix = "env/prod" } } diff --git a/environments/prod/main.tf b/environments/prod/main.tf index 642fe67ba2..0c7726235e 100644 --- a/environments/prod/main.tf +++ b/environments/prod/main.tf @@ -14,7 +14,7 @@ locals { - "env" = "prod" + env = "prod" } provider "google" { diff --git a/environments/prod/terraform.tfvars b/environments/prod/terraform.tfvars index cb8a5a1bbc..42794475dd 100644 --- a/environments/prod/terraform.tfvars +++ b/environments/prod/terraform.tfvars @@ -1 +1 @@ -project="PROJECT_ID" \ No newline at end of file +project="bigquery-eric" \ No newline at end of file diff --git a/environments/prod/versions.tf b/environments/prod/versions.tf index aecd2473e3..4cc81b29fa 100644 --- a/environments/prod/versions.tf +++ b/environments/prod/versions.tf @@ -14,5 +14,5 @@ terraform { - required_version = "~> 0.11.0" + required_version = "~> 1.0.0" } diff --git a/modules/firewall/main.tf b/modules/firewall/main.tf index 5e40f7089f..1d2e549134 100644 --- a/modules/firewall/main.tf +++ b/modules/firewall/main.tf @@ -27,6 +27,6 @@ resource "google_compute_firewall" "allow-http" { ports = ["80"] } - target_tags = ["http-server2"] + target_tags = ["http-server"] source_ranges = ["0.0.0.0/0"] } diff --git a/modules/firewall/versions.tf b/modules/firewall/versions.tf index aecd2473e3..4cc81b29fa 100644 --- a/modules/firewall/versions.tf +++ b/modules/firewall/versions.tf @@ -14,5 +14,5 @@ terraform { - required_version = "~> 0.11.0" + required_version = "~> 1.0.0" } diff --git a/modules/http_server/main.tf b/modules/http_server/main.tf index 6f05187f34..e790ce329e 100644 --- a/modules/http_server/main.tf +++ b/modules/http_server/main.tf @@ -27,7 +27,7 @@ resource "google_compute_instance" "http_server" { boot_disk { initialize_params { - image = "debian-cloud/debian-9" + image = "debian-cloud/debian-11" } } diff --git a/modules/http_server/versions.tf b/modules/http_server/versions.tf index aecd2473e3..4cc81b29fa 100644 --- a/modules/http_server/versions.tf +++ b/modules/http_server/versions.tf @@ -14,5 +14,5 @@ terraform { - required_version = "~> 0.11.0" + required_version = "~> 1.0.0" } diff --git a/modules/vpc/main.tf b/modules/vpc/main.tf index 36b08f5b43..8fce4ab20d 100644 --- a/modules/vpc/main.tf +++ b/modules/vpc/main.tf @@ -15,7 +15,7 @@ module "vpc" { source = "terraform-google-modules/network/google" - version = "0.6.0" + version = "3.3.0" project_id = "${var.project}" network_name = "${var.env}" diff --git a/modules/vpc/versions.tf b/modules/vpc/versions.tf index aecd2473e3..4cc81b29fa 100644 --- a/modules/vpc/versions.tf +++ b/modules/vpc/versions.tf @@ -14,5 +14,5 @@ terraform { - required_version = "~> 0.11.0" + required_version = "~> 1.0.0" }