Runbook — Onboard a new DLZ (new agency / domain)¶
When to use¶
Federal customer onboarding a new agency, mission area, or business domain. Adds a new Data Landing Zone to an existing multi-sub Loom deployment.
Prerequisites¶
| Item | Notes |
|---|---|
| New Azure subscription under same Entra tenant | Single Entra tenant required for multi-sub |
Available /16 CIDR for new spoke VNet | Use 10.<N>.0.0/16 where N = next available |
| Domain Stewards Entra group object ID | Customer creates the group with the appropriate Stewards |
| Capacity SKU decision (F4 / F8 / F32 / F64) | Per-DLZ sizing |
| Region (within audit boundary) | Should match Admin Plane region or paired region |
Procedure (Console / Setup Wizard path)¶
- Sign in to Loom Console as a Loom Admin
- Navigate to Setup Wizard (
/setup) - Click Add Data Landing Zone
- Wizard interviews:
- Target subscription ID
- Domain name (e.g., "Mission Ops", "Finance", "Procurement")
- Region
- Capacity SKU
- Domain Steward Entra group
- Workspace identity naming convention
- Wizard renders the
.bicepparamlive in right pane — review - Click Deploy to confirm
- MCP activates PIM-for-Groups → Contributor on new sub
- MCP submits deployment (~25-40 min)
- Wizard streams progress; emits completion narration
- New DLZ appears in Console "Workspaces" pane
Procedure (CLI path)¶
cd platform/fiab/azd
azd env select prod-multi-sub
# Append new sub to DLZ list
CURRENT=$(azd env get-values | grep CSA_LOOM_DLZ_SUB_IDS | cut -d= -f2 | tr -d '"')
NEW_SUB="<new-sub-id>"
azd env set CSA_LOOM_DLZ_SUB_IDS "${CURRENT},${NEW_SUB}"
# Append domain name
CURRENT_NAMES=$(azd env get-values | grep CSA_LOOM_DLZ_NAMES | cut -d= -f2 | tr -d '"')
azd env set CSA_LOOM_DLZ_NAMES "${CURRENT_NAMES},Mission Ops"
# Re-deploy (idempotent — only the new DLZ provisions)
azd up
Post-deploy validation¶
- Console check — new DLZ appears in Workspaces pane
- Network check — VNet peering active between Admin Plane hub and new spoke
- Identity check — Domain Stewards group has appropriate Loom role assignments
- Catalog check — Purview scan registered for new DLZ's ADLS accounts
- Smoke test — create a test workspace in the new DLZ via Console; ingest sample data; run query
Common issues¶
| Issue | Fix |
|---|---|
| VNet peering fails (CIDR conflict) | Pick non-overlapping CIDR; update .bicepparam |
| PIM activation fails | Verify Loom MCP MI is member of Loom MCP Operators PIM-eligible group; admin must approve elevation if not auto-approved |
| Domain Stewards group not found | Verify object ID; group must exist in same Entra tenant |
| Capacity quota insufficient | Request quota for Databricks Premium in target region |
Decommission a DLZ¶
This: - Tears down all RGs in the target DLZ sub - Removes VNet peering from Admin Plane hub - Cleans up Purview scan registrations - Preserves Admin Plane + other DLZs