Skip to content

Commit 0764b8b

Browse files
authored
fix: IAM api must be enabled before it is used (#429)
This adds the explicit dependency so that the project api iam.googleapis.com is enabled before terraform attempts to create service accounts and iam bindings.
1 parent c32adb1 commit 0764b8b

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

infra/permissions/main.tf

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,22 @@ resource "google_project_service" "project" {
6565

6666
# Create service accounts for k8s workload nodes
6767
resource "google_service_account" "node_pool" {
68+
depends_on = [google_project_service.project["iam.googleapis.com"]]
6869
account_id = "k8s-nodes-${var.environment_name}"
6970
display_name = "Kubernetes provider SA"
7071
project = var.project_id
7172
}
7273
resource "google_project_iam_member" "allow_image_pull" {
73-
project = var.project_id
74-
role = "roles/artifactregistry.reader"
75-
member = "serviceAccount:${google_service_account.node_pool.email}"
74+
depends_on = [google_project_service.project["iam.googleapis.com"]]
75+
project = var.project_id
76+
role = "roles/artifactregistry.reader"
77+
member = "serviceAccount:${google_service_account.node_pool.email}"
7678
}
7779

7880
resource "google_project_iam_binding" "cloud_sql_client" {
79-
project = var.project_id
80-
role = "roles/cloudsql.client"
81+
depends_on = [google_project_service.project["iam.googleapis.com"]]
82+
project = var.project_id
83+
role = "roles/cloudsql.client"
8184
members = [
8285
"serviceAccount:${google_service_account.node_pool.email}"
8386
]

0 commit comments

Comments
 (0)