diff --git a/README.md b/README.md index 83985957..be09669b 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,8 @@ Quick deploy ### How to install or deploy Follow the quick deploy steps on the deployment guide to deploy this solution to your own Azure subscription. +> **Note:** This solution accelerator requires **Azure Developer CLI (azd) version 1.18.0 or higher**. Please ensure you have the latest version installed before proceeding with deployment. [Download azd here](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd). + [Click here to launch the deployment guide](./docs/DeploymentGuide.md)

diff --git a/azure.yaml b/azure.yaml index 851de4db..f8a7f360 100644 --- a/azure.yaml +++ b/azure.yaml @@ -3,7 +3,7 @@ name: build-your-own-copilot-solution-accelerator requiredVersions: - azd: ">= 1.15.0" + azd: ">= 1.18.0" metadata: template: build-your-own-copilot-solution-accelerator@1.0 diff --git a/docs/DeploymentGuide.md b/docs/DeploymentGuide.md index 449db6bf..496f0052 100644 --- a/docs/DeploymentGuide.md +++ b/docs/DeploymentGuide.md @@ -111,7 +111,7 @@ If you're not using one of the above options for opening the project, then you'l 1. Make sure the following tools are installed: - [PowerShell](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.5) (v7.0+) - available for Windows, macOS, and Linux. - - [Azure Developer CLI (azd)](https://aka.ms/install-azd) (v1.15.0+) - version + - [Azure Developer CLI (azd)](https://aka.ms/install-azd) (v1.18.0+) - version - [Python 3.9 to 3.11](https://www.python.org/downloads/) - [Docker Desktop](https://www.docker.com/products/docker-desktop/) - [Git](https://git-scm.com/downloads) @@ -213,6 +213,7 @@ Once you've opened the project in [Codespaces](#github-codespaces), [Dev Contain ```shell azd up ``` + > **Note:** This solution accelerator requires **Azure Developer CLI (azd) version 1.18.0 or higher**. Please ensure you have the latest version installed before proceeding with deployment. [Download azd here](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd). 3. Provide an `azd` environment name (e.g., "byocaapp"). 4. Select a subscription from your Azure account and choose a location that has quota for all the resources. diff --git a/infra/main.bicep b/infra/main.bicep index 30ec8b46..8cb0244b 100644 --- a/infra/main.bicep +++ b/infra/main.bicep @@ -53,9 +53,6 @@ param embeddingModel string = 'text-embedding-ada-002' @description('Optional. Capacity of the Embedding Model deployment') param embeddingDeploymentCapacity int = 80 -// @description('Fabric Workspace Id if you have one, else leave it empty. ') -// param fabricWorkspaceId string - //restricting to these regions because assistants api for gpt-4o-mini is available only in these regions @allowed([ 'australiaeast' @@ -68,8 +65,6 @@ param embeddingDeploymentCapacity int = 80 'westus' 'westus3' ]) -// @description('Azure OpenAI Location') -// param AzureOpenAILocation string = 'eastus2' @metadata({ azd: { type: 'location' @@ -174,12 +169,10 @@ param vmSize string? @description('Optional. Admin username for the Jumpbox Virtual Machine. Set to custom value if enablePrivateNetworking is true.') @secure() -//param vmAdminUsername string = take(newGuid(), 20) param vmAdminUsername string? @description('Optional. Admin password for the Jumpbox Virtual Machine. Set to custom value if enablePrivateNetworking is true.') @secure() -//param vmAdminPassword string = newGuid() param vmAdminPassword string? var functionAppSqlPrompt = '''Generate a valid T-SQL query to find {query} for tables and columns provided below: @@ -264,14 +257,6 @@ var cosmosDbHaLocation = cosmosDbZoneRedundantHaRegionPairs[resourceGroup().loca // Extracts subscription, resource group, and workspace name from the resource ID when using an existing Log Analytics workspace var useExistingLogAnalytics = !empty(existingLogAnalyticsWorkspaceId) -var existingLawSubscription = useExistingLogAnalytics ? split(existingLogAnalyticsWorkspaceId, '/')[2] : '' -var existingLawResourceGroup = useExistingLogAnalytics ? split(existingLogAnalyticsWorkspaceId, '/')[4] : '' -var existingLawName = useExistingLogAnalytics ? split(existingLogAnalyticsWorkspaceId, '/')[8] : '' - -resource existingLogAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' existing = if (useExistingLogAnalytics) { - name: existingLawName - scope: resourceGroup(existingLawSubscription, existingLawResourceGroup) -} var logAnalyticsWorkspaceResourceId = useExistingLogAnalytics ? existingLogAnalyticsWorkspaceId : logAnalyticsWorkspace!.outputs.resourceId diff --git a/infra/main.json b/infra/main.json index 7976c448..36c818f2 100644 --- a/infra/main.json +++ b/infra/main.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "0.37.4.10188", - "templateHash": "14524300692672359611" + "templateHash": "4964769336109788957" } }, "parameters": { @@ -258,9 +258,9 @@ }, "createdBy": { "type": "string", - "defaultValue": "[if(empty(deployer().userPrincipalName), '', split(deployer().userPrincipalName, '@')[0])]", + "defaultValue": "[if(contains(deployer(), 'userPrincipalName'), split(deployer().userPrincipalName, '@')[0], deployer().objectId)]", "metadata": { - "description": "Optional created by user name" + "description": "Tag, Created by user name" } } }, @@ -322,9 +322,6 @@ "allTags": "[union(createObject('azd-env-name', parameters('solutionName')), parameters('tags'))]", "cosmosDbHaLocation": "[variables('cosmosDbZoneRedundantHaRegionPairs')[resourceGroup().location]]", "useExistingLogAnalytics": "[not(empty(parameters('existingLogAnalyticsWorkspaceId')))]", - "existingLawSubscription": "[if(variables('useExistingLogAnalytics'), split(parameters('existingLogAnalyticsWorkspaceId'), '/')[2], '')]", - "existingLawResourceGroup": "[if(variables('useExistingLogAnalytics'), split(parameters('existingLogAnalyticsWorkspaceId'), '/')[4], '')]", - "existingLawName": "[if(variables('useExistingLogAnalytics'), split(parameters('existingLogAnalyticsWorkspaceId'), '/')[8], '')]", "logAnalyticsWorkspaceResourceName": "[format('log-{0}', variables('solutionSuffix'))]", "applicationInsightsResourceName": "[format('appi-{0}', variables('solutionSuffix'))]", "userAssignedIdentityResourceName": "[format('id-{0}', variables('solutionSuffix'))]", @@ -396,21 +393,12 @@ "aiSearchName": "[format('srch-{0}', variables('solutionSuffix'))]" }, "resources": { - "existingLogAnalyticsWorkspace": { - "condition": "[variables('useExistingLogAnalytics')]", - "existing": true, - "type": "Microsoft.OperationalInsights/workspaces", - "apiVersion": "2020-08-01", - "subscriptionId": "[variables('existingLawSubscription')]", - "resourceGroup": "[variables('existingLawResourceGroup')]", - "name": "[variables('existingLawName')]" - }, "resourceGroupTags": { "type": "Microsoft.Resources/tags", "apiVersion": "2021-04-01", "name": "default", "properties": { - "tags": "[shallowMerge(createArray(parameters('tags'), createObject('TemplateName', 'Client Advisor', 'CreatedBy', parameters('createdBy'))))]" + "tags": "[shallowMerge(createArray(parameters('tags'), createObject('TemplateName', 'Client Advisor', 'Type', if(parameters('enablePrivateNetworking'), 'WAF', 'Non-WAF'), 'CreatedBy', parameters('createdBy'))))]" } }, "existingAiFoundryAiServices": { @@ -32703,8 +32691,8 @@ }, "dependsOn": [ "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').openAI)]", - "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').cognitiveServices)]", "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').aiServices)]", + "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').cognitiveServices)]", "logAnalyticsWorkspace", "network", "userAssignedIdentity" @@ -42311,8 +42299,8 @@ } }, "dependsOn": [ - "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageBlob)]", "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageQueue)]", + "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageBlob)]", "keyvault", "network", "userAssignedIdentity"