From 488b6d4dc0d4f83d8dcb9f347caaa73b33794b93 Mon Sep 17 00:00:00 2001 From: lcaggio Date: Wed, 11 Jan 2023 00:31:52 +0100 Subject: [PATCH] Remove plg project, composer 2 --- .../data-platform-foundations/03-composer.tf | 150 +++++++++--------- .../03-orchestration.tf | 8 +- .../05-datawarehouse.tf | 49 ------ .../data-platform-foundations/IAM.md | 70 ++++---- .../data-platform-foundations/README.md | 16 +- .../images/overview_diagram.png | Bin 51041 -> 147940 bytes .../data-platform-foundations/outputs.tf | 4 - .../data-platform-foundations/variables.tf | 46 +++++- fast/stages/03-data-platform/dev/README.md | 10 +- fast/stages/03-data-platform/dev/main.tf | 1 - fast/stages/03-data-platform/dev/variables.tf | 47 +++++- .../data_platform_foundations/test_plan.py | 4 +- 12 files changed, 207 insertions(+), 198 deletions(-) diff --git a/blueprints/data-solutions/data-platform-foundations/03-composer.tf b/blueprints/data-solutions/data-platform-foundations/03-composer.tf index 2622ffa20..33a214084 100644 --- a/blueprints/data-solutions/data-platform-foundations/03-composer.tf +++ b/blueprints/data-solutions/data-platform-foundations/03-composer.tf @@ -14,6 +14,40 @@ # tfdoc:file:description Orchestration Cloud Composer definition. +locals { + env_variables = { + BQ_LOCATION = var.location + DATA_CAT_TAGS = try(jsonencode(module.common-datacatalog.tags), "{}") + DF_KMS_KEY = try(var.service_encryption_keys.dataflow, "") + DRP_PRJ = module.drop-project.project_id + DRP_BQ = module.drop-bq-0.dataset_id + DRP_GCS = module.drop-cs-0.url + DRP_PS = module.drop-ps-0.id + DWH_LAND_PRJ = module.dwh-lnd-project.project_id + DWH_LAND_BQ_DATASET = module.dwh-lnd-bq-0.dataset_id + DWH_LAND_GCS = module.dwh-lnd-cs-0.url + DWH_CURATED_PRJ = module.dwh-cur-project.project_id + DWH_CURATED_BQ_DATASET = module.dwh-cur-bq-0.dataset_id + DWH_CURATED_GCS = module.dwh-cur-cs-0.url + DWH_CONFIDENTIAL_PRJ = module.dwh-conf-project.project_id + DWH_CONFIDENTIAL_BQ_DATASET = module.dwh-conf-bq-0.dataset_id + DWH_CONFIDENTIAL_GCS = module.dwh-conf-cs-0.url + GCP_REGION = var.region + LOD_PRJ = module.load-project.project_id + LOD_GCS_STAGING = module.load-cs-df-0.url + LOD_NET_VPC = local.load_vpc + LOD_NET_SUBNET = local.load_subnet + LOD_SA_DF = module.load-sa-df-0.email + ORC_PRJ = module.orch-project.project_id + ORC_GCS = module.orch-cs-0.url + TRF_PRJ = module.transf-project.project_id + TRF_GCS_STAGING = module.transf-cs-df-0.url + TRF_NET_VPC = local.transf_vpc + TRF_NET_SUBNET = local.transf_subnet + TRF_SA_DF = module.transf-sa-df-0.email + TRF_SA_BQ = module.transf-sa-bq-0.email + } +} module "orch-sa-cmp-0" { source = "../../../modules/iam-service-account" project_id = module.orch-project.project_id @@ -27,21 +61,51 @@ module "orch-sa-cmp-0" { } resource "google_composer_environment" "orch-cmp-0" { - provider = google-beta - project = module.orch-project.project_id - name = "${var.prefix}-orc-cmp-0" - region = var.region + count = var.composer_config.disable_deployment == true ? 0 : 1 + project = module.orch-project.project_id + name = "${var.prefix}-orc-cmp-0" + region = var.region config { - node_count = var.composer_config.node_count + software_config { + airflow_config_overrides = try(var.composer_config.software_config.airflow_config_overrides, null) + pypi_packages = try(var.composer_config.software_config.pypi_packages, null) + env_variables = merge(try(var.composer_config.software_config.env_variables, null), local.env_variables) + image_version = try(var.composer_config.software_config.image_version, null) + } + dynamic "workloads_config" { + for_each = (try(var.composer_config.workloads_config, null) != null ? { 1 = 1 } : {}) + + content { + scheduler { + cpu = try(var.composer_config.workloads_config.scheduler.cpu, null) + memory_gb = try(var.composer_config.workloads_config.scheduler.memory_gb, null) + storage_gb = try(var.composer_config.workloads_config.scheduler.storage_gb, null) + count = try(var.composer_config.workloads_config.scheduler.count, null) + } + web_server { + cpu = try(var.composer_config.workloads_config.web_server.cpu, null) + memory_gb = try(var.composer_config.workloads_config.web_server.memory_gb, null) + storage_gb = try(var.composer_config.workloads_config.web_server.storage_gb, null) + } + worker { + cpu = try(var.composer_config.workloads_config.worker.cpu, null) + memory_gb = try(var.composer_config.workloads_config.worker.memory_gb, null) + storage_gb = try(var.composer_config.workloads_config.worker.storage_gb, null) + min_count = try(var.composer_config.workloads_config.worker.min_count, null) + max_count = try(var.composer_config.workloads_config.worker.max_count, null) + } + } + } + + environment_size = var.composer_config.environment_size + node_config { - zone = "${var.region}-b" - service_account = module.orch-sa-cmp-0.email network = local.orch_vpc subnetwork = local.orch_subnet - tags = ["composer-worker", "http-server", "https-server"] - enable_ip_masq_agent = true + service_account = module.orch-sa-cmp-0.email + enable_ip_masq_agent = "true" + tags = ["composer-worker"] ip_allocation_policy { - use_ip_aliases = "true" cluster_secondary_range_name = try( var.network_config.composer_secondary_ranges.pods, "pods" ) @@ -58,80 +122,20 @@ resource "google_composer_environment" "orch-cmp-0" { master_ipv4_cidr_block = try( var.network_config.composer_ip_ranges.gke_master, "10.20.11.0/28" ) - web_server_ipv4_cidr_block = try( - var.network_config.composer_ip_ranges.web_server, "10.20.11.16/28" - ) } - software_config { - image_version = var.composer_config.airflow_version - env_variables = merge( - var.composer_config.env_variables, { - BQ_LOCATION = var.location - DATA_CAT_TAGS = try(jsonencode(module.common-datacatalog.tags), "{}") - DF_KMS_KEY = try(var.service_encryption_keys.dataflow, "") - DRP_PRJ = module.drop-project.project_id - DRP_BQ = module.drop-bq-0.dataset_id - DRP_GCS = module.drop-cs-0.url - DRP_PS = module.drop-ps-0.id - DWH_LAND_PRJ = module.dwh-lnd-project.project_id - DWH_LAND_BQ_DATASET = module.dwh-lnd-bq-0.dataset_id - DWH_LAND_GCS = module.dwh-lnd-cs-0.url - DWH_CURATED_PRJ = module.dwh-cur-project.project_id - DWH_CURATED_BQ_DATASET = module.dwh-cur-bq-0.dataset_id - DWH_CURATED_GCS = module.dwh-cur-cs-0.url - DWH_CONFIDENTIAL_PRJ = module.dwh-conf-project.project_id - DWH_CONFIDENTIAL_BQ_DATASET = module.dwh-conf-bq-0.dataset_id - DWH_CONFIDENTIAL_GCS = module.dwh-conf-cs-0.url - DWH_PLG_PRJ = module.dwh-plg-project.project_id - DWH_PLG_BQ_DATASET = module.dwh-plg-bq-0.dataset_id - DWH_PLG_GCS = module.dwh-plg-cs-0.url - GCP_REGION = var.region - LOD_PRJ = module.load-project.project_id - LOD_GCS_STAGING = module.load-cs-df-0.url - LOD_NET_VPC = local.load_vpc - LOD_NET_SUBNET = local.load_subnet - LOD_SA_DF = module.load-sa-df-0.email - ORC_PRJ = module.orch-project.project_id - ORC_GCS = module.orch-cs-0.url - TRF_PRJ = module.transf-project.project_id - TRF_GCS_STAGING = module.transf-cs-df-0.url - TRF_NET_VPC = local.transf_vpc - TRF_NET_SUBNET = local.transf_subnet - TRF_SA_DF = module.transf-sa-df-0.email - TRF_SA_BQ = module.transf-sa-bq-0.email - } - ) - } - dynamic "encryption_config" { for_each = ( - try(local.service_encryption_keys.composer != null, false) + try(var.service_encryption_keys[var.region], null) != null ? { 1 = 1 } : {} ) content { - kms_key_name = try(local.service_encryption_keys.composer, null) + kms_key_name = try(var.service_encryption_keys[var.region], null) } } - - # dynamic "web_server_network_access_control" { - # for_each = toset( - # var.network_config.web_server_network_access_control == null - # ? [] - # : [var.network_config.web_server_network_access_control] - # ) - # content { - # dynamic "allowed_ip_range" { - # for_each = toset(web_server_network_access_control.key) - # content { - # value = allowed_ip_range.key - # } - # } - # } - # } - } depends_on = [ google_project_iam_member.shared_vpc, + module.orch-project ] } diff --git a/blueprints/data-solutions/data-platform-foundations/03-orchestration.tf b/blueprints/data-solutions/data-platform-foundations/03-orchestration.tf index 2974c1227..8e2d07250 100644 --- a/blueprints/data-solutions/data-platform-foundations/03-orchestration.tf +++ b/blueprints/data-solutions/data-platform-foundations/03-orchestration.tf @@ -54,6 +54,9 @@ module "orch-project" { "roles/bigquery.jobUser" = [ module.orch-sa-cmp-0.iam_email, ] + "roles/composer.ServiceAgentV2Ext" = [ + "serviceAccount:${module.orch-project.service_accounts.robots.composer}" + ] "roles/composer.worker" = [ module.orch-sa-cmp-0.iam_email ] @@ -67,11 +70,6 @@ module "orch-project" { "roles/storage.objectViewer" = [module.load-sa-df-0.iam_email] } oslogin = false - org_policies = { - "constraints/compute.requireOsLogin" = { - enforce = false - } - } services = concat(var.project_services, [ "artifactregistry.googleapis.com", "bigquery.googleapis.com", diff --git a/blueprints/data-solutions/data-platform-foundations/05-datawarehouse.tf b/blueprints/data-solutions/data-platform-foundations/05-datawarehouse.tf index 879a0e0b1..0db5ce440 100644 --- a/blueprints/data-solutions/data-platform-foundations/05-datawarehouse.tf +++ b/blueprints/data-solutions/data-platform-foundations/05-datawarehouse.tf @@ -30,21 +30,6 @@ locals { "roles/storage.objectViewer", ] } - dwh_plg_group_iam = { - (local.groups.data-engineers) = [ - "roles/bigquery.dataEditor", - "roles/storage.admin", - ], - (local.groups.data-analysts) = [ - "roles/bigquery.dataEditor", - "roles/bigquery.jobUser", - "roles/bigquery.metadataViewer", - "roles/bigquery.user", - "roles/datacatalog.viewer", - "roles/datacatalog.tagTemplateViewer", - "roles/storage.objectAdmin", - ] - } dwh_lnd_iam = { "roles/bigquery.dataOwner" = [ module.load-sa-df-0.iam_email, @@ -140,21 +125,6 @@ module "dwh-conf-project" { } } -module "dwh-plg-project" { - source = "../../../modules/project" - parent = var.folder_id - billing_account = var.billing_account_id - prefix = var.prefix - name = "dwh-plg${local.project_suffix}" - group_iam = local.dwh_plg_group_iam - iam = {} - services = local.dwh_services - service_encryption_key_ids = { - bq = [try(local.service_encryption_keys.bq, null)] - storage = [try(local.service_encryption_keys.storage, null)] - } -} - # Bigquery module "dwh-lnd-bq-0" { @@ -181,14 +151,6 @@ module "dwh-conf-bq-0" { encryption_key = try(local.service_encryption_keys.bq, null) } -module "dwh-plg-bq-0" { - source = "../../../modules/bigquery-dataset" - project_id = module.dwh-plg-project.project_id - id = "${replace(var.prefix, "-", "_")}_dwh_plg_bq_0" - location = var.location - encryption_key = try(local.service_encryption_keys.bq, null) -} - # Cloud storage module "dwh-lnd-cs-0" { @@ -223,14 +185,3 @@ module "dwh-conf-cs-0" { encryption_key = try(local.service_encryption_keys.storage, null) force_destroy = var.data_force_destroy } - -module "dwh-plg-cs-0" { - source = "../../../modules/gcs" - project_id = module.dwh-plg-project.project_id - prefix = var.prefix - name = "dwh-plg-cs-0" - location = var.location - storage_class = "MULTI_REGIONAL" - encryption_key = try(local.service_encryption_keys.storage, null) - force_destroy = var.data_force_destroy -} diff --git a/blueprints/data-solutions/data-platform-foundations/IAM.md b/blueprints/data-solutions/data-platform-foundations/IAM.md index 54d35939b..60b033003 100644 --- a/blueprints/data-solutions/data-platform-foundations/IAM.md +++ b/blueprints/data-solutions/data-platform-foundations/IAM.md @@ -2,62 +2,62 @@ Legend: + additive, conditional. -## Project cmn +## Project lc-2301-cmn | members | roles | |---|---| |gcp-data-analysts
group|[roles/datacatalog.viewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.viewer) | |gcp-data-engineers
group|[roles/dlp.estimatesAdmin](https://cloud.google.com/iam/docs/understanding-roles#dlp.estimatesAdmin)
[roles/dlp.reader](https://cloud.google.com/iam/docs/understanding-roles#dlp.reader)
[roles/dlp.user](https://cloud.google.com/iam/docs/understanding-roles#dlp.user) | |gcp-data-security
group|[roles/datacatalog.admin](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.admin)
[roles/dlp.admin](https://cloud.google.com/iam/docs/understanding-roles#dlp.admin) | -|load-df-0
serviceAccount|[roles/datacatalog.viewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.viewer)
[roles/dlp.user](https://cloud.google.com/iam/docs/understanding-roles#dlp.user) | -|trf-bq-0
serviceAccount|[roles/datacatalog.categoryFineGrainedReader](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.categoryFineGrainedReader)
[roles/datacatalog.viewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.viewer) | -|trf-df-0
serviceAccount|[roles/datacatalog.categoryFineGrainedReader](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.categoryFineGrainedReader)
[roles/datacatalog.viewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.viewer)
[roles/dlp.user](https://cloud.google.com/iam/docs/understanding-roles#dlp.user) | +|lc-2301-load-df-0
serviceAccount|[roles/datacatalog.viewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.viewer)
[roles/dlp.user](https://cloud.google.com/iam/docs/understanding-roles#dlp.user) | +|lc-2301-trf-bq-0
serviceAccount|[roles/datacatalog.categoryFineGrainedReader](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.categoryFineGrainedReader)
[roles/datacatalog.viewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.viewer) | +|lc-2301-trf-df-0
serviceAccount|[roles/datacatalog.categoryFineGrainedReader](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.categoryFineGrainedReader)
[roles/datacatalog.viewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.viewer)
[roles/dlp.user](https://cloud.google.com/iam/docs/understanding-roles#dlp.user) | -## Project drp +## Project lc-2301-drp | members | roles | |---|---| |gcp-data-engineers
group|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor)
[roles/pubsub.editor](https://cloud.google.com/iam/docs/understanding-roles#pubsub.editor)
[roles/storage.admin](https://cloud.google.com/iam/docs/understanding-roles#storage.admin) | -|drp-bq-0
serviceAccount|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor) | -|drp-cs-0
serviceAccount|[roles/storage.objectCreator](https://cloud.google.com/iam/docs/understanding-roles#storage.objectCreator) | -|drp-ps-0
serviceAccount|[roles/pubsub.publisher](https://cloud.google.com/iam/docs/understanding-roles#pubsub.publisher) | -|load-df-0
serviceAccount|[roles/bigquery.user](https://cloud.google.com/iam/docs/understanding-roles#bigquery.user)
[roles/pubsub.subscriber](https://cloud.google.com/iam/docs/understanding-roles#pubsub.subscriber)
[roles/storage.admin](https://cloud.google.com/iam/docs/understanding-roles#storage.admin)
[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | -|orc-cmp-0
serviceAccount|[roles/pubsub.subscriber](https://cloud.google.com/iam/docs/understanding-roles#pubsub.subscriber)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | +|lc-2301-drp-bq-0
serviceAccount|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor) | +|lc-2301-drp-cs-0
serviceAccount|[roles/storage.objectCreator](https://cloud.google.com/iam/docs/understanding-roles#storage.objectCreator) | +|lc-2301-drp-ps-0
serviceAccount|[roles/pubsub.publisher](https://cloud.google.com/iam/docs/understanding-roles#pubsub.publisher) | +|lc-2301-load-df-0
serviceAccount|[roles/bigquery.user](https://cloud.google.com/iam/docs/understanding-roles#bigquery.user)
[roles/pubsub.subscriber](https://cloud.google.com/iam/docs/understanding-roles#pubsub.subscriber)
[roles/storage.admin](https://cloud.google.com/iam/docs/understanding-roles#storage.admin)
[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | +|lc-2301-orc-cmp-0
serviceAccount|[roles/pubsub.subscriber](https://cloud.google.com/iam/docs/understanding-roles#pubsub.subscriber)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | -## Project dwh-conf +## Project lc-2301-dwh-conf | members | roles | |---|---| |gcp-data-analysts
group|[roles/bigquery.dataViewer](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataViewer)
[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/bigquery.metadataViewer](https://cloud.google.com/iam/docs/understanding-roles#bigquery.metadataViewer)
[roles/bigquery.user](https://cloud.google.com/iam/docs/understanding-roles#bigquery.user)
[roles/datacatalog.tagTemplateViewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.tagTemplateViewer)
[roles/datacatalog.viewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.viewer)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | |gcp-data-engineers
group|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor)
[roles/storage.admin](https://cloud.google.com/iam/docs/understanding-roles#storage.admin) | |SERVICE_IDENTITY_service-networking
serviceAccount|[roles/servicenetworking.serviceAgent](https://cloud.google.com/iam/docs/understanding-roles#servicenetworking.serviceAgent) +| -|load-df-0
serviceAccount|[roles/datacatalog.categoryAdmin](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.categoryAdmin) | -|trf-bq-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser) | -|trf-df-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/storage.objectCreator](https://cloud.google.com/iam/docs/understanding-roles#storage.objectCreator)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | +|lc-2301-load-df-0
serviceAccount|[roles/datacatalog.categoryAdmin](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.categoryAdmin) | +|lc-2301-trf-bq-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser) | +|lc-2301-trf-df-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/storage.objectCreator](https://cloud.google.com/iam/docs/understanding-roles#storage.objectCreator)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | -## Project dwh-cur +## Project lc-2301-dwh-cur | members | roles | |---|---| |gcp-data-analysts
group|[roles/bigquery.dataViewer](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataViewer)
[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/bigquery.metadataViewer](https://cloud.google.com/iam/docs/understanding-roles#bigquery.metadataViewer)
[roles/bigquery.user](https://cloud.google.com/iam/docs/understanding-roles#bigquery.user)
[roles/datacatalog.tagTemplateViewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.tagTemplateViewer)
[roles/datacatalog.viewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.viewer)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | |gcp-data-engineers
group|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor)
[roles/storage.admin](https://cloud.google.com/iam/docs/understanding-roles#storage.admin) | |SERVICE_IDENTITY_service-networking
serviceAccount|[roles/servicenetworking.serviceAgent](https://cloud.google.com/iam/docs/understanding-roles#servicenetworking.serviceAgent) +| -|load-df-0
serviceAccount|[roles/datacatalog.categoryAdmin](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.categoryAdmin) | -|trf-bq-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser) | -|trf-df-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/storage.objectCreator](https://cloud.google.com/iam/docs/understanding-roles#storage.objectCreator)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | +|lc-2301-load-df-0
serviceAccount|[roles/datacatalog.categoryAdmin](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.categoryAdmin) | +|lc-2301-trf-bq-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser) | +|lc-2301-trf-df-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/storage.objectCreator](https://cloud.google.com/iam/docs/understanding-roles#storage.objectCreator)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | -## Project dwh-lnd +## Project lc-2301-dwh-lnd | members | roles | |---|---| |gcp-data-analysts
group|[roles/bigquery.dataViewer](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataViewer)
[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/bigquery.metadataViewer](https://cloud.google.com/iam/docs/understanding-roles#bigquery.metadataViewer)
[roles/bigquery.user](https://cloud.google.com/iam/docs/understanding-roles#bigquery.user)
[roles/datacatalog.tagTemplateViewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.tagTemplateViewer)
[roles/datacatalog.viewer](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.viewer)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | |gcp-data-engineers
group|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor)
[roles/storage.admin](https://cloud.google.com/iam/docs/understanding-roles#storage.admin) | |SERVICE_IDENTITY_service-networking
serviceAccount|[roles/servicenetworking.serviceAgent](https://cloud.google.com/iam/docs/understanding-roles#servicenetworking.serviceAgent) +| -|load-df-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/storage.objectCreator](https://cloud.google.com/iam/docs/understanding-roles#storage.objectCreator) | -|trf-bq-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/datacatalog.categoryAdmin](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.categoryAdmin) | -|trf-df-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner) | +|lc-2301-load-df-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/storage.objectCreator](https://cloud.google.com/iam/docs/understanding-roles#storage.objectCreator) | +|lc-2301-trf-bq-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner)
[roles/datacatalog.categoryAdmin](https://cloud.google.com/iam/docs/understanding-roles#datacatalog.categoryAdmin) | +|lc-2301-trf-df-0
serviceAccount|[roles/bigquery.dataOwner](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataOwner) | -## Project dwh-plg +## Project lc-2301-dwh-plg | members | roles | |---|---| @@ -65,34 +65,34 @@ Legend: + additive, conditional. |gcp-data-engineers
group|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor)
[roles/storage.admin](https://cloud.google.com/iam/docs/understanding-roles#storage.admin) | |SERVICE_IDENTITY_service-networking
serviceAccount|[roles/servicenetworking.serviceAgent](https://cloud.google.com/iam/docs/understanding-roles#servicenetworking.serviceAgent) +| -## Project lod +## Project lc-2301-lod | members | roles | |---|---| |gcp-data-engineers
group|[roles/compute.viewer](https://cloud.google.com/iam/docs/understanding-roles#compute.viewer)
[roles/dataflow.admin](https://cloud.google.com/iam/docs/understanding-roles#dataflow.admin)
[roles/dataflow.developer](https://cloud.google.com/iam/docs/understanding-roles#dataflow.developer)
[roles/viewer](https://cloud.google.com/iam/docs/understanding-roles#viewer) | |SERVICE_IDENTITY_dataflow-service-producer-prod
serviceAccount|[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | |SERVICE_IDENTITY_service-networking
serviceAccount|[roles/servicenetworking.serviceAgent](https://cloud.google.com/iam/docs/understanding-roles#servicenetworking.serviceAgent) +| -|load-df-0
serviceAccount|[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/dataflow.admin](https://cloud.google.com/iam/docs/understanding-roles#dataflow.admin)
[roles/dataflow.worker](https://cloud.google.com/iam/docs/understanding-roles#dataflow.worker)
[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | -|orc-cmp-0
serviceAccount|[roles/dataflow.admin](https://cloud.google.com/iam/docs/understanding-roles#dataflow.admin) | +|lc-2301-load-df-0
serviceAccount|[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/dataflow.admin](https://cloud.google.com/iam/docs/understanding-roles#dataflow.admin)
[roles/dataflow.worker](https://cloud.google.com/iam/docs/understanding-roles#dataflow.worker)
[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | +|lc-2301-orc-cmp-0
serviceAccount|[roles/dataflow.admin](https://cloud.google.com/iam/docs/understanding-roles#dataflow.admin) | -## Project orc +## Project lc-2301-orc | members | roles | |---|---| |gcp-data-engineers
group|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor)
[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/cloudbuild.builds.editor](https://cloud.google.com/iam/docs/understanding-roles#cloudbuild.builds.editor)
[roles/composer.admin](https://cloud.google.com/iam/docs/understanding-roles#composer.admin)
[roles/composer.environmentAndStorageObjectAdmin](https://cloud.google.com/iam/docs/understanding-roles#composer.environmentAndStorageObjectAdmin)
[roles/iam.serviceAccountUser](https://cloud.google.com/iam/docs/understanding-roles#iam.serviceAccountUser)
[roles/iap.httpsResourceAccessor](https://cloud.google.com/iam/docs/understanding-roles#iap.httpsResourceAccessor)
[roles/storage.admin](https://cloud.google.com/iam/docs/understanding-roles#storage.admin)
[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | -|SERVICE_IDENTITY_cloudcomposer-accounts
serviceAccount|[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | +|SERVICE_IDENTITY_cloudcomposer-accounts
serviceAccount|[roles/composer.ServiceAgentV2Ext](https://cloud.google.com/iam/docs/understanding-roles#composer.ServiceAgentV2Ext)
[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | |SERVICE_IDENTITY_service-networking
serviceAccount|[roles/servicenetworking.serviceAgent](https://cloud.google.com/iam/docs/understanding-roles#servicenetworking.serviceAgent) +| -|load-df-0
serviceAccount|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | -|orc-cmp-0
serviceAccount|[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/composer.worker](https://cloud.google.com/iam/docs/understanding-roles#composer.worker)
[roles/iam.serviceAccountUser](https://cloud.google.com/iam/docs/understanding-roles#iam.serviceAccountUser)
[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | -|trf-df-0
serviceAccount|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor) | +|lc-2301-load-df-0
serviceAccount|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor)
[roles/storage.objectViewer](https://cloud.google.com/iam/docs/understanding-roles#storage.objectViewer) | +|lc-2301-orc-cmp-0
serviceAccount|[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/composer.worker](https://cloud.google.com/iam/docs/understanding-roles#composer.worker)
[roles/iam.serviceAccountUser](https://cloud.google.com/iam/docs/understanding-roles#iam.serviceAccountUser)
[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | +|lc-2301-trf-df-0
serviceAccount|[roles/bigquery.dataEditor](https://cloud.google.com/iam/docs/understanding-roles#bigquery.dataEditor) | -## Project trf +## Project lc-2301-trf | members | roles | |---|---| |gcp-data-engineers
group|[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser)
[roles/dataflow.admin](https://cloud.google.com/iam/docs/understanding-roles#dataflow.admin) | |SERVICE_IDENTITY_dataflow-service-producer-prod
serviceAccount|[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | |SERVICE_IDENTITY_service-networking
serviceAccount|[roles/servicenetworking.serviceAgent](https://cloud.google.com/iam/docs/understanding-roles#servicenetworking.serviceAgent) +| -|orc-cmp-0
serviceAccount|[roles/dataflow.admin](https://cloud.google.com/iam/docs/understanding-roles#dataflow.admin) | -|trf-bq-0
serviceAccount|[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser) | -|trf-df-0
serviceAccount|[roles/dataflow.worker](https://cloud.google.com/iam/docs/understanding-roles#dataflow.worker)
[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | +|lc-2301-orc-cmp-0
serviceAccount|[roles/dataflow.admin](https://cloud.google.com/iam/docs/understanding-roles#dataflow.admin) | +|lc-2301-trf-bq-0
serviceAccount|[roles/bigquery.jobUser](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser) | +|lc-2301-trf-df-0
serviceAccount|[roles/dataflow.worker](https://cloud.google.com/iam/docs/understanding-roles#dataflow.worker)
[roles/storage.objectAdmin](https://cloud.google.com/iam/docs/understanding-roles#storage.objectAdmin) | diff --git a/blueprints/data-solutions/data-platform-foundations/README.md b/blueprints/data-solutions/data-platform-foundations/README.md index 8da143b29..b2cd82b45 100644 --- a/blueprints/data-solutions/data-platform-foundations/README.md +++ b/blueprints/data-solutions/data-platform-foundations/README.md @@ -21,7 +21,7 @@ The approach adapts to different high-level requirements: - least privilege principle - rely on service account impersonation -The code in this blueprint doesn't address Organization-level configurations (Organization policy, VPC-SC, centralized logs). We expect those elements to be managed by automation stages external to this script like those in [FAST](../../../fast). +The code in this blueprint doesn't address Organization-level configurations (Organization policy, VPC-SC, centralized logs). We expect those elements to be managed by automation stages external to this script like those in [FAST](../../../fast) and this blueprint deployed on top of them as one of the [stage](../../../fast/stages/03-data-platform/dev/README.md). ### Project structure @@ -39,14 +39,13 @@ This separation into projects allows adhering to the least-privilege principle b The script will create the following projects: - **Drop off** Used to store temporary data. Data is pushed to Cloud Storage, BigQuery, or Cloud PubSub. Resources are configured with a customizable lifecycle policy. -- **Load** Used to load data from the drop off zone to the data warehouse. The load is made with minimal to zero transformation logic (mainly `cast`). Anonymization or tokenization of Personally Identifiable Information (PII) can be implemented here or in the transformation stage, depending on your requirements. The use of [Cloud Dataflow templates](https://cloud.google.com/dataflow/docs/concepts/dataflow-templates) is recommended. +- **Load** Used to load data from the drop off zone to the data warehouse. The load is made with minimal to zero transformation logic (mainly `cast`). Anonymization or tokenization of Personally Identifiable Information (PII) can be implemented here or in the transformation stage, depending on your requirements. The use of [Cloud Dataflow templates](https://cloud.google.com/dataflow/docs/concepts/dataflow-templates) is recommended. When you need to handle workloads from different teams, if strong role separation is needed between them, we suggests to customize the scirpt and have separate `Load` projects. - **Data Warehouse** Several projects distributed across 3 separate layers, to host progressively processed and refined data: - **Landing - Raw data** Structured Data, stored in relevant formats: structured data stored in BigQuery, unstructured data stored on Cloud Storage with additional metadata stored in BigQuery (for example pictures stored in Cloud Storage and analysis of the images for Cloud Vision API stored in BigQuery). - **Curated - Cleansed, aggregated and curated data** - **Confidential - Curated and unencrypted layer** - - **Playground** Temporary tables that Data Analyst may use to perform R&D on data available in other Data Warehouse layers. - **Orchestration** Used to host Cloud Composer, which orchestrates all tasks that move data across layers. -- **Transformation** Used to move data between Data Warehouse layers. We strongly suggest relying on BigQuery Engine to perform the transformations. If BigQuery doesn't have the features needed to perform your transformations, you can use Cloud Dataflow with [Cloud Dataflow templates](https://cloud.google.com/dataflow/docs/concepts/dataflow-templates). This stage can also optionally anonymize or tokenize PII. +- **Transformation** Used to move data between Data Warehouse layers. We strongly suggest relying on BigQuery Engine to perform the transformations. If BigQuery doesn't have the features needed to perform your transformations, you can use Cloud Dataflow with [Cloud Dataflow templates](https://cloud.google.com/dataflow/docs/concepts/dataflow-templates). This stage can also optionally anonymize or tokenize PII. When you need to handle workloads from different teams, if strong role separation is needed between them, we suggests to customize the scirpt and have separate `Tranformation` projects. - **Exposure** Used to host resources that share processed data with external systems. Depending on the access pattern, data can be presented via Cloud SQL, BigQuery, or Bigtable. For BigQuery data, we strongly suggest relying on [Authorized views](https://cloud.google.com/bigquery/docs/authorized-views). ### Roles @@ -80,10 +79,10 @@ We use three groups to control access to resources: The table below shows a high level overview of roles for each group on each project, using `READ`, `WRITE` and `ADMIN` access patterns for simplicity. For detailed roles please refer to the code. -|Group|Drop off|Load|Transformation|DHW Landing|DWH Curated|DWH Confidential|DWH Playground|Orchestration|Common| +|Group|Drop off|Load|Transformation|DHW Landing|DWH Curated|DWH Confidential|Orchestration|Common| |-|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| -|Data Engineers|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`| -|Data Analysts|-|-|-|-|-|`READ`|`READ`/`WRITE`|-|-| +|Data Engineers|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`| +|Data Analysts|-|-|-|-|-|`READ`|-|-| |Data Security|-|-|-|-|-|-|-|-|`ADMIN`| You can configure groups via the `groups` variable. @@ -109,14 +108,13 @@ In both VPC scenarios, you also need these ranges for Composer: - one /24 for Cloud SQL - one /28 for the GKE control plane -- one /28 for the web server ### Resource naming conventions Resources follow the naming convention described below. - `prefix-layer` for projects -- `prefix-layer-prduct` for resources +- `prefix-layer-product` for resources - `prefix-layer[2]-gcp-product[2]-counter` for services and service accounts ### Encryption diff --git a/blueprints/data-solutions/data-platform-foundations/images/overview_diagram.png b/blueprints/data-solutions/data-platform-foundations/images/overview_diagram.png index 642c81c2fc966b002167c32f6a155fc5e3145f7f..073ec870cca67453fdbcb1e939b1bc2573eed8ab 100644 GIT binary patch literal 147940 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 literal 51041 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

kZV=gyGoF|DsqpA$}NJ~>JT3l=@|8$W|=`voiI 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 N#D!&qssw-f|1Z499TNZm diff --git a/blueprints/data-solutions/data-platform-foundations/outputs.tf b/blueprints/data-solutions/data-platform-foundations/outputs.tf index b941776cb..b91077d1e 100644 --- a/blueprints/data-solutions/data-platform-foundations/outputs.tf +++ b/blueprints/data-solutions/data-platform-foundations/outputs.tf @@ -21,7 +21,6 @@ output "bigquery-datasets" { dwh-landing-bq-0 = module.dwh-lnd-bq-0.dataset_id, dwh-curated-bq-0 = module.dwh-cur-bq-0.dataset_id, dwh-confidential-bq-0 = module.dwh-conf-bq-0.dataset_id, - dwh-plg-bq-0 = module.dwh-plg-bq-0.dataset_id, } } @@ -44,7 +43,6 @@ output "gcs-buckets" { dwh-landing-cs-0 = module.dwh-lnd-cs-0.name, dwh-curated-cs-0 = module.dwh-cur-cs-0.name, dwh-confidential-cs-0 = module.dwh-conf-cs-0.name, - dwh-plg-cs-0 = module.dwh-plg-cs-0.name, drop-cs-0 = module.drop-cs-0.name, lod-cs-df = module.load-cs-df-0.name, orch-cs-0 = module.orch-cs-0.name, @@ -64,7 +62,6 @@ output "projects" { dwh-landing = module.dwh-lnd-project.number, dwh-curated = module.dwh-cur-project.number, dwh-confidential = module.dwh-conf-project.number, - dwh-plg = module.dwh-plg-project.number, exposure = module.exp-project.number, dropoff = module.drop-project.number, load = module.load-project.number, @@ -75,7 +72,6 @@ output "projects" { dwh-landing = module.dwh-lnd-project.project_id, dwh-curated = module.dwh-cur-project.project_id, dwh-confidential = module.dwh-conf-project.project_id, - dwh-plg = module.dwh-plg-project.project_id, exposure = module.exp-project.project_id, dropoff = module.drop-project.project_id, load = module.load-project.project_id, diff --git a/blueprints/data-solutions/data-platform-foundations/variables.tf b/blueprints/data-solutions/data-platform-foundations/variables.tf index 80e7b65cf..f930de1f0 100644 --- a/blueprints/data-solutions/data-platform-foundations/variables.tf +++ b/blueprints/data-solutions/data-platform-foundations/variables.tf @@ -22,14 +22,47 @@ variable "billing_account_id" { variable "composer_config" { description = "Cloud Composer config." type = object({ - node_count = number - airflow_version = string - env_variables = map(string) + disable_deployment = optional(bool) + environment_size = string + software_config = object({ + airflow_config_overrides = optional(any) + pypi_packages = optional(any) + env_variables = optional(map(string)) + image_version = string + }) + workloads_config = object({ + scheduler = object( + { + cpu = number + memory_gb = number + storage_gb = number + count = number + } + ) + web_server = object( + { + cpu = number + memory_gb = number + storage_gb = number + } + ) + worker = object( + { + cpu = number + memory_gb = number + storage_gb = number + min_count = number + max_count = number + } + ) + }) }) default = { - node_count = 3 - airflow_version = "composer-1-airflow-2" - env_variables = {} + environment_size = "ENVIRONMENT_SIZE_SMALL" + software_config = { + image_version = "composer-2-airflow-2" + } + workloads_config = null } } @@ -84,7 +117,6 @@ variable "network_config" { composer_ip_ranges = object({ cloudsql = string gke_master = string - web_server = string }) composer_secondary_ranges = object({ pods = string diff --git a/fast/stages/03-data-platform/dev/README.md b/fast/stages/03-data-platform/dev/README.md index 12db8d292..10638e276 100644 --- a/fast/stages/03-data-platform/dev/README.md +++ b/fast/stages/03-data-platform/dev/README.md @@ -31,13 +31,13 @@ The Data Platform manages: As per our GCP best practices the Data Platform relies on user groups to assign roles to human identities. These are the specific groups used by the Data Platform and their access patterns, from the [module documentation](../../../../blueprints/data-solutions/data-platform-foundations/#groups): - *Data Engineers* They handle and run the Data Hub, with read access to all resources in order to troubleshoot possible issues with pipelines. This team can also impersonate any service account. -- *Data Analysts*. They perform analysis on datasets, with read access to the data warehouse Curated or Confidential projects depending on their privileges, and BigQuery READ/WRITE access to the playground project. +- *Data Analysts*. They perform analysis on datasets, with read access to the data warehouse Curated or Confidential projects depending on their privileges. - *Data Security*:. They handle security configurations related to the Data Hub. This team has admin access to the common project to configure Cloud DLP templates or Data Catalog policy tags. -|Group|Landing|Load|Transformation|Data Warehouse Landing|Data Warehouse Curated|Data Warehouse Confidential|Data Warehouse Playground|Orchestration|Common| -|-|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| -|Data Engineers|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`| -|Data Analysts|-|-|-|-|-|`READ`|`READ`/`WRITE`|-|-| +|Group|Landing|Load|Transformation|Data Warehouse Landing|Data Warehouse Curated|Data Warehouse Confidential|Orchestration|Common| +|-|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| +|Data Engineers|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`|`ADMIN`| +|Data Analysts|-|-|-|-|-|`READ`|-|-| |Data Security|-|-|-|-|-|-|-|-|`ADMIN`| ### Network diff --git a/fast/stages/03-data-platform/dev/main.tf b/fast/stages/03-data-platform/dev/main.tf index 24abb58d9..53d901d1b 100644 --- a/fast/stages/03-data-platform/dev/main.tf +++ b/fast/stages/03-data-platform/dev/main.tf @@ -37,7 +37,6 @@ module "data-platform" { composer_ip_ranges = { cloudsql = var.network_config_composer.cloudsql_range gke_master = var.network_config_composer.gke_master_range - web_server = var.network_config_composer.web_server_range } composer_secondary_ranges = { pods = var.network_config_composer.gke_pods_name diff --git a/fast/stages/03-data-platform/dev/variables.tf b/fast/stages/03-data-platform/dev/variables.tf index 9495316a9..29dd1e45a 100644 --- a/fast/stages/03-data-platform/dev/variables.tf +++ b/fast/stages/03-data-platform/dev/variables.tf @@ -34,14 +34,47 @@ variable "billing_account" { variable "composer_config" { description = "Cloud Composer configuration options." type = object({ - node_count = number - airflow_version = string - env_variables = map(string) + disable_deployment = optional(bool) + environment_size = string + software_config = object({ + airflow_config_overrides = optional(any) + pypi_packages = optional(any) + env_variables = optional(map(string)) + image_version = string + }) + workloads_config = object({ + scheduler = object( + { + cpu = number + memory_gb = number + storage_gb = number + count = number + } + ) + web_server = object( + { + cpu = number + memory_gb = number + storage_gb = number + } + ) + worker = object( + { + cpu = number + memory_gb = number + storage_gb = number + min_count = number + max_count = number + } + ) + }) }) default = { - node_count = 3 - airflow_version = "composer-1.17.5-airflow-2.1.4" - env_variables = {} + environment_size = "ENVIRONMENT_SIZE_SMALL" + software_config = { + image_version = "composer-2-airflow-2" + } + workloads_config = null } } @@ -101,14 +134,12 @@ variable "network_config_composer" { gke_master_range = string gke_pods_name = string gke_services_name = string - web_server_range = string }) default = { cloudsql_range = "192.168.254.0/24" gke_master_range = "192.168.255.0/28" gke_pods_name = "pods" gke_services_name = "services" - web_server_range = "192.168.255.16/28" } } diff --git a/tests/blueprints/data_solutions/data_platform_foundations/test_plan.py b/tests/blueprints/data_solutions/data_platform_foundations/test_plan.py index 1b51472cd..17563647c 100644 --- a/tests/blueprints/data_solutions/data_platform_foundations/test_plan.py +++ b/tests/blueprints/data_solutions/data_platform_foundations/test_plan.py @@ -21,5 +21,5 @@ FIXTURES_DIR = os.path.join(os.path.dirname(__file__), 'fixture') def test_resources(e2e_plan_runner): "Test that plan works and the numbers of resources is as expected." modules, resources = e2e_plan_runner(FIXTURES_DIR) - assert len(modules) == 41 - assert len(resources) == 315 + assert len(modules) == 38 + assert len(resources) == 285