test arm template to deploy Service Fabric Standalone cluster into Azure.
NOTE: not for production use
- Standard Load Balancer with explicit outbound rules
- Network Security Group with Service Fabric security rules
- Environment variable-based configuration via
.envfile - PowerShell deployment automation
- Azure PowerShell modules (
Az.Accounts,Az.Resources) - PowerShell scripts from jagilber/powershellscripts:
load-envFile.ps1azure-az-deploy-template.ps1
# Copy the example environment file
Copy-Item .env.example .env
# Edit .env with your values (required fields marked with REQUIRED)
notepad .env# Test deployment (validation only)
.\deploy.ps1 -Test
# Deploy to Azure
.\deploy.ps1
# Clean deployment (removes existing resources)
.\deploy.ps1 -Clean -ForceThe .env file contains all deployment configuration. Key variables include:
| Variable | Description | Required |
|---|---|---|
RESOURCE_GROUP |
Azure resource group name | ✓ |
LOCATION |
Azure region (e.g., centralus) | ✓ |
ADMIN_PASSWORD |
VM admin password | ✓ |
CERTIFICATE_THUMBPRINT |
Certificate thumbprint | ✓ |
CERTIFICATE_COMMON_NAME |
Certificate common name | ✓ |
CERTIFICATE_URL_VALUE |
KeyVault certificate URL | ✓ |
SOURCE_VAULT_VALUE |
KeyVault resource ID | ✓ |
VIRTUAL_MACHINE_COUNT |
Number of VMs (3-5 recommended) | ✓ |
See .env.example for all available configuration options.
You can also use the PowerShell scripts directly:
# Load environment variables
. C:\github\jagilber\powershellscripts\load-envFile.ps1
# Deploy using azure-az-deploy-template.ps1
C:\github\jagilber\powershellscripts\azure-az-deploy-template.ps1 `
-resourceGroup $env:RESOURCE_GROUP `
-location $env:LOCATION `
-templateFile .\azuredeploy.json `
-adminPassword $env:ADMIN_PASSWORD- 'certificateThumbprint' certificate thumbprint
- 'commonname' certificate common name / subject
- 'sourceVaultValue' "Resource Id of the key vault. Example:
/subscriptions/<Sub ID>/resourceGroups/<Resource group name>/providers/Microsoft.KeyVault/vaults/<vault name> - 'certificateUrlValue' - location URL of certificate in key vault. Example:
https://<name of the vault>.vault.azure.net:443/secrets/<location>
