main.tf 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. resource "google_service_account" "default" {
  2. project = var.project_id
  3. account_id = "e2e-managed-secretmanager"
  4. }
  5. resource "google_project_iam_member" "secretadmin" {
  6. project = var.project_id
  7. role = "roles/secretmanager.admin"
  8. member = "serviceAccount:${google_service_account.default.email}"
  9. }
  10. resource "google_project_iam_member" "service_account_token_creator" {
  11. project = var.project_id
  12. role = "roles/iam.serviceAccountTokenCreator"
  13. member = "serviceAccount:${google_service_account.default.email}"
  14. }
  15. resource "google_service_account_iam_member" "pod_identity" {
  16. for_each = toset(var.workload_identity_users)
  17. role = "roles/iam.workloadIdentityUser"
  18. member = "serviceAccount:${var.project_id}.svc.id.goog[default/${each.value}]"
  19. service_account_id = google_service_account.default.name
  20. }
  21. resource "google_container_cluster" "primary" {
  22. project = var.project_id
  23. name = var.cluster_name
  24. initial_node_count = 1
  25. network = var.network
  26. subnetwork = var.subnetwork
  27. location = var.region
  28. deletion_protection = false
  29. ip_allocation_policy {}
  30. workload_identity_config {
  31. workload_pool = "${var.project_id}.svc.id.goog"
  32. }
  33. }