align project-templates to new functions interface

This commit is contained in:
Wiktor Niesiobędzki
2025-10-20 11:32:03 +00:00
parent 36f2e65465
commit d1f257bcb9
4 changed files with 19 additions and 15 deletions

View File

@@ -22,7 +22,7 @@ The following diagram illustrates the high-level design of the solution, which c
The use case is a SecOps deployment composed of 2 tenants (one for production and one for development/testing). There might be the need to export production data from the prod tenant and import them back in DEV (possibly anonymizing it) for rules and/or parser development, that is why this pipeline might be convenient for speeding up the data migration process.
The solution is based on a custom Python script responsible for implementing the aforementioned logic. The script leverages the new [SecOps API Wrapper](https://github.com/google/secops-wrapper) available also in [PyPi](https://pypi.org/project/secops/).
The solution is based on a custom Python script responsible for implementing the aforementioned logic. The script leverages the new [SecOps API Wrapper](https://github.com/google/secops-wrapper) available also in [PyPi](https://pypi.org/project/secops/).
### Pipeline Steps
@@ -93,7 +93,7 @@ terraform apply
#### Step 5: Test solution
Test the solution triggering an export from the Cloud Scheduler page, after few hours (accoding to the size of the export) logs should be available on secops-export bucket. Please check for any issue during export using the corresponding APIs and the export ID.
Test the solution triggering an export from the Cloud Scheduler page, after few hours (according to the size of the export) logs should be available on secops-export bucket. Please check for any issue during export using the corresponding APIs and the export ID.
<!-- BEGIN TFDOC -->
## Variables
@@ -145,5 +145,5 @@ module "test" {
secondary = "europe-west1"
}
}
# tftest modules=7 resources=49
# tftest modules=7 resources=51
```

View File

@@ -123,16 +123,18 @@ module "anonymized-bucket" {
}
module "function" {
source = "../../../modules/cloud-function-v2"
project_id = module.project.project_id
region = var.regions.primary
prefix = var.prefix
name = "secops-anonymization"
bucket_name = "${var.project_id}-anonymization"
service_account_create = true
ingress_settings = "ALLOW_INTERNAL_AND_GCLB"
build_worker_pool = var.cloud_function_config.build_worker_pool_id
build_service_account = var.cloud_function_config.build_sa != null ? var.cloud_function_config.build_sa : module.cloudbuild-sa.0.id
source = "../../../modules/cloud-function-v2"
project_id = module.project.project_id
region = var.regions.primary
prefix = var.prefix
name = "secops-anonymization"
bucket_name = "${var.project_id}-anonymization"
service_account_config = {
create = true
}
ingress_settings = "ALLOW_INTERNAL_AND_GCLB"
build_worker_pool = var.cloud_function_config.build_worker_pool_id
build_service_account = var.cloud_function_config.build_sa != null ? var.cloud_function_config.build_sa : module.cloudbuild-sa.0.id
bucket_config = {
lifecycle_delete_age_days = 1
}