Skip to content

Commit dde61fe

Browse files
committed
fix non CB flow
1 parent af0a7e3 commit dde61fe

File tree

3 files changed

+26
-13
lines changed

3 files changed

+26
-13
lines changed

4-projects/business_unit_1/shared/example_infra_pipeline.tf

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
locals {
1818
repo_names = ["bu1-example-app"]
19-
cmd_prompt = "gcloud builds submit . --tag ${local.confidential_space_image_tag} --project=${local.cloudbuild_project_id} --service-account=projects/${local.cloudbuild_project_id}/serviceAccounts/tf-cb-builder-sa@${local.cloudbuild_project_id}.iam.gserviceaccount.com --gcs-log-dir=gs://${module.infra_pipelines[0].log_buckets["bu1-example-app"]} --worker-pool=${local.cloud_build_private_worker_pool_id} || ( sleep 46 && gcloud builds submit . --tag ${local.confidential_space_image_tag} --project=${local.cloudbuild_project_id} --service-account=projects/${local.cloudbuild_project_id}/serviceAccounts/tf-cb-builder-sa@${local.cloudbuild_project_id}.iam.gserviceaccount.com --gcs-log-dir=gs://${module.infra_pipelines[0].log_buckets["bu1-example-app"]} --worker-pool=${local.cloud_build_private_worker_pool_id})"
19+
cmd_prompt = local.enable_cloudbuild_deploy ? "gcloud builds submit . --tag ${local.confidential_space_image_tag} --project=${local.cloudbuild_project_id} --service-account=projects/${local.cloudbuild_project_id}/serviceAccounts/tf-cb-builder-sa@${local.cloudbuild_project_id}.iam.gserviceaccount.com --gcs-log-dir=gs://${module.infra_pipelines[0].log_buckets["bu1-example-app"]} --worker-pool=${local.cloud_build_private_worker_pool_id} || ( sleep 46 && gcloud builds submit . --tag ${local.confidential_space_image_tag} --project=${local.cloudbuild_project_id} --service-account=projects/${local.cloudbuild_project_id}/serviceAccounts/tf-cb-builder-sa@${local.cloudbuild_project_id}.iam.gserviceaccount.com --gcs-log-dir=gs://${module.infra_pipelines[0].log_buckets["bu1-example-app"]} --worker-pool=${local.cloud_build_private_worker_pool_id})" : ""
2020
confidential_space_image_version = "latest"
2121
confidential_space_image_tag = "${var.default_region}-docker.pkg.dev/${local.cloudbuild_project_id}/tf-runners/confidential_space_image:${local.confidential_space_image_version}"
2222

@@ -27,19 +27,24 @@ locals {
2727
}
2828

2929
resource "google_project_iam_member" "build_roles" {
30-
for_each = toset(local.iam_roles_build)
31-
project = local.cloudbuild_project_id
32-
role = each.key
33-
member = "serviceAccount:tf-cb-builder-sa@${local.cloudbuild_project_id}.iam.gserviceaccount.com"
30+
for_each = toset(local.enable_cloudbuild_deploy ? local.iam_roles_build : [])
31+
32+
project = local.cloudbuild_project_id
33+
role = each.key
34+
member = "serviceAccount:tf-cb-builder-sa@${local.cloudbuild_project_id}.iam.gserviceaccount.com"
3435
}
3536

3637
resource "google_project_iam_member" "bucket_admin_binding" {
38+
count = local.enable_cloudbuild_deploy ? 1 : 0
39+
3740
project = local.cloudbuild_project_id
3841
role = "roles/storage.objectAdmin"
3942
member = "serviceAccount:${local.projects_terraform_sa}"
4043
}
4144

4245
resource "google_artifact_registry_repository_iam_member" "builder_on_artifact_registry" {
46+
count = local.enable_cloudbuild_deploy ? 1 : 0
47+
4348
project = local.cloudbuild_project_id
4449
location = var.default_region
4550
repository = "tf-runners"
@@ -48,24 +53,32 @@ resource "google_artifact_registry_repository_iam_member" "builder_on_artifact_r
4853
}
4954

5055
resource "google_project_iam_member" "cloudbuild_logging" {
56+
count = local.enable_cloudbuild_deploy ? 1 : 0
57+
5158
project = local.cloudbuild_project_id
5259
role = "roles/logging.logWriter"
5360
member = "serviceAccount:${module.app_infra_cloudbuild_project[0].sa}"
5461
}
5562

5663
resource "google_project_iam_member" "workload_identity_admin" {
64+
count = local.enable_cloudbuild_deploy ? 1 : 0
65+
5766
project = module.app_infra_cloudbuild_project[0].project_id
5867
role = "roles/iam.workloadIdentityPoolAdmin"
5968
member = "serviceAccount:${module.app_infra_cloudbuild_project[0].sa}"
6069
}
6170

6271
resource "google_storage_bucket_iam_member" "cloudbuild_storage_read" {
72+
count = local.enable_cloudbuild_deploy ? 1 : 0
73+
6374
bucket = module.infra_pipelines[0].log_buckets["bu1-example-app"]
6475
role = "roles/storage.admin"
6576
member = "serviceAccount:${module.app_infra_cloudbuild_project[0].sa}"
6677
}
6778

6879
resource "google_storage_bucket_iam_member" "cloudbuild_sa_storage_admin" {
80+
count = local.enable_cloudbuild_deploy ? 1 : 0
81+
6982
bucket = module.infra_pipelines[0].log_buckets["bu1-example-app"]
7083
role = "roles/storage.admin"
7184
member = "serviceAccount:tf-cb-builder-sa@${local.cloudbuild_project_id}.iam.gserviceaccount.com"
@@ -131,8 +144,10 @@ resource "time_sleep" "wait_iam_propagation" {
131144
}
132145

133146
module "build_confidential_space_image" {
134-
source = "terraform-google-modules/gcloud/google"
135-
version = "~> 4.0"
147+
source = "terraform-google-modules/gcloud/google"
148+
version = "~> 4.0"
149+
count = local.enable_cloudbuild_deploy ? 1 : 0
150+
136151
upgrade = false
137152
module_depends_on = [time_sleep.wait_iam_propagation]
138153

@@ -155,5 +170,3 @@ module "build_confidential_space_image" {
155170
resource "null_resource" "jenkins_cicd" {
156171
count = !local.enable_cloudbuild_deploy ? 1 : 0
157172
}
158-
159-

4-projects/business_unit_1/shared/outputs.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,15 @@ output "enable_cloudbuild_deploy" {
6565

6666
output "artifact_registry_repository_id" {
6767
description = "Artifact Registry ID."
68-
value = module.infra_pipelines[0].artifact_registry_repository_id
68+
value = try(module.infra_pipelines[0].artifact_registry_repository_id, "")
6969
}
7070

7171
output "bootstrap_cloudbuild_project_id" {
7272
description = "Cloudbuild project ID."
73-
value = local.cloudbuild_project_id
73+
value = try(local.cloudbuild_project_id, "")
7474
}
7575

7676
output "image_name" {
7777
description = "Image path used by confidential space instance."
78-
value = local.confidential_space_image_tag
78+
value = try(local.confidential_space_image_tag, "")
7979
}

4-projects/business_unit_1/shared/remote.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ locals {
2727
cloud_build_private_worker_pool_id = try(data.terraform_remote_state.bootstrap.outputs.cloud_build_private_worker_pool_id, "")
2828
cloud_builder_artifact_repo = try(data.terraform_remote_state.bootstrap.outputs.cloud_builder_artifact_repo, "")
2929
enable_cloudbuild_deploy = local.cloud_builder_artifact_repo != ""
30-
cloudbuild_project_id = data.terraform_remote_state.bootstrap.outputs.cloudbuild_project_id
30+
cloudbuild_project_id = try(data.terraform_remote_state.bootstrap.outputs.cloudbuild_project_id, "")
3131
projects_terraform_sa = data.terraform_remote_state.bootstrap.outputs.projects_step_terraform_service_account_email
3232
}
3333

0 commit comments

Comments
 (0)