Skip to content

Commit 0c4e9de

Browse files
Merge pull request #145 from microsoft/exp-changes
feat: EXP environment changes for Log Analytics workspace
2 parents 540e172 + 9ba6f4a commit 0c4e9de

File tree

6 files changed

+28
-3
lines changed

6 files changed

+28
-3
lines changed

docs/CustomizingAzdParameters.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,9 @@ azd env set AZURE_ENV_MODEL_CAPACITY '30'
3434
Change if the deployment should use a local build of the containers
3535
```shell
3636
azd env set USE_LOCAL_BUILD 'false'
37+
```
38+
39+
Set the Log Analytics Workspace Id if you need to reuse the existing workspace which is already existing
40+
```shell
41+
azd env set AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID '<Existing Log Analytics Workspace Id>'
3742
```

docs/DeploymentGuide.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ When you start the deployment, most parameters will have **default values**, but
119119
| **Deployment Type** | Select from a drop-down list. | GlobalStandard |
120120
| **GPT Model** | Choose from **gpt-4o**. | gpt-4o |
121121
| **GPT Model Deployment Capacity** | Configure capacity for **GPT models**. | 30k |
122+
| **Existing Log analytics workspace** | To reuse the existing Log analytics workspace Id. | |
122123

123124
</details>
124125

infra/container_app/deploy_container_app_env.bicep

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ param containerEnvName string
33
param location string
44

55
param logAnalyticsWorkspaceName string
6+
param logAnalyticsWorkspaceResourceGroup string
67

78
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2023-09-01' existing = {
89
name: logAnalyticsWorkspaceName
10+
scope: resourceGroup(logAnalyticsWorkspaceResourceGroup)
911
}
1012

1113
resource containerRegistryReader 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {

infra/deploy_app_insights.bicep

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,18 @@ targetScope = 'resourceGroup'
22

33
param applicationInsightsName string
44
param logAnalyticsWorkspaceName string
5+
param existingLogAnalyticsWorkspaceId string = ''
56

6-
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2023-09-01' = {
7+
var useExisting = !empty(existingLogAnalyticsWorkspaceId)
8+
var existingLawResourceGroup = useExisting ? split(existingLogAnalyticsWorkspaceId, '/')[4] : ''
9+
var existingLawName = useExisting ? split(existingLogAnalyticsWorkspaceId, '/')[8] : ''
10+
11+
resource existingLogAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' existing = if (useExisting) {
12+
name: existingLawName
13+
scope: resourceGroup(existingLawResourceGroup)
14+
}
15+
16+
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2023-09-01' = if (!useExisting) {
717
name: logAnalyticsWorkspaceName
818
location: resourceGroup().location
919
properties: any({
@@ -32,9 +42,10 @@ resource applicationInsights 'Microsoft.Insights/components@2020-02-02' = {
3242
publicNetworkAccessForIngestion: 'Enabled'
3343
publicNetworkAccessForQuery: 'Disabled'
3444
Request_Source: 'rest'
35-
WorkspaceResourceId: logAnalyticsWorkspace.id
45+
WorkspaceResourceId: useExisting ? existingLogAnalyticsWorkspace.id : logAnalyticsWorkspace.id
3646
}
3747
}
3848

3949
output id string = applicationInsights.id
40-
output logAnalyticsWorkspaceName string = logAnalyticsWorkspace.name
50+
output logAnalyticsWorkspaceName string = useExisting ? existingLogAnalyticsWorkspace.name : logAnalyticsWorkspace.name
51+
output logAnalyticsWorkspaceResourceGroup string = useExisting ? existingLawResourceGroup : resourceGroup().name

infra/main.bicep

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ param maxReplicaContainerWeb int = 1
7575
@description('Set this flag to true only if you are deplpoying from Local')
7676
param useLocalBuild string = 'false'
7777

78+
@description('Optional: Existing Log Analytics Workspace Resource ID')
79+
param existingLogAnalyticsWorkspaceId string = ''
80+
7881
var containerImageEndPoint = 'cpscontainerreg.azurecr.io'
7982
var resourceGroupLocation = resourceGroup().location
8083

@@ -110,6 +113,7 @@ module kvault 'deploy_keyvault.bicep' = {
110113
module applicationInsights 'deploy_app_insights.bicep' = {
111114
name: 'deploy_app_insights'
112115
params: {
116+
existingLogAnalyticsWorkspaceId: existingLogAnalyticsWorkspaceId
113117
applicationInsightsName: '${abbrs.managementGovernance.applicationInsights}${solutionPrefix}'
114118
logAnalyticsWorkspaceName: '${abbrs.managementGovernance.logAnalyticsWorkspace}${solutionPrefix}'
115119
}
@@ -159,6 +163,7 @@ module containerAppEnv './container_app/deploy_container_app_env.bicep' = {
159163
containerEnvName: '${abbrs.containers.containerAppsEnvironment}${solutionPrefix}'
160164
location: secondaryLocation
161165
logAnalyticsWorkspaceName: applicationInsights.outputs.logAnalyticsWorkspaceName
166+
logAnalyticsWorkspaceResourceGroup: applicationInsights.outputs.logAnalyticsWorkspaceResourceGroup
162167
}
163168
}
164169

infra/main.bicepparam

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ param deploymentType = readEnvironmentVariable('AZURE_ENV_MODEL_DEPLOYMENT_TYPE'
66
param gptModelName = readEnvironmentVariable('AZURE_ENV_MODEL_NAME', 'gpt-4o')
77
param gptDeploymentCapacity = int(readEnvironmentVariable('AZURE_ENV_MODEL_CAPACITY', '30'))
88
param useLocalBuild = readEnvironmentVariable('USE_LOCAL_BUILD', 'false')
9+
param existingLogAnalyticsWorkspaceId = readEnvironmentVariable('AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID', '')

0 commit comments

Comments
 (0)