Skip to content

Commit ca63276

Browse files
committed
terraform cleanup, fix duplicate resource names
1 parent 67b45aa commit ca63276

File tree

5 files changed

+50
-16
lines changed

5 files changed

+50
-16
lines changed

terraform/modules/cloudbuild/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ resource "google_cloudbuild_trigger" "frontend" {
9393
name = "gcr.io/cloud-builders/gsutil"
9494
entrypoint = "bash"
9595
# TODO the storage bucket should be a variable
96-
args = ["-c", "gsutil -m cp -r public/* gs://dev-frontend-dev-sst-439514-static"]
96+
args = ["-c", "gsutil -m cp -r public/* gs://${var.project}-${var.environment}-static"]
9797
}
9898
step {
9999
id = "BUILD and PUSH with cloudpacks"

terraform/modules/iam/main.tf

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ resource "google_project_iam_member" "cloudrun_sa_invoker" {
1919

2020
# TODO: Narrow down the permissions for the Cloud Build service account
2121
resource "google_service_account" "cloudbuild_sa" {
22-
account_id = "cloudbuild-sa"
22+
account_id = "${var.environment}-cloudbuild-sa"
23+
display_name = "${var.environment} Cloud Build Service Account"
2324
}
2425

2526
resource "google_project_iam_member" "act_as" {
@@ -67,19 +68,19 @@ resource "google_project_iam_member" "cloudbuild_run_invoker" {
6768
resource "google_project_iam_member" "cloudbuild_sa_viewer" {
6869
project = var.project
6970
role = "roles/viewer"
70-
member = "serviceAccount:cloudbuild-sa@dev-sst-439514.iam.gserviceaccount.com"
71+
member = "serviceAccount:${google_service_account.cloudbuild_sa.email}"
7172
}
7273

7374
resource "google_project_iam_member" "cloudbuild_sa_compute_network_admin" {
7475
project = var.project
7576
role = "roles/compute.networkAdmin"
76-
member = "serviceAccount:cloudbuild-sa@dev-sst-439514.iam.gserviceaccount.com"
77+
member = "serviceAccount:${google_service_account.cloudbuild_sa.email}"
7778
}
7879

7980
resource "google_project_iam_member" "cloudbuild_sa_compute_storage_admin" {
8081
project = var.project
8182
role = "roles/compute.storageAdmin"
82-
member = "serviceAccount:cloudbuild-sa@dev-sst-439514.iam.gserviceaccount.com"
83+
member = "serviceAccount:${google_service_account.cloudbuild_sa.email}"
8384
}
8485

8586
resource "google_project_iam_member" "cloudbuild_sa_secret_accessor" {

terraform/modules/load_balancer/main.tf

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
resource "google_compute_global_address" "lb_ip" {
2-
name = "tf-cr-lb-1-address"
2+
name = "${var.environment}-tf-cr-lb-1-address"
33
address_type = "EXTERNAL"
44
}
55

@@ -8,15 +8,16 @@ module "lb-http" {
88
version = "~> 12.0"
99

1010
project = var.project
11-
name = "tf-cr-lb-1"
11+
name = "${var.environment}-tf-cr-lb-1"
1212

1313
address = google_compute_global_address.lb_ip.address
14+
create_address = false
1415
ssl = true
1516
managed_ssl_certificate_domains = [var.domain]
1617
https_redirect = true
1718

1819
backends = {
19-
frontend = {
20+
"${var.environment}-frontend" = {
2021
description = "Cloud Run frontend"
2122
groups = []
2223
serverless_neg_backends = [{
@@ -36,7 +37,7 @@ module "lb-http" {
3637
enable = false
3738
}
3839
}
39-
webapp = {
40+
"${var.environment}-webapp" = {
4041
description = "Cloud Run webapp"
4142
groups = []
4243
serverless_neg_backends = [{
@@ -62,8 +63,8 @@ module "lb-http" {
6263
}
6364

6465
resource "google_compute_url_map" "url_map" {
65-
name = "tf-cr-url-map-1"
66-
default_service = module.lb-http.backend_services["frontend"].self_link
66+
name = "${var.environment}-tf-cr-url-map-1"
67+
default_service = module.lb-http.backend_services["${var.environment}-frontend"].self_link
6768

6869
host_rule {
6970
hosts = ["*"]
@@ -72,11 +73,11 @@ resource "google_compute_url_map" "url_map" {
7273

7374
path_matcher {
7475
name = "allpaths"
75-
default_service = module.lb-http.backend_services["frontend"].self_link
76+
default_service = module.lb-http.backend_services["${var.environment}-frontend"].self_link
7677

7778
path_rule {
7879
paths = ["/api", "/api/*"]
79-
service = module.lb-http.backend_services["webapp"].self_link
80+
service = module.lb-http.backend_services["${var.environment}-webapp"].self_link
8081
}
8182

8283
path_rule {
@@ -89,9 +90,28 @@ resource "google_compute_url_map" "url_map" {
8990
}
9091
}
9192

93+
94+
resource "google_storage_bucket" "static_assets" {
95+
name = "${var.project}-${var.environment}-static"
96+
location = var.region
97+
force_destroy = true
98+
99+
uniform_bucket_level_access = true
100+
}
101+
102+
resource "google_storage_bucket_iam_binding" "public_rule" {
103+
bucket = google_storage_bucket.static_assets.name
104+
105+
role = "roles/storage.objectViewer"
106+
107+
members = [
108+
"allUsers",
109+
]
110+
}
111+
92112
resource "google_compute_backend_bucket" "build" {
93-
name = "tf-cr-static-build-1"
94-
bucket_name = "dev-frontend-dev-sst-439514-static"
113+
name = "${var.environment}-tf-cr-static-build-1"
114+
bucket_name = google_storage_bucket.static_assets.name
95115
enable_cdn = true
96116
}
97117

terraform/modules/migrate/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
resource "google_cloud_run_v2_job" "migrate" {
22
location = var.region
33
name = "${var.environment}-migrate"
4+
deletion_protection = false
45

56
template {
67
task_count = 1

terraform/modules/service/main.tf

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,20 @@ resource "google_project_service" "services" {
55
disable_on_destroy = false
66
}
77

8+
resource "google_secret_manager_secret" "env_file" {
9+
secret_id = "${var.environment}-${var.name}-env-file"
10+
replication {
11+
auto {}
12+
}
13+
}
14+
15+
resource "google_secret_manager_secret_version" "env_file_secret_version" {
16+
secret = google_secret_manager_secret.env_file.id
17+
secret_data = "APP_NAME=SST"
18+
}
19+
820
resource "google_secret_manager_secret_iam_member" "cloudrun_sa_env_file_access" {
9-
secret_id = "projects/${var.project}/secrets/test-${var.name}-env-file"
21+
secret_id = google_secret_manager_secret.env_file.secret_id
1022
role = "roles/secretmanager.secretAccessor"
1123
member = "serviceAccount:${var.cloudrun_service_account_email}"
1224
}

0 commit comments

Comments
 (0)