Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions ACA/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,13 +147,13 @@ The script supports flexible resource allocation to match your workload requirem
-VCores 4 -MemoryGB 16

# Default production workload
# (uses defaults: 8 vCores, 32GB - no parameters needed)
# (uses defaults: 8 vCores, 32GB, 100GB file share - no parameters needed)

# Large workload (high-performance migration)
-VCores 16 -MemoryGB 64
-VCores 16 -MemoryGB 64 -FileShareSizeGB 500

# Maximum workload (enterprise-scale migration)
-VCores 32 -MemoryGB 64
-VCores 32 -MemoryGB 64 -FileShareSizeGB 1024
```

---
Expand Down
13 changes: 11 additions & 2 deletions ACA/aca_main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,11 @@ param infrastructureSubnetResourceId string = ''
@description('Use Entra ID (Managed Identity) for Azure Blob Storage instead of mounting Azure Files. When true, UseBlobServiceClient env var is set and no volume is mounted.')
param useEntraIdForStorage bool = false

@description('Size of the Azure File Share in GB (only applies when useEntraIdForStorage is false)')
@minValue(100)
@maxValue(102400)
param fileShareSizeGB int = 100

// Variables for dynamic workload profile selection
var workloadProfileType = vCores <= 4 ? 'D4' : vCores <= 8 ? 'D8' : vCores <= 16 ? 'D16' : 'D32'
var workloadProfileName = 'Dedicated'
Expand Down Expand Up @@ -105,11 +110,11 @@ resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = {
}
}

// File Share for migration data (100GB) - only needed when NOT using Entra ID
// File Share for migration data - only needed when NOT using Entra ID
resource fileShare 'Microsoft.Storage/storageAccounts/fileServices/shares@2023-01-01' = if (!useEntraIdForStorage) {
name: '${storageAccount.name}/default/migration-data'
properties: {
shareQuota: 100
shareQuota: fileShareSizeGB
enabledProtocols: 'SMB'
}
}
Expand Down Expand Up @@ -243,6 +248,10 @@ resource containerApp 'Microsoft.App/containerApps@2023-05-01' = {
name: 'ResourceDrive'
value: '/app/migration-data'
}
{
name: 'STORAGE_QUOTA_GB'
value: string(fileShareSizeGB)
}
], stateStoreConnectionString != '' ? [
{
name: 'StateStoreConnectionStringOrPath'
Expand Down
10 changes: 8 additions & 2 deletions ACA/deploy-to-aca.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ param(
[Parameter(Mandatory=$false)]
[switch]$UseEntraIdForAzureStorage,

[Parameter(Mandatory=$false)]
[ValidateRange(100, 102400)]
[int]$FileShareSizeGB = 100,

[Parameter(Mandatory=$true)]
[string]$OwnerTag
)
Expand Down Expand Up @@ -97,7 +101,8 @@ $bicepParams = @(
"vCores=$VCores",
"memoryGB=$MemoryGB",
"ownerTag=$OwnerTag",
"useEntraIdForStorage=$($UseEntraIdForAzureStorage.ToString().ToLower())"
"useEntraIdForStorage=$($UseEntraIdForAzureStorage.ToString().ToLower())",
"fileShareSizeGB=$FileShareSizeGB"
)

# Add VNet configuration if provided
Expand Down Expand Up @@ -183,7 +188,8 @@ $finalBicepParams = @(
"aspNetCoreEnvironment=Development",
"imageTag=$ImageTag",
"ownerTag=$OwnerTag",
"useEntraIdForStorage=$($UseEntraIdForAzureStorage.ToString().ToLower())"
"useEntraIdForStorage=$($UseEntraIdForAzureStorage.ToString().ToLower())",
"fileShareSizeGB=$FileShareSizeGB"
)

# Add VNet configuration if provided
Expand Down