Skip to main content
Version: 2604 (Preview)

Appendix D: Script Index

Reference Azure

DOCUMENT CATEGORY: Reference
SCOPE: Alternative script implementations per phase
PURPOSE: Provide equivalent Azure CLI, Bash, and PowerShell scripts for tasks documented in the main runbook
MASTER REFERENCE: Azure Local Toolkit

Status: PowerShell scripts implemented for all phases. Azure CLI and Bash variants planned.


Overview​

The main implementation guide documents the recommended method for each task (typically Azure PowerShell or Azure Portal). This appendix provides equivalent alternative implementations using different toolchains so teams can use whichever tool fits their workflow.

Toolchain Options:

ToolchainShellUse Case
Azure PowerShell (Az module)PowerShellWindows-native, Az module cmdlets
Azure CLI in PowerShellPowerShellaz commands in a PowerShell terminal
Azure CLI in BashBashLinux/macOS/WSL environments
TerraformAnyInfrastructure-as-code, repeatable deployments

Script Repository: All scripts are stored in the Azure Local Toolkit:

  • scripts/deploy/<stage>/<phase>/<task>/powershell/ — Azure PowerShell scripts
  • scripts/deploy/<stage>/<phase>/<task>/azurecli/ — Azure CLI scripts (scaffolded)
  • scripts/deploy/<stage>/<phase>/<task>/bash/ — Bash scripts (scaffolded)
How to Use

Each section below maps to an implementation phase. Find the phase you're working on, then pick your preferred toolchain. The main runbook shows the recommended path; scripts here are functionally equivalent alternatives.


Phase-by-Phase Script Coverage​

Phase 01 — CI/CD Infrastructure​

Sub-PhaseTaskAz PSAz CLI PSAz CLI BashTerraformStatus
01 - CI/CD SetupCI/CD runner deployment———📋Planned
03 - Infrastructure DeploymentCI/CD infrastructure provisioning———📋Planned

Phase 02 — Azure Foundation​

Sub-PhaseTaskAz PSAz CLI PSAz CLI BashTerraformStatus
01 - Landing ZonesResource group creation✅—📋📋PS Implemented
02 - Resource ProvidersRegister required resource providers✅—📋—PS Implemented
02 - Resource ProvidersVerify provider registration✅—📋—PS Implemented
03 - RBAC PermissionsCreate deployment service principal✅—📋—PS Implemented
03 - RBAC PermissionsAssign RBAC roles✅—📋—PS Implemented
04 - Management InfraVirtual network✅—📋📋PS Implemented
04 - Management InfraVPN gateway✅—📋📋PS Implemented
04 - Management InfraS2S VPN connection✅—📋📋PS Implemented
04 - Management InfraAzure Bastion✅—📋📋PS Implemented
04 - Management InfraNetwork security groups✅—📋📋PS Implemented
04 - Management InfraNAT gateway✅—📋📋PS Implemented
04 - Management InfraArc gateway✅—📋—PS Implemented
04 - Management InfraLog Analytics workspace✅—📋📋PS Implemented
04 - Management InfraKey Vault✅—📋📋PS Implemented
04 - Management InfraDomain controller✅———PS Implemented
04 - Management InfraUtility server✅———PS Implemented
04 - Management InfraNDM server✅———PS Implemented
04 - Management InfraLighthouse✅—📋📋PS Implemented
05 - Identity & SecurityPIM / Conditional Access✅—📋—PS Implemented

Phase 03 — On-Premises Readiness​

Sub-PhaseTaskAz PSAz CLI PSAz CLI BashTerraformStatus
01 - Active DirectoryOU creation & pre-creation artifacts✅———PS Implemented
01 - Active DirectorySecurity group creation✅———PS Implemented
01 - Active DirectoryDNS forwarding configuration✅———PS Implemented
01 - Active DirectoryAD account creation✅———PS Implemented
01 - Active DirectorySecurity group memberships✅———PS Implemented
02 - Enterprise ReadinessHardware inspection✅———PS Implemented
02 - Enterprise ReadinessNetwork service verification✅———PS Implemented
02 - Enterprise ReadinessOpengear verification✅———PS Implemented
02 - Enterprise ReadinessValidation signoff✅———PS Implemented
03 - Network InfrastructureOpengear console server✅———PS Implemented
03 - Network InfrastructureDell PowerSwitch configuration✅———PS Implemented
03 - Network InfrastructureFirewall endpoint verification✅———PS Implemented
03 - Network InfrastructureNetwork validation✅———PS Implemented

Phase 04 — Cluster Deployment​

