You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
6.0 KiB
HCL

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

###############################################################################
# Greenfield MDP — Production Environment — Root Module
# Wires all child modules together for the production deployment.
###############################################################################
# =============================================================================
# Phase 0 / Day 1 — Networking
# =============================================================================
module "networking" {
source = "../../modules/networking"
location = var.location
environment = var.environment
project = var.project
# VNet CIDRs
vnet_cidr = var.vnet_cidr
dbx_host_subnet_cidr = var.dbx_host_subnet_cidr
dbx_container_subnet_cidr = var.dbx_container_subnet_cidr
private_endpoints_subnet_cidr = var.private_endpoints_subnet_cidr
transit_vnet_cidr = var.transit_vnet_cidr
transit_subnet_cidr = var.transit_subnet_cidr
# Hub peering (set in terraform.tfvars when Greenfield hub VNet is available)
hub_vnet_id = var.hub_vnet_id
tags = var.tags
}
# =============================================================================
# Phase 0 / Day 35 — Storage (ADLS Gen2)
# Uncomment when modules/storage is ready.
# =============================================================================
# module "storage" {
# source = "../../modules/storage"
#
# location = var.location
# environment = var.environment
# project = var.project
# resource_group_name = module.networking.rg_storage_name
# subnet_pe_id = module.networking.subnet_private_endpoints_id
# dns_zone_dfs_id = module.networking.dns_zone_dfs_id
# replication_type = var.adls_replication_type
# tags = var.tags
# }
# =============================================================================
# Phase 0 / Day 3 — Key Vault
# Uncomment when modules/keyvault is ready.
# =============================================================================
# module "keyvault" {
# source = "../../modules/keyvault"
#
# location = var.location
# environment = var.environment
# project = var.project
# resource_group_name = module.networking.rg_keyvault_name
# subnet_pe_id = module.networking.subnet_private_endpoints_id
# dns_zone_vault_id = module.networking.dns_zone_vault_id
# tags = var.tags
# }
# =============================================================================
# Phase 0 / Day 46 — Identity (Managed Identities, Role Assignments)
# Uncomment when modules/identity is ready.
# =============================================================================
# module "identity" {
# source = "../../modules/identity"
#
# location = var.location
# environment = var.environment
# project = var.project
# rg_databricks_name = module.networking.rg_databricks_name
# rg_storage_name = module.networking.rg_storage_name
# rg_governance_name = module.networking.rg_governance_name
# storage_account_id = module.storage.adls_id
# tags = var.tags
# }
# =============================================================================
# Phase 0 / Day 68 — Databricks Workspace
# Uncomment when modules/databricks-workspace is ready.
# =============================================================================
# module "databricks_workspace" {
# source = "../../modules/databricks-workspace"
#
# location = var.location
# environment = var.environment
# project = var.project
# resource_group_name = module.networking.rg_databricks_name
# vnet_id = module.networking.vnet_main_id
# subnet_host_id = module.networking.subnet_dbx_host_id
# subnet_host_name = module.networking.subnet_dbx_host_name
# subnet_container_id = module.networking.subnet_dbx_container_id
# subnet_container_name = module.networking.subnet_dbx_container_name
# subnet_pe_id = module.networking.subnet_private_endpoints_id
# subnet_transit_id = module.networking.subnet_transit_id
# nsg_id = module.networking.nsg_dbx_id
# dns_zone_databricks_id = module.networking.dns_zone_databricks_id
# dns_zone_databricks_name = module.networking.dns_zone_databricks_name
# rg_network_name = module.networking.rg_network_name
# vnet_transit_id = module.networking.vnet_transit_id
# tags = var.tags
# }
# =============================================================================
# Phase 0 / Day 1113 — Unity Catalog
# Uncomment when modules/unity-catalog is ready.
# =============================================================================
# module "unity_catalog" {
# source = "../../modules/unity-catalog"
#
# providers = {
# databricks.account = databricks.account
# databricks.workspace = databricks.workspace
# }
#
# location = var.location
# environment = var.environment
# project = var.project
# databricks_account_id = var.databricks_account_id
# workspace_id = module.databricks_workspace.workspace_id
# storage_account_name = module.storage.adls_name
# catalog_names = var.uc_catalog_names
# schemas = var.uc_schemas
# tags = var.tags
# }
# =============================================================================
# Phase 0 / Day 3 — Monitoring (Log Analytics, Diagnostic Settings)
# Uncomment when modules/monitoring is ready.
# =============================================================================
# module "monitoring" {
# source = "../../modules/monitoring"
#
# location = var.location
# environment = var.environment
# project = var.project
# resource_group_name = module.networking.rg_monitoring_name
# tags = var.tags
# }