Skip to content

Commit 609a1f9

Browse files
committed
adding in secret manager binding
1 parent 0599698 commit 609a1f9

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

terraform/main.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ resource "google_secret_manager_secret" "snyk_token" {
3535
resource "google_secret_manager_secret_version" "snyk_token_version" {
3636
secret = google_secret_manager_secret.snyk_token.id
3737
secret_data = var.SNYK_TOKEN
38+
39+
depends_on = [google_secret_manager_secret.snyk_token]
3840
}
3941

4042
# Pipelines
@@ -47,6 +49,7 @@ module "gcp_python_fastapi_pipeline" {
4749
cloudbuild_trigger_name = "gcp-python-fastapi"
4850
description = "Cloud Build Trigger for GCP Python FastAPI"
4951
github_repo_name = "gcp-python-fastapi"
52+
secret_id = google_secret_manager_secret.snyk_token.secret_id
5053

5154
depends_on = [
5255
google_artifact_registry_repository.default,

terraform/modules/pipelines/main.tf

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,33 @@ resource "google_project_iam_member" "cloud_build_roles" {
1313
"roles/source.admin",
1414
"roles/storage.admin",
1515
"roles/logging.logWriter",
16-
"roles/iam.serviceAccountUser",
17-
"roles/secretmanager.admin",
18-
"roles/secretmanager.secretAssessor"
16+
"roles/iam.serviceAccountUser"
1917
])
2018
project = var.project_id
2119
role = each.value
2220
member = "serviceAccount:${google_service_account.cloudbuild_service_account.email}"
2321
}
2422

23+
# resource "google_secret_manager_secret_iam_member" "secret_manager_binding" {
24+
# project = var.project_id
25+
# secret_id = var.secret_id
26+
# role = "roles/secretmanager.secretAccessor"
27+
# member = "serviceAccount:${google_service_account.cloudbuild_service_account.email}"
28+
# }
29+
30+
resource "google_project_iam_binding" "secrets" {
31+
for_each = toset([
32+
"roles/secretmanager.secretAccessor",
33+
"roles/secretmanager.admin"
34+
])
35+
project = var.project_id
36+
role = each.value
37+
38+
members = [
39+
"serviceAccount:${google_service_account.cloudbuild_service_account.email}",
40+
]
41+
}
42+
2543
resource "google_cloudbuild_trigger" "build_trigger" {
2644
name = "gh-trigger-${var.cloudbuild_trigger_name}"
2745
description = var.description

terraform/modules/pipelines/variable.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,9 @@ variable "project_id" {
2727
variable "region" {
2828
description = "Region where the Cloud Build trigger will be created"
2929
type = string
30+
}
31+
32+
variable "secret_id" {
33+
description = "ID of the secret to be injected into the Cloud Build"
34+
type = string
3035
}

0 commit comments

Comments
 (0)