You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: reduce default model capacity, add Bicep version guard, remove hardcoded VM credentials
- Reduce gptModelCapacity default from 150 to 30 TPM (addresses InsufficientQuota errors - 2.2% of failures)
- Add bicep >= 0.33.0 to requiredVersions in azure.yaml and azure_custom.yaml (addresses InvalidTemplate errors - 43.2% of failures)
- Remove hardcoded VM password fallback from main.bicep, main_custom.bicep, and main.json (OWASP A07:2021)
- Add @minValue(1) constraint to gptModelCapacity parameter
- Update docs to reflect new required VM credentials and reduced capacity default
- Applied consistently across main.bicep, main_custom.bicep, main.json, and documentation
Copy file name to clipboardExpand all lines: docs/CustomizingAzdParameters.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,12 +14,12 @@ By default this template will use the environment name as the prefix to prevent
14
14
|`AZURE_ENV_MODEL_DEPLOYMENT_TYPE`| string |`GlobalStandard`| Change the Model Deployment Type (allowed values: Standard, GlobalStandard). |
15
15
|`AZURE_ENV_MODEL_NAME`| string |`gpt-4o`| Set the Model Name (allowed values: gpt-4o). |
16
16
|`AZURE_ENV_MODEL_VERSION`| string |`2024-08-06`| Set the Azure model version (allowed values: 2024-08-06) |
17
-
|`AZURE_ENV_MODEL_CAPACITY`| integer |`150`| Set the Model Capacity (choose a number based on available GPT model capacity in your subscription). |
17
+
|`AZURE_ENV_MODEL_CAPACITY`| integer |`30`| Set the Model Capacity (choose a number based on available GPT model capacity in your subscription). |
18
18
|`AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID`| string | Guide to get your [Existing Workspace ID](/docs/re-use-log-analytics.md)| Set this if you want to reuse an existing Log Analytics Workspace instead of creating a new one. |
19
19
|`AZURE_ENV_IMAGETAG`| string |`latest`| Set the Image tag Like (allowed values: latest, dev, hotfix) |
20
20
|`AZURE_ENV_VM_SIZE`| string |`Standard_D2s_v5`| Specifies the size of the Jumpbox Virtual Machine (e.g., `Standard_D2s_v5`, `Standard_D2s_v4`). Set a custom value if `enablePrivateNetworking` is `true`. |
21
-
|`AZURE_ENV_JUMPBOX_ADMIN_USERNAME`| string |`JumpboxAdminUser`| Specifies the administrator username for the Jumpbox Virtual Machine. |
22
-
|`AZURE_ENV_JUMPBOX_ADMIN_PASSWORD`| string |`JumpboxAdminP@ssw0rd1234!`| Specifies the administrator password for the Jumpbox Virtual Machine. |
21
+
|`AZURE_ENV_JUMPBOX_ADMIN_USERNAME`| string |*(required when enablePrivateNetworking is true)*| Specifies the administrator username for the Jumpbox Virtual Machine. Must be provided — no default for security.|
22
+
|`AZURE_ENV_JUMPBOX_ADMIN_PASSWORD`| string |*(required when enablePrivateNetworking is true)*| Specifies the administrator password for the Jumpbox Virtual Machine. Must meet Azure complexity requirements.|
23
23
|`AZURE_ENV_COSMOS_SECONDARY_LOCATION`| string |*(not set by default)*| Specifies the secondary region for Cosmos DB. Required if `enableRedundancy` is `true`. |
24
24
|`AZURE_EXISTING_AI_PROJECT_RESOURCE_ID`| string |*(not set by default)*| Specifies the existing AI Foundry Project Resource ID if it needs to be reused. |
25
25
|`AZURE_ENV_ACR_NAME`| string |`cmsacontainerreg.azurecr.io`| Specifies the Azure Container Registry name to use for container images. |
Copy file name to clipboardExpand all lines: docs/DeploymentGuide.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -198,17 +198,19 @@ Copy the contents from the production configuration file to your main parameters
198
198
5. Select all existing content (Ctrl+A) and paste the copied content (Ctrl+V)
199
199
6. Save the file (Ctrl+S)
200
200
201
-
### 3.2 Set VM Credentials (Optional - Production Deployment Only)
201
+
### 3.2 Set VM Credentials (Required for Production Deployment)
202
202
203
203
>**Note:** This section only applies if you selected **Production** deployment typein section 3.1. VMs are not deployed in the default Development/Testing configuration.
204
204
205
-
By default, hard-coded fallback values are used for VM credentials (`JumpboxAdminUser` / `JumpboxAdminP@ssw0rd1234!`). To set custom credentials:
205
+
VM credentials must be explicitly provided when deploying with private networking enabled. No default credentials are used for security reasons.
206
206
207
207
```shell
208
208
azd env set AZURE_ENV_JUMPBOX_ADMIN_USERNAME <your-username>
209
209
azd env set AZURE_ENV_JUMPBOX_ADMIN_PASSWORD <your-password>
210
210
```
211
211
212
+
>**Password requirements:** 12+ characters, at least one uppercase, one lowercase, one number, and one special character.
@description('Optional. AI model deployment token capacity. Defaults to 150K tokens per minute.')
60
-
paramgptModelCapacityint = 150
59
+
@description('Optional. AI model deployment token capacity (thousands of tokens per minute). Must not exceed your subscription GlobalStandard quota. Reduce if provisioning fails with InsufficientQuota.')
60
+
@minValue(1)
61
+
paramgptModelCapacityint = 30
61
62
62
63
@description('Optional. Enable monitoring for the resources. This will enable Application Insights and Log Analytics. Defaults to false.')
@description('Optional. Admin password for the Jumpbox Virtual Machine. Set to custom value if enablePrivateNetworking is true.')
85
+
@description('Required when enablePrivateNetworking is true. Admin password for the Jumpbox VM. Must meet Azure complexity requirements (12+ chars, uppercase, lowercase, number, special char). Must be provided — no default for security.')
86
86
@secure()
87
-
//param vmAdminPassword string = newGuid()
88
87
paramvmAdminPasswordstring?
89
88
90
89
@description('Optional. Specifies the resource tags for all the resources. Tag "azd-env-name" is automatically added to all resources.')
@@ -637,8 +636,8 @@ module virtualMachine 'br/public:avm/res/compute/virtual-machine:0.20.0' = if (e
Copy file name to clipboardExpand all lines: infra/main.json
+7-6Lines changed: 7 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -66,9 +66,10 @@
66
66
},
67
67
"gptModelCapacity": {
68
68
"type": "int",
69
-
"defaultValue": 150,
69
+
"defaultValue": 30,
70
+
"minValue": 1,
70
71
"metadata": {
71
-
"description": "Optional. AI model deployment token capacity. Defaults to 150K tokens per minute."
72
+
"description": "Optional. AI model deployment token capacity (thousands of tokens per minute). Must not exceed your subscription GlobalStandard quota. Reduce if provisioning fails with InsufficientQuota."
72
73
}
73
74
},
74
75
"enableMonitoring": {
@@ -117,14 +118,14 @@
117
118
"type": "securestring",
118
119
"nullable": true,
119
120
"metadata": {
120
-
"description": "Optional. Admin username for the Jumpbox Virtual Machine. Set to custom value if enablePrivateNetworking is true."
121
+
"description": "Required when enablePrivateNetworking is true. Admin username for the Jumpbox VM. Must be provided — no default for security."
121
122
}
122
123
},
123
124
"vmAdminPassword": {
124
125
"type": "securestring",
125
126
"nullable": true,
126
127
"metadata": {
127
-
"description": "Optional. Admin password for the Jumpbox Virtual Machine. Set to custom value if enablePrivateNetworking is true."
128
+
"description": "Required when enablePrivateNetworking is true. Admin password for the Jumpbox VM. Must meet Azure complexity requirements (12+ chars, uppercase, lowercase, number, special char). Must be provided — no default for security."
@description('Optional. AI model deployment token capacity. Defaults to 150K tokens per minute.')
60
-
paramgptModelCapacityint = 150
59
+
@description('Optional. AI model deployment token capacity (thousands of tokens per minute). Must not exceed your subscription GlobalStandard quota. Reduce if provisioning fails with InsufficientQuota.')
60
+
@minValue(1)
61
+
paramgptModelCapacityint = 30
61
62
62
63
@description('Optional. Enable monitoring for the resources. This will enable Application Insights and Log Analytics. Defaults to false.')
@description('Optional. Admin password for the Jumpbox Virtual Machine. Set to custom value if enablePrivateNetworking is true.')
86
+
@description('Required when enablePrivateNetworking is true. Admin password for the Jumpbox VM. Must meet Azure complexity requirements (12+ chars, uppercase, lowercase, number, special char). Must be provided — no default for security.')
86
87
@secure()
87
88
//param vmAdminPassword string = newGuid()
88
89
paramvmAdminPasswordstring?
@@ -566,8 +567,8 @@ module virtualMachine 'br/public:avm/res/compute/virtual-machine:0.20.0' = if (e
0 commit comments