Infrastructure-as-code and automation for deploying Azure Virtual Desktop (AVD) on Azure Local (formerly Azure Stack HCI).
azurelocal-avd/
├── config/ # Central variable reference (variables.example.yml)
├── src/ # IaC templates — one folder per tool
│ ├── bicep/ # Bicep (recommended)
│ ├── arm/ # ARM JSON
│ ├── terraform/ # Terraform
│ ├── powershell/ # PowerShell scripts
│ └── ansible/ # Ansible playbooks and roles
├── scripts/ # Azure CLI / Bash utility scripts
├── examples/ # Pipeline examples and walkthroughs
│ └── pipelines/
│ ├── azure-devops/
│ └── github-actions/
├── tests/ # Validation scripts
├── docs/ # Documentation (MkDocs source)
└── .github/workflows/ # GitHub Actions workflows
git clone https://github.com/AzureLocal/aurelocal-avd.git
cd aurelocal-avd
cp config/variables.example.yml config/variables.yml
# Edit config/variables.yml, then deploy with your preferred toolSee Getting Started for full instructions.
| Tool | Location | Best For |
|---|---|---|
| Bicep | src/bicep/ |
Recommended — native ARM, type-safe |
| ARM | src/arm/ |
Direct ARM JSON templates |
| Terraform | src/terraform/ |
Multi-cloud / existing TF estate |
| PowerShell | src/powershell/ |
Interactive / ad-hoc |
| Azure CLI | scripts/ |
Bash-based scripting |
| Ansible | src/ansible/ |
Post-deploy OS/app config |
Companion repo: azurelocal-sofs-fslogix
- Azure Local cluster (23H2+) registered with Azure Arc
- Azure subscription with Contributor (or custom AVD) RBAC
- Microsoft Entra ID tenant
- See tool-specific version requirements in Getting Started
See Contributing Guide for coding standards, branch strategy, and PR guidelines.
See LICENSE for details.