Skip to content
This repository was archived by the owner on Oct 16, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
951c8b7
Update project IDs and buckets
Sep 14, 2021
3b64613
Fixing http firewall target
monika16p Sep 14, 2021
3475a1e
Merge pull request #1 from monika16p/monika16p-patch-1
monika16p Sep 14, 2021
68bfa01
Update main.tf
monika16p Sep 14, 2021
4552365
Update variables.tf
monika16p Sep 14, 2021
5be80fe
Update outputs.tf
monika16p Sep 14, 2021
d828eea
Update main.tf
monika16p Sep 14, 2021
e15cb45
Update variables.tf
monika16p Sep 14, 2021
6d7176f
Update outputs.tf
monika16p Sep 14, 2021
d8f652c
Update main.tf
monika16p Sep 14, 2021
d1d138d
Update variables.tf
monika16p Sep 14, 2021
2e9b80e
Update main.tf
monika16p Sep 14, 2021
cc81eb4
Update main.tf
monika16p Sep 14, 2021
752a9ac
Update cloudbuild.yaml
monika16p Sep 14, 2021
ea65a1c
Update main.tf
monika16p Sep 14, 2021
300eb04
Update main.tf
monika16p Sep 14, 2021
ec2f930
Update main.tf
monika16p Sep 14, 2021
e1a5dc2
Update main.tf
monika16p Sep 14, 2021
6fb4d1d
Merge pull request #5 from monika16p/monika16p-patch-4
monika16p Sep 14, 2021
b1ae987
Update variables.tf
monika16p Sep 15, 2021
0fc9ab8
Update terraform.tfvars
monika16p Sep 15, 2021
27785da
Update cloudbuild.yaml
monika16p Sep 15, 2021
b0dd835
Update main.tf
monika16p Sep 15, 2021
38646fe
Update main.tf
monika16p Sep 15, 2021
ba76806
Update variables.tf
monika16p Sep 15, 2021
8d8fd1e
Update terraform.tfvars
monika16p Sep 15, 2021
f1c12cd
Update main.tf
monika16p Sep 15, 2021
a4d0729
Update variables.tf
monika16p Sep 15, 2021
88ce177
Update main.tf
monika16p Sep 15, 2021
137384d
Update main.tf
monika16p Sep 15, 2021
32b2f8f
Update main.tf
monika16p Sep 15, 2021
4558766
Delete modules/firewall directory
monika16p Sep 15, 2021
beafb09
Delete modules/http_server directory
monika16p Sep 15, 2021
2ba7859
Update main.tf
monika16p Sep 15, 2021
1f926ba
Update main.tf
monika16p Sep 15, 2021
47eb45e
Update main.tf
monika16p Sep 15, 2021
7ec6f34
Update outputs.tf
monika16p Sep 15, 2021
e99ade2
Update terraform.tfvars
monika16p Sep 15, 2021
7450e03
Update variables.tf
monika16p Sep 15, 2021
cab6e40
Update main.tf
monika16p Sep 15, 2021
233900e
Merge pull request #10 from monika16p/monika16p-patch-9
monika16p Sep 15, 2021
aef8b0d
Update main.tf
monika16p Sep 16, 2021
d769a1a
Merge pull request #11 from monika16p/monika16p-patch-10
monika16p Sep 16, 2021
3aa1efd
Update main.tf
monika16p Sep 17, 2021
ce9dc11
Update main.tf
monika16p Sep 17, 2021
6c13b27
Update variables.tf
monika16p Sep 17, 2021
ce75fa4
Update main.tf
monika16p Sep 17, 2021
d50b4fb
Update variables.tf
monika16p Sep 17, 2021
6b8c013
Update terraform.tfvars
monika16p Sep 17, 2021
fd29ca9
Update main.tf
monika16p Sep 17, 2021
e24e15b
Update main.tf
monika16p Sep 17, 2021
c1f60b1
Update variables.tf
monika16p Sep 17, 2021
b08a8b0
Update terraform.tfvars
monika16p Sep 17, 2021
9d7ff7a
Update main.tf
monika16p Sep 17, 2021
2dff1e7
Update main.tf
monika16p Sep 17, 2021
a5ab520
Update variables.tf
monika16p Sep 17, 2021
c3cbd93
Update terraform.tfvars
monika16p Sep 17, 2021
c7fb8b7
Update main.tf
monika16p Sep 17, 2021
a320cbb
Update main.tf
monika16p Sep 17, 2021
07318f2
Update main.tf
monika16p Sep 17, 2021
a77699b
Update cloudbuild.yaml
monika16p Sep 17, 2021
7081946
Update main.tf
monika16p Sep 17, 2021
53b801f
Update variables.tf
monika16p Sep 17, 2021
9ef6a6c
Update terraform.tfvars
monika16p Sep 17, 2021
c722004
Update main.tf
monika16p Sep 17, 2021
dcd85f3
Update main.tf
monika16p Sep 17, 2021
a10c4cb
Update main.tf
monika16p Sep 20, 2021
d20b71c
Update main.tf
monika16p Sep 20, 2021
46ecf92
Update variables.tf
monika16p Sep 21, 2021
f8c03d7
Update terraform.tfvars
monika16p Sep 21, 2021
e4e1d2b
Update main.tf
monika16p Sep 21, 2021
c8ef726
Update main.tf
monika16p Sep 27, 2021
b6a5e2d
Update terraform.tfvars
monika16p Sep 27, 2021
25f56f0
Update variables.tf
monika16p Sep 27, 2021
d1a069e
Update main.tf
monika16p Sep 27, 2021
90b4d42
Merge pull request #12 from monika16p/monika16p-patch-11
monika16p Sep 27, 2021
45ef315
Update cloudbuild.yaml
monika16p Sep 27, 2021
4feea15
Update main.tf
monika16p Sep 27, 2021
9561312
Update main.tf
monika16p Sep 27, 2021
76e7cc1
Update main.tf
monika16p Sep 27, 2021
fd4b9c3
Update main.tf
monika16p Sep 27, 2021
66b4ae3
Update main.tf
monika16p Sep 27, 2021
1b40384
Create infracost_test.tf
monika16p Mar 20, 2024
eaaf457
Merge pull request #13 from monika16p/monika16p-patch-12-1
monika16p Mar 20, 2024
0bb714f
Update README.md
monika16p Jun 11, 2025
db53cda
Update README.md
monika16p Jun 11, 2025
fc18ac7
Update README.md
monika16p Jun 12, 2025
44565b7
Update infracost_test.tf
monika16p Jun 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

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
## Configuring your **dev** environment......

