Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ docker_generate_docs:
-e ENABLE_BPMETADATA \
-v "$(CURDIR)":/workspace \
$(REGISTRY_URL)/${DOCKER_IMAGE_DEVELOPER_TOOLS}:${DOCKER_TAG_VERSION_DEVELOPER_TOOLS} \
/bin/bash -c 'source /usr/local/bin/task_helper_functions.sh && generate_docs display'
/bin/bash -c 'source /usr/local/bin/task_helper_functions.sh && generate_docs display --per-module-requirements'

# Generate files from autogen
.PHONY: docker_generate_modules
Expand Down
16 changes: 9 additions & 7 deletions metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -95,15 +95,17 @@ spec:
roles:
- level: Project
roles:
- roles/compute.admin
- roles/compute.imageUser
- roles/compute.networkAdmin
- roles/iam.serviceAccountUser
- roles/logging.logWriter
- roles/monitoring.viewer
- roles/compute.admin
- roles/iam.serviceAccountAdmin
- roles/compute.instanceAdmin
- roles/resourcemanager.projectIamAdmin
- roles/iam.serviceAccountUser
- roles/compute.securityAdmin
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
- serviceusage.googleapis.com
- compute.googleapis.com
- iam.googleapis.com
- logging.googleapis.com
- monitoring.googleapis.com
- serviceusage.googleapis.com
12 changes: 2 additions & 10 deletions modules/compute_disk_snapshot/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -161,18 +161,10 @@ spec:
roles:
- level: Project
roles:
- roles/compute.admin
- roles/compute.networkAdmin
- roles/iam.serviceAccountUser
- roles/iam.serviceAccountAdmin
- roles/compute.instanceAdmin
- roles/resourcemanager.projectIamAdmin
- roles/compute.storageAdmin
- roles/logging.logWriter
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
- serviceusage.googleapis.com
- compute.googleapis.com
- iam.googleapis.com
providerVersions:
- source: hashicorp/google
version: ">= 3.71, < 7"
Expand Down
10 changes: 2 additions & 8 deletions modules/compute_instance/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -172,16 +172,10 @@ spec:
roles:
- level: Project
roles:
- roles/compute.admin
- roles/compute.networkAdmin
- roles/compute.instanceAdmin.v1
- roles/iam.serviceAccountUser
- roles/iam.serviceAccountAdmin
- roles/compute.instanceAdmin
- roles/resourcemanager.projectIamAdmin
- roles/logging.logWriter
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
- serviceusage.googleapis.com
- compute.googleapis.com
- iam.googleapis.com
providerVersions:
Expand Down
10 changes: 2 additions & 8 deletions modules/instance_template/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -479,16 +479,10 @@ spec:
roles:
- level: Project
roles:
- roles/compute.admin
- roles/compute.networkAdmin
- roles/compute.instanceAdmin.v1
- roles/iam.serviceAccountUser
- roles/iam.serviceAccountAdmin
- roles/compute.instanceAdmin
- roles/resourcemanager.projectIamAdmin
- roles/logging.logWriter
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
- serviceusage.googleapis.com
- compute.googleapis.com
- iam.googleapis.com
providerVersions:
Expand Down
11 changes: 3 additions & 8 deletions modules/mig/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -316,16 +316,11 @@ spec:
roles:
- level: Project
roles:
- roles/compute.admin
- roles/compute.networkAdmin
- roles/logging.logWriter
- roles/compute.instanceAdmin.v1
- roles/compute.viewer
- roles/iam.serviceAccountUser
- roles/iam.serviceAccountAdmin
- roles/compute.instanceAdmin
- roles/resourcemanager.projectIamAdmin
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
- serviceusage.googleapis.com
- compute.googleapis.com
- iam.googleapis.com
providerVersions:
Expand Down
11 changes: 3 additions & 8 deletions modules/mig_with_percent/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -303,16 +303,11 @@ spec:
roles:
- level: Project
roles:
- roles/compute.admin
- roles/compute.networkAdmin
- roles/compute.instanceAdmin.v1
- roles/compute.viewer
- roles/iam.serviceAccountUser
- roles/iam.serviceAccountAdmin
- roles/compute.instanceAdmin
- roles/resourcemanager.projectIamAdmin
- roles/logging.logWriter
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
- serviceusage.googleapis.com
- compute.googleapis.com
- iam.googleapis.com
providerVersions:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,15 +203,9 @@ spec:
roles:
- level: Project
roles:
- roles/compute.admin
- roles/compute.networkAdmin
- roles/compute.instanceAdmin.v1
- roles/iam.serviceAccountUser
- roles/iam.serviceAccountAdmin
- roles/compute.instanceAdmin
- roles/resourcemanager.projectIamAdmin
- roles/logging.logWriter
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
- serviceusage.googleapis.com
- compute.googleapis.com
- iam.googleapis.com
10 changes: 2 additions & 8 deletions modules/umig/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -180,16 +180,10 @@ spec:
roles:
- level: Project
roles:
- roles/compute.admin
- roles/compute.networkAdmin
- roles/compute.instanceAdmin.v1
- roles/iam.serviceAccountUser
- roles/iam.serviceAccountAdmin
- roles/compute.instanceAdmin
- roles/resourcemanager.projectIamAdmin
- roles/logging.logWriter
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
- serviceusage.googleapis.com
- compute.googleapis.com
- iam.googleapis.com
providerVersions:
Expand Down
60 changes: 58 additions & 2 deletions test/setup/iam.tf
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,70 @@
*/

