Skip to content

Commit 196a26f

Browse files
authored
test: Add TF configs for SSM (#1790)
1 parent 3788e2b commit 196a26f

File tree

7 files changed

+34
-9
lines changed

7 files changed

+34
-9
lines changed

e2e/testinfra/terraform/common/registries.tf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,13 @@ resource "google_artifact_registry_repository" "gar" {
3232
description = "A private AR repository used for Config Sync e2e tests"
3333
format = "DOCKER"
3434
}
35+
36+
resource "google_secure_source_manager_instance" "configsync-test-ssm-instance" {
37+
location = "us-central1"
38+
instance_id = "configsync-test"
39+
40+
# Prevent accidental deletions.
41+
lifecycle {
42+
prevent_destroy = true
43+
}
44+
}

e2e/testinfra/terraform/common/service_accounts.tf

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,34 @@ module "e2e-csr-reader-sa" {
1919
gcp_sa_id = "e2e-test-csr-reader"
2020
gcp_sa_display_name = "Test CSR Reader"
2121
gcp_sa_description = "Service account used to read from Cloud Source Repositories"
22-
role = "roles/source.reader"
22+
roles = ["roles/source.reader"]
2323
}
2424

2525
module "e2e-gar-reader-sa" {
2626
source = "../modules/service_account"
2727
gcp_sa_id = "e2e-test-ar-reader"
2828
gcp_sa_display_name = "Test GAR Reader"
2929
gcp_sa_description = "Service account used to read from Artifact Registry"
30-
role = "roles/artifactregistry.reader"
30+
roles = ["roles/artifactregistry.reader"]
3131
}
3232

3333
module "e2e-gcr-reader-sa" {
3434
source = "../modules/service_account"
3535
gcp_sa_id = "e2e-test-gcr-reader"
3636
gcp_sa_display_name = "Test GCR Reader"
3737
gcp_sa_description = "Service account used to read from Container Registry"
38-
role = "roles/storage.objectViewer"
38+
roles = ["roles/storage.objectViewer"]
39+
}
40+
41+
module "e2e-ssm-reader-sa" {
42+
source = "../modules/service_account"
43+
gcp_sa_id = "e2e-ssm-reader-sa"
44+
gcp_sa_display_name = "Test SSM Reader"
45+
gcp_sa_description = "Service account used to read from Secure Source Manager Repositories"
46+
roles = [
47+
"roles/securesourcemanager.repoReader",
48+
"roles/securesourcemanager.instanceAccessor",
49+
]
3950
}
4051

4152
data "google_project" "project" {

e2e/testinfra/terraform/common/services.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ resource "google_project_service" "services" {
2424
"container.googleapis.com",
2525
"compute.googleapis.com",
2626
"monitoring.googleapis.com",
27-
"logging.googleapis.com"
27+
"logging.googleapis.com",
28+
"securesourcemanager.googleapis.com"
2829
])
2930
service = each.value
3031
disable_on_destroy = false

e2e/testinfra/terraform/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ terraform {
1818
required_providers {
1919
google = {
2020
source = "hashicorp/google"
21-
version = "4.36.0"
21+
version = "6.43.0"
2222
}
2323
}
2424
backend "gcs" {

e2e/testinfra/terraform/modules/service_account/service_account.tf

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,9 @@ resource "google_service_account_iam_member" "k8s_sa_binding" {
8484
}
8585

8686
resource "google_project_iam_member" "gcp_sa_role" {
87-
role = var.role
87+
for_each = toset(var.roles)
88+
89+
role = each.value
8890
member = "serviceAccount:${google_service_account.gcp_sa.email}"
8991
project = data.google_project.project.id
9092
}

e2e/testinfra/terraform/modules/service_account/variables.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ variable "gcp_sa_description" {
2929
description = "The description of the GCP service account"
3030
}
3131

32-
variable "role" {
33-
type = string
34-
description = "The GCP project role to grant to the GCP service account"
32+
variable "roles" {
33+
type = list(string)
34+
description = "The GCP project roles to grant to the GCP service account"
3535
}

e2e/testinfra/terraform/prow/service_accounts.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ resource "google_project_iam_member" "test-runner-iam" {
2626
"roles/secretmanager.admin",
2727
"roles/source.admin",
2828
"roles/logging.viewer",
29+
"roles/securesourcemanager.admin",
2930
])
3031

3132
role = each.value

0 commit comments

Comments
 (0)