Just for demostration, this step will:
1. Configure an apache2 http server on network '**dev**' and subnet '**dev**-subnet-01'
Expand Down
1 change: 1 addition & 0 deletions cloudbuild.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,5 @@ steps:
echo "Branch '$BRANCH_NAME' does not represent an oficial environment."
echo "*******************************************************************************"
fi
timeout: 1800s
# [END tf-apply]
2 changes: 1 addition & 1 deletion environments/dev/backend.tf
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

terraform {
backend "gcs" {
bucket = "PROJECT_ID-tfstate"
bucket = "yash-innovation-tfstate"
prefix = "env/dev"
}
}
36 changes: 22 additions & 14 deletions environments/dev/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,28 @@ provider "google" {
project = "${var.project}"
}

module "vpc" {
source = "../../modules/vpc"
project = "${var.project}"
env = "${local.env}"
}

module "http_server" {
source = "../../modules/http_server"
project = "${var.project}"
subnet = "${module.vpc.subnet}"
}

module "firewall" {
source = "../../modules/firewall"
project = "${var.project}"
subnet = "${module.vpc.subnet}"
module "kubernetes_engine" {
source = "../../modules/vpc"
count = var.kubernetes_engine-create ? var.kubernetes_engine-count : 0
k8s_cluster_name = var.k8s_cluster_name
k8s_cluster_location = var.k8s_cluster_location
k8s_remove_default_node_pool = var.k8s_remove_default_node_pool
k8s_initial_node_count = var.k8s_initial_node_count
#k8s_username = var.k8s_username
#k8s_password = var.k8s_password
k8s_issue_client_certificate = var.k8s_issue_client_certificate
k8s_pool_name = var.k8s_pool_name
k8s_pool_location = var.k8s_pool_location
k8s_pool_node_count = var.k8s_pool_node_count
k8s_pool_preemptible = var.k8s_pool_preemptible
k8s_pool_machine_type = var.k8s_pool_machine_type
k8s_pool_disable-legacy-endpoints = var.k8s_pool_disable-legacy-endpoints
k8s_pool_oauth_scopes = var.k8s_pool_oauth_scopes
k8s_min_node_count = var.k8s_min_node_count
k8s_max_node_count = var.k8s_max_node_count
project = "${var.project}"
env = "${local.env}"
}

20 changes: 8 additions & 12 deletions environments/dev/outputs.tf
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,18 @@
# limitations under the License.


output "network" {
value = "${module.vpc.network}"
output "cluster_id" {
value = module.kubernetes_engine[*].cluster_id
}

output "subnet" {
value = "${module.vpc.subnet}"
output "cluster_endpoint" {
value = module.kubernetes_engine[*].cluster_endpoint
}

output "firewall_rule" {
value = "${module.firewall.firewall_rule}"
output "pool_id" {
value = module.kubernetes_engine[*].pool_id
}

output "instance_name" {
value = "${module.http_server.instance_name}"
}

output "external_ip" {
value = "${module.http_server.external_ip}"
output "pool_instance_group_urls" {
value = module.kubernetes_engine[*].pool_instance_group_urls
}
39 changes: 38 additions & 1 deletion environments/dev/terraform.tfvars
Original file line number Diff line number Diff line change
@@ -1 +1,38 @@
project="PROJECT_ID"
project="yash-innovation"
kubernetes_engine-create=true


kubernetes_engine-count=1


k8s_cluster_name="tf-gke-cluster1"

k8s_cluster_location="us-central1-a"


k8s_remove_default_node_pool=true

k8s_initial_node_count=1

k8s_issue_client_certificate=false

k8s_pool_name="tf-node-pool"


k8s_pool_location="us-central1-a"


k8s_pool_node_count=2

k8s_pool_preemptible=true

k8s_pool_machine_type="e2-small"

k8s_min_node_count=1
k8s_max_node_count=3

k8s_pool_disable-legacy-endpoints=true
k8s_pool_oauth_scopes= [
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring"
]
82 changes: 82 additions & 0 deletions environments/dev/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,85 @@


variable "project" {}
variable "kubernetes_engine-create" {
type = bool
default = true
}

variable "kubernetes_engine-count" {
type = number
default = 1
}

variable "k8s_cluster_name" {
type = string
default = "tf-gke-cluster1"
}

variable "k8s_cluster_location" {
type = string
default = "us-central1-a"
}

variable "k8s_remove_default_node_pool" {
type = bool
default = true
}

variable "k8s_initial_node_count" {
type = number
default = 1
}


variable "k8s_issue_client_certificate" {
type = bool
default = false
}

variable "k8s_pool_name" {
type = string
default = "tf-node-pool"
}

variable "k8s_pool_location" {
type = string
default = "us-central1-a"
}

variable "k8s_pool_node_count" {
type = number
default = 2
}

variable "k8s_pool_preemptible" {
type = bool
default = true
}

variable "k8s_pool_machine_type" {
type = string
default = "e2-small"
}

variable "k8s_pool_disable-legacy-endpoints" {
type = bool
default = true
}
variable "k8s_min_node_count" {
type = number
default = 1
}

variable "k8s_max_node_count" {
type = number
default = 3
}

variable "k8s_pool_oauth_scopes" {
type = list(string)
default = [
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring",
]
}
2 changes: 1 addition & 1 deletion environments/prod/backend.tf
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

terraform {
backend "gcs" {
bucket = "PROJECT_ID-tfstate"
bucket = "yash-innovation-tfstate"
prefix = "env/prod"
}
}
38 changes: 23 additions & 15 deletions environments/prod/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,35 @@


locals {
env = "prod"
env = "dev"
}

provider "google" {
project = "${var.project}"
}

module "vpc" {
source = "../../modules/vpc"
project = "${var.project}"
env = "${local.env}"
}

module "http_server" {
source = "../../modules/http_server"
project = "${var.project}"
subnet = "${module.vpc.subnet}"
}

module "firewall" {
source = "../../modules/firewall"
project = "${var.project}"
subnet = "${module.vpc.subnet}"
module "kubernetes_engine" {
source = "../../modules/vpc"
count = var.kubernetes_engine-create ? var.kubernetes_engine-count : 0
k8s_cluster_name = var.k8s_cluster_name
k8s_cluster_location = var.k8s_cluster_location
k8s_remove_default_node_pool = var.k8s_remove_default_node_pool
k8s_initial_node_count = var.k8s_initial_node_count
#k8s_username = var.k8s_username
#k8s_password = var.k8s_password
k8s_issue_client_certificate = var.k8s_issue_client_certificate
k8s_pool_name = var.k8s_pool_name
k8s_pool_location = var.k8s_pool_location
k8s_pool_node_count = var.k8s_pool_node_count
k8s_pool_preemptible = var.k8s_pool_preemptible
k8s_pool_machine_type = var.k8s_pool_machine_type
k8s_pool_disable-legacy-endpoints = var.k8s_pool_disable-legacy-endpoints
k8s_pool_oauth_scopes = var.k8s_pool_oauth_scopes
k8s_min_node_count = var.k8s_min_node_count
k8s_max_node_count = var.k8s_max_node_count
project = "${var.project}"
env = "${local.env}"
}

20 changes: 8 additions & 12 deletions environments/prod/outputs.tf
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,18 @@
# limitations under the License.


output "network" {
value = "${module.vpc.network}"
output "cluster_id" {
value = module.kubernetes_engine[*].cluster_id
}

output "subnet" {
value = "${module.vpc.subnet}"
output "cluster_endpoint" {
value = module.kubernetes_engine[*].cluster_endpoint
}

output "firewall_rule" {
value = "${module.firewall.firewall_rule}"
output "pool_id" {
value = module.kubernetes_engine[*].pool_id
}

output "instance_name" {
value = "${module.http_server.instance_name}"
}

output "external_ip" {
value = "${module.http_server.external_ip}"
output "pool_instance_group_urls" {
value = module.kubernetes_engine[*].pool_instance_group_urls
}
39 changes: 38 additions & 1 deletion environments/prod/terraform.tfvars
Original file line number Diff line number Diff line change
@@ -1 +1,38 @@
project="PROJECT_ID"
project="yash-innovation"
kubernetes_engine-create=true


kubernetes_engine-count=1


k8s_cluster_name="tf-gke-cluster1"

k8s_cluster_location="us-central1-a"


k8s_remove_default_node_pool=true

k8s_initial_node_count=1

k8s_issue_client_certificate=false

k8s_pool_name="tf-node-pool"


k8s_pool_location="us-central1-a"


k8s_pool_node_count=2

k8s_pool_preemptible=true

k8s_pool_machine_type="e2-small"

k8s_min_node_count=1
k8s_max_node_count=3

k8s_pool_disable-legacy-endpoints=true
k8s_pool_oauth_scopes= [
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring"
]
Loading