locals {
vm_required_roles = [
per_module_roles = {
compute_disk_snapshot = [
"roles/compute.storageAdmin",
"roles/logging.logWriter",
]

compute_instance = [
"roles/compute.instanceAdmin.v1",
"roles/iam.serviceAccountUser",
"roles/logging.logWriter",
]

instance_template = [
"roles/compute.instanceAdmin.v1",
"roles/iam.serviceAccountUser",
"roles/logging.logWriter",
]

mig = [
"roles/compute.instanceAdmin.v1",
"roles/compute.viewer",
"roles/iam.serviceAccountUser",
"roles/logging.logWriter",
]

mig_with_percent = [
"roles/compute.instanceAdmin.v1",
"roles/compute.viewer",
"roles/iam.serviceAccountUser",
"roles/logging.logWriter",
]

umig = [
"roles/compute.instanceAdmin.v1",
"roles/iam.serviceAccountUser",
"roles/logging.logWriter",
]

preemptible_and_regular_instance_templates = [
"roles/compute.instanceAdmin.v1",
"roles/iam.serviceAccountUser",
"roles/logging.logWriter",
]

root = [
"roles/compute.admin",
"roles/iam.serviceAccountAdmin",
"roles/iam.serviceAccountUser",
"roles/compute.securityAdmin",
"roles/compute.imageUser",
"roles/compute.networkAdmin",
"roles/logging.logWriter",
"roles/monitoring.viewer",
]
}

vm_required_roles = concat([
"roles/compute.admin",
"roles/compute.networkAdmin",
"roles/iam.serviceAccountUser",
"roles/iam.serviceAccountAdmin",
"roles/compute.instanceAdmin",
"roles/resourcemanager.projectIamAdmin",
]
], flatten(values(local.per_module_roles)))
}

resource "google_service_account" "ci_vm_account" {
Expand Down
53 changes: 48 additions & 5 deletions test/setup/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,52 @@
* limitations under the License.
*/

locals {
per_module_services = {
compute_disk_snapshot = [
"compute.googleapis.com",
]

compute_instance = [
"compute.googleapis.com",
"iam.googleapis.com",
]

instance_template = [
"compute.googleapis.com",
"iam.googleapis.com",
]

mig = [
"compute.googleapis.com",
"iam.googleapis.com",
]

mig_with_percent = [
"compute.googleapis.com",
"iam.googleapis.com",
]

umig = [
"compute.googleapis.com",
"iam.googleapis.com",
]

preemptible_and_regular_instance_templates = [
"compute.googleapis.com",
"iam.googleapis.com",
]

root = [
"compute.googleapis.com",
"iam.googleapis.com",
"logging.googleapis.com",
"monitoring.googleapis.com",
"serviceusage.googleapis.com",
]
}
}

module "project_ci_vm" {
source = "terraform-google-modules/project-factory/google"
version = "~> 17.0"
Expand All @@ -24,11 +70,8 @@ module "project_ci_vm" {
folder_id = var.folder_id
billing_account = var.billing_account

activate_apis = [
activate_apis = concat([
"cloudresourcemanager.googleapis.com",
"storage-api.googleapis.com",
"serviceusage.googleapis.com",
"compute.googleapis.com",
"iam.googleapis.com",
]
], flatten(values(local.per_module_services)))
}