Skip to main content
Version: Next

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 controllerPS Implemented
04 - Management InfraUtility serverPS Implemented
04 - Management InfraNDM serverPS 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 artifactsPS Implemented
01 - Active DirectorySecurity group creationPS Implemented
01 - Active DirectoryDNS forwarding configurationPS Implemented
01 - Active DirectoryAD account creationPS Implemented
01 - Active DirectorySecurity group membershipsPS Implemented
02 - Enterprise ReadinessHardware inspectionPS Implemented
02 - Enterprise ReadinessNetwork service verificationPS Implemented
02 - Enterprise ReadinessOpengear verificationPS Implemented
02 - Enterprise ReadinessValidation signoffPS Implemented
03 - Network InfrastructureOpengear console serverPS Implemented
03 - Network InfrastructureDell PowerSwitch configurationPS Implemented
03 - Network InfrastructureFirewall endpoint verificationPS Implemented
03 - Network InfrastructureNetwork validationPS 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 validationPS Implemented
01 - Hardware ProvisioningBIOS/iDRAC remediationPS Implemented
02 - OS InstallationVerify OS deploymentPS 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 completionPS Implemented
06 - Post-DeploymentWindows Admin CenterPS Implemented
06 - Post-DeploymentSDN deploymentPS Implemented
06 - Post-DeploymentCluster quorum configurationPS Implemented
06 - Post-DeploymentSecurity groups on nodesPS Implemented
06 - Post-DeploymentSSH connectivityPS Implemented
06 - Post-DeploymentStorage configuration📋PS Implemented
06 - Post-DeploymentImage downloads📋PS Implemented
06 - Post-DeploymentLogical network creation📋PS Implemented
06 - Post-DeploymentPost-deployment verificationPS Implemented

Phase 05 — Operational Foundations

Sub-PhaseTaskAz PSAz CLI PSAz CLI BashTerraformStatus
01 - SDN DeploymentValidate SDN prerequisitesPS Implemented
01 - SDN DeploymentEnable SDN integrationPS Implemented
01 - SDN DeploymentConfigure network security groupsPS 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 monitoringPS Implemented
02 - MonitoringConfigure network device loggingPS 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 proceduresPS Implemented
04 - Security & GovernanceEnable Defender for Cloud📋📋PS Implemented
04 - Security & GovernanceApply Azure Policy initiatives📋📋PS Implemented
04 - Security & GovernanceConfigure security baselinesPS Implemented
04 - Security & GovernanceEnable security loggingPS Implemented
04 - Security & GovernanceConfigure Azure Update Manager📋PS Implemented
05 - Licensing & TelemetryEnable Azure Hybrid Benefit📋PS Implemented
05 - Licensing & TelemetryActivate Windows Server subscriptionPS Implemented
05 - Licensing & TelemetryConfigure enhanced telemetryPS Implemented

Phase 06 — Cluster Testing & Validation

Sub-PhaseTaskAz PSAz CLI PSAz CLI BashTerraformStatus
TestingInfrastructure health validationPS Implemented
TestingVMFleet storage testingPS Implemented
TestingNetwork/RDMA validationPS Implemented
TestingHA failover testingPS Implemented
TestingSecurity compliance validationPS Implemented
TestingBackup & DR validationPS 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