Sub-PhaseTaskAz PSAz CLI PSAz CLI BashTerraformStatus
01 - Hardware ProvisioningDHCP reservations (iDRAC)✅—📋—PS Implemented
01 - Hardware ProvisioningHardware discovery (Redfish)✅—📋—PS Implemented
01 - Hardware ProvisioningDHCP reservations (management)✅—📋—PS Implemented
01 - Hardware ProvisioningBIOS/iDRAC validation✅———PS Implemented
01 - Hardware ProvisioningBIOS/iDRAC remediation✅———PS Implemented
02 - OS InstallationVerify OS deployment✅———PS Implemented
03 - OS ConfigurationWinRM, RDP, IP, DNS, NTP, hostname, etc.✅———PS Implemented
04 - Arc RegistrationPre-registration validation✅📋📋—PS Implemented
04 - Arc RegistrationRegister nodes with Azure Arc✅📋📋—PS Implemented
04 - Arc RegistrationMonitor bootstrap process✅📋📋—PS Implemented
04 - Arc RegistrationVerify Arc registration✅📋📋—PS Implemented
05 - Cluster DeploymentInitiate deployment via ARM✅——📋PS Implemented
05 - Cluster DeploymentVerify deployment completion✅———PS Implemented
06 - Post-DeploymentWindows Admin Center✅———PS Implemented
06 - Post-DeploymentSDN deployment✅———PS Implemented
06 - Post-DeploymentCluster quorum configuration✅———PS Implemented
06 - Post-DeploymentSecurity groups on nodes✅———PS Implemented
06 - Post-DeploymentSSH connectivity✅———PS Implemented
06 - Post-DeploymentStorage configuration✅—📋—PS Implemented
06 - Post-DeploymentImage downloads✅—📋—PS Implemented
06 - Post-DeploymentLogical network creation✅—📋—PS Implemented
06 - Post-DeploymentPost-deployment verification✅———PS Implemented

Phase 05 — Operational Foundations​

Sub-PhaseTaskAz PSAz CLI PSAz CLI BashTerraformStatus
01 - SDN DeploymentValidate SDN prerequisites✅———PS Implemented
01 - SDN DeploymentEnable SDN integration✅———PS Implemented
01 - SDN DeploymentConfigure network security groups✅———PS Implemented
02 - MonitoringConfigure Log Analytics workspace✅—📋📋PS Implemented
02 - MonitoringConfigure Azure Monitor Agent✅—📋📋PS Implemented
02 - MonitoringEnable HCI Insights✅—📋—PS Implemented
02 - MonitoringSetup alerting✅—📋📋PS Implemented
02 - MonitoringDeploy OMIMSWAC monitoring✅———PS Implemented
02 - MonitoringConfigure network device logging✅———PS Implemented
02 - MonitoringConfigure Datadog integration✅—📋—PS Implemented
03 - Backup & DRConfigure Azure Backup✅—📋—PS Implemented
03 - Backup & DRConfigure Site Recovery✅—📋—PS Implemented
03 - Backup & DRTest DR procedures✅———PS Implemented
04 - Security & GovernanceEnable Defender for Cloud✅—📋📋PS Implemented
04 - Security & GovernanceApply Azure Policy initiatives✅—📋📋PS Implemented
04 - Security & GovernanceConfigure security baselines✅———PS Implemented
04 - Security & GovernanceEnable security logging✅———PS Implemented
04 - Security & GovernanceConfigure Azure Update Manager✅—📋—PS Implemented
05 - Licensing & TelemetryEnable Azure Hybrid Benefit✅—📋—PS Implemented
05 - Licensing & TelemetryActivate Windows Server subscription✅———PS Implemented
05 - Licensing & TelemetryConfigure enhanced telemetry✅———PS Implemented

Phase 06 — Cluster Testing & Validation​

Sub-PhaseTaskAz PSAz CLI PSAz CLI BashTerraformStatus
TestingInfrastructure health validation✅———PS Implemented
TestingVMFleet storage testing✅———PS Implemented
TestingNetwork/RDMA validation✅———PS Implemented
TestingHA failover testing✅———PS Implemented
TestingSecurity compliance validation✅———PS Implemented
TestingBackup & DR validation✅———PS Implemented

Phase 07 — Validation & Handover​

Sub-PhaseTaskAz PSAz CLI PSAz CLI BashTerraformStatus
ValidationFinal cluster validation📋———Planned
HandoverAs-built report generation📋———Planned

Phase 08 — Lifecycle Operations​

Sub-PhaseTaskAz PSAz CLI PSAz CLI BashTerraformStatus
OperationsNode patching / update management📋—📋—Planned
OperationsCluster scaling (add/remove nodes)📋—📋—Planned
OperationsDeprovisioning📋—📋📋Planned

Script Naming Convention​

<Action>-<Resource>-<Method>.<ext>

Examples:
Register-AzureLocalResourceProviders.ps1 # Azure PowerShell
register-resource-providers.sh # Azure CLI Bash
assign-user-permissions.ps1 # Azure CLI in PowerShell
assign-user-permissions.sh # Azure CLI in Bash

Script Template​

Every script in this index follows a standard structure:

  1. Header — Synopsis, description, prerequisites, version
  2. Variables — Read from variables.yml or passed as parameters
  3. Validation — Check Azure connection, verify prerequisites
  4. Execution — Perform the task with error handling
  5. Verification — Confirm the action succeeded
  6. Summary — Output results and next steps

Status Legend​

IconMeaning
✅Script implemented and tested
🔨Script in development
📋Planned — not yet started
—Not applicable for this toolchain