Parent Issue
Part of #10 — Migrate TierPoint Azure Local content to AzureLocal Cloud organization.
Summary
Create a new repository AzureLocal/azurelocal-toolkit and migrate the prodtech-docs-azl-toolkit content (~597 files). This toolkit contains 227 PowerShell scripts covering the full Azure Local deployment lifecycle, ARM/Bicep/Terraform templates, solution packages (AVD, SOFS), planning tools, and a sophisticated config-driven architecture.
Key Decisions (Finalized)
| Decision |
Resolution |
| Repo name |
azurelocal-toolkit |
| Git history |
Fresh — do NOT migrate git history (contains TierPoint data) |
| Variable structure |
Option C modified — keep infrastructure.yml as metadata/schema registry, create variables.template.yml for Azure Local-specific vars, defer deep cleanup to azurelocal-sofs-fslogix#47 |
| AVD/SOFS solutions |
NOT migrated (live in their own repos: aurelocal-avd, azurelocal-sofs-fslogix) |
| Solution placeholders |
Keep empty folders for: ai_foundry, aks, app_services, iot_operations, machine_learning, mi_sql |
| Org standards |
MkDocs Material (blue/light blue), release-please, GitHub Pages, add-to-project workflow, Vale linting |
| Network device configs |
NOT migrated (contain real serial numbers) |
| Folder structure |
Same as source |
Source Inventory
prodtech-docs-azl-toolkit/
├── configs/
│ ├── infrastructure.yml # 1,611 lines — master config template (14 sections)
│ ├── infrastructure-tplabs.yml # ❌ SKIP — TP Labs environment-specific (real IDs)
│ ├── infrastructure-temp.yml # ❌ SKIP — working copy
│ ├── infrastructure copy.yml # ❌ SKIP — backup
│ ├── solutions.yaml # 310 lines — solution definitions + variable groups
│ ├── Generate-AzureLocal-Parameters.ps1
│ ├── azure/
│ │ ├── arm-templates/ # Cluster deployment ARM + parameters
│ │ └── b2b/ # ❌ SKIP — TierPoint B2B configs
│ ├── network-devices/ # ❌ SKIP — Real serial numbers
│ └── variables/assets/ # master-registry.yaml + infrastructure.schema.json
│
├── scripts/ # 227 .ps1 files — THE MAIN EVENT
│ ├── common/ # Shared modules (config loader, Key Vault resolver)
│ ├── deploy/
│ │ ├── 01-tierpoint-cicd-infra/ # ❌ SKIP — TierPoint-specific
│ │ ├── 02-azure-foundation/ # ✅ Migrate — landing zones, RBAC, VNet, mgmt infra
│ │ ├── 03-onprem-readiness/ # ✅ Migrate — AD, hardware, network
│ │ ├── 04-cluster-deployment/ # ✅ Migrate — hardware → OS → Arc → cluster
│ │ ├── 05-operational-foundations/ # ✅ Migrate — SDN, monitoring, backup
│ │ ├── 06-testing-validation/ # ✅ Migrate
│ │ ├── 07-validation-handover/ # ✅ Migrate
│ │ └── 08-lifecycle-operations/ # ✅ Migrate
│ ├── handover/ # Customer transfer scripts
│ ├── lifecycle/ # Operations + update scripts
│ ├── tools/ # Script generators
│ └── validation/ # Test suites (arc, cluster, network, storage)
│
├── solutions/ # Per-solution deployment packages
│ ├── avd/ # ❌ SKIP — lives in aurelocal-avd repo
│ ├── sofs/ # ❌ SKIP — lives in azurelocal-sofs-fslogix repo
│ ├── ai_foundry/ # ✅ Keep placeholder
│ ├── aks/ # ✅ Keep placeholder
│ ├── app_services/ # ✅ Keep placeholder
│ ├── iot_operations/ # ✅ Keep placeholder
│ ├── machine_learning/ # ✅ Keep placeholder
│ └── mi_sql/ # ✅ Keep placeholder
│
├── tools/planning/ # S2D capacity calculator (.xlsx)
├── logs/ # ❌ SKIP — 214 execution logs
├── pipelines/ # Placeholder
├── temp/ # ❌ SKIP
└── src/, docs/, tests/ # Placeholders
Migration Plan — Phased Approach
Phase 1: Scaffold Repo Infrastructure ✅ (Repo Created)
Phase 2: Selective Content Copy
COPY:
configs/infrastructure.yml, solutions.yaml, Generate-AzureLocal-Parameters.ps1
configs/azure/arm-templates/ (EXCEPT examples/tplabs/)
configs/variables/
scripts/ — Deploy-Infrastructure.ps1, common/, deploy/02-08, handover/, lifecycle/, validation/, tools/
solutions/ — ai_foundry, aks, app_services, iot_operations, machine_learning, mi_sql (placeholders only)
tools/, src/ (placeholders), pipelines/, tests/
SKIP (Content That Must NOT Migrate):
| Content |
Reason |
configs/infrastructure-tplabs.yml |
Real Azure tenant IDs, resource IDs, TierPoint environment data |
configs/infrastructure-temp.yml |
Working copy with 128 TierPoint matches |
configs/infrastructure copy.yml |
Backup with 34 TierPoint matches |
configs/azure/b2b/ |
TierPoint B2B cross-tenant JSON configs |
configs/network-devices/ |
Real device serial numbers |
scripts/deploy/01-tierpoint-cicd-infra/ |
TierPoint-specific CI/CD and B2B scripts |
solutions/avd/ |
Lives in aurelocal-avd repo |
solutions/sofs/ |
Lives in azurelocal-sofs-fslogix repo |
logs/ (214 files) |
Production execution logs |
temp/ |
Scratch files |
solutions/sofs/terraform/terraform.tfstate |
Real infrastructure state — security risk |
solutions/sofs/terraform/.terraform/ |
Provider binaries |
| Old README.md, CODEOWNERS, SOFS-Deployment-Guide.md |
Replaced by new org-standard files |
Phase 3: Branding Scrub (~262 matches)
Bulk find-replace then contextual review:
| Find |
Replace With |
Estimated Matches |
TierPoint |
Azure Local Cloud / Hybrid Cloud Solutions |
145 |
prodtech / ProdTech / Product Tech |
Azure Local Cloud |
111 |
PCS (company context) |
Remove or replace |
6 |
team-prodtech@ |
AzureLocal org contact |
scattered |
gitlab.com/tierpoint/prodtech/ |
github.com/AzureLocal/ |
scattered |
TierPoint tenant ID 28217fed-... |
Placeholder 00000000-0000-0000-0000-000000000000 |
multiple |
tplabs / tpdemos / tp- |
azl- / lab- |
scattered |
Phase 4: Variable Structure
Phase 5: README & Docs
Phase 6: Enable GitHub Pages & CI
Phase 7: Update Related Issues
Phase 8: Validation
Acceptance Criteria
Related Issues
Parent Issue
Part of #10 — Migrate TierPoint Azure Local content to AzureLocal Cloud organization.
Summary
Create a new repository
AzureLocal/azurelocal-toolkitand migrate theprodtech-docs-azl-toolkitcontent (~597 files). This toolkit contains 227 PowerShell scripts covering the full Azure Local deployment lifecycle, ARM/Bicep/Terraform templates, solution packages (AVD, SOFS), planning tools, and a sophisticated config-driven architecture.Key Decisions (Finalized)
azurelocal-toolkitinfrastructure.ymlas metadata/schema registry, createvariables.template.ymlfor Azure Local-specific vars, defer deep cleanup to azurelocal-sofs-fslogix#47aurelocal-avd,azurelocal-sofs-fslogix)Source Inventory
Migration Plan — Phased Approach
Phase 1: Scaffold Repo Infrastructure ✅ (Repo Created)
AzureLocal/azurelocal-toolkitrepository on GitHub.gitignore— merge SOFS repo + source toolkit patternsLICENSE— MITCONTRIBUTING.md— from SOFS template, adapted for toolkit contextCHANGELOG.md— empty Unreleased sectionrelease-please-config.json+.release-please-manifest.jsonmkdocs.yml— Material theme (blue/light blue), same extensions as SOFSdocs/index.md— landing page with Under Active Development warningdocs/contributing.md— links to root CONTRIBUTING.mddocs/roadmap.md— placeholder with future solutions liststyles/Microsoft/— Vale config from SOFS.github/workflows/deploy-docs.yml— from SOFS, adjust paths.github/workflows/add-to-project.yml— from SOFS (withsolution/toolkitlabels).github/workflows/release-please.yml— from SOFSazurelocal-toolkit.code-workspacePhase 2: Selective Content Copy
COPY:
configs/infrastructure.yml,solutions.yaml,Generate-AzureLocal-Parameters.ps1configs/azure/arm-templates/(EXCEPTexamples/tplabs/)configs/variables/scripts/— Deploy-Infrastructure.ps1, common/, deploy/02-08, handover/, lifecycle/, validation/, tools/solutions/— ai_foundry, aks, app_services, iot_operations, machine_learning, mi_sql (placeholders only)tools/,src/(placeholders),pipelines/,tests/SKIP (Content That Must NOT Migrate):
configs/infrastructure-tplabs.ymlconfigs/infrastructure-temp.ymlconfigs/infrastructure copy.ymlconfigs/azure/b2b/configs/network-devices/scripts/deploy/01-tierpoint-cicd-infra/solutions/avd/aurelocal-avdreposolutions/sofs/azurelocal-sofs-fslogixrepologs/(214 files)temp/solutions/sofs/terraform/terraform.tfstatesolutions/sofs/terraform/.terraform/Phase 3: Branding Scrub (~262 matches)
Bulk find-replace then contextual review:
TierPointAzure Local Cloud/Hybrid Cloud Solutionsprodtech/ProdTech/Product TechAzure Local CloudPCS(company context)team-prodtech@gitlab.com/tierpoint/prodtech/github.com/AzureLocal/28217fed-...00000000-0000-0000-0000-000000000000tplabs/tpdemos/tp-azl-/lab-Phase 4: Variable Structure
infrastructure.ymlas metadata/schema registry (strip all real TierPoint values)configs/variables.template.ymlwith Azure Local-specific variables onlysolutions.yamlfor solution-to-variable mappingmaster-registry.yamlschema metadata to reflect AzureLocal Cloud standardsPhase 5: README & Docs
README.md(AzureLocal org style — badges, structure, quick start)docs/for MkDocs site (index, contributing, roadmap, architecture)Phase 6: Enable GitHub Pages & CI
deploy-docsworkflow runs and builds successfullyadd-to-projectworkflow maps labels correctlyrelease-pleaseworkflow initializesADD_TO_PROJECT_PATsecret to repo settingssolution/toolkitoption to GitHub Project MkDocs footer customization — copyright, branding, social links #3 Solution fieldPhase 7: Update Related Issues
Phase 8: Validation
mkdocs build --strictpasses.ps1files pass syntax checkAcceptance Criteria
AzureLocal/azurelocal-toolkitrepo created and populatedRelated Issues