@@ -11,12 +11,18 @@ param location string
1111@description ('Id of the user or app to assign application roles' )
1212param principalId string = ''
1313
14+ @description ('SKU to use for App Service Plan' )
15+ param appServiceSku string
16+
1417var mongoClusterName = '${uniqueString (resourceGroup .id )}-mvcore'
1518var mongoAdminUser = 'admin${uniqueString (resourceGroup .id )}'
1619@secure ()
1720@description ('Mongo Server administrator password' )
1821param mongoAdminPassword string
1922
23+ @description ('SKU to use for Cosmos DB for MongoDB vCore Plan' )
24+ param mongoServiceSku string
25+
2026param openAIDeploymentName string = '${name }-openai'
2127param chatGptDeploymentName string = 'chat-gpt'
2228param chatGptDeploymentCapacity int = 30
@@ -109,7 +115,7 @@ module appServicePlan 'core/host/appserviceplan.bicep' = {
109115 location : location
110116 tags : tags
111117 sku : {
112- name : 'B1'
118+ name : appServiceSku
113119 }
114120 reserved : true
115121 }
@@ -126,19 +132,19 @@ module mongoCluster 'core/database/cosmos/mongo/cosmos-mongo-cluster.bicep' = {
126132 administratorLoginPassword : mongoAdminPassword
127133 storage : 32
128134 nodeCount : 1
129- sku : 'M25'
135+ sku : mongoServiceSku
130136 allowAzureIPsFirewall : true
131137 }
132138}
133139
134140module keyVaultSecrets './core/security/keyvault-secret.bicep' = {
135141 dependsOn : [ mongoCluster ]
136- name : 'keyvault-secret-mongo-connstr '
142+ name : 'keyvault-secret-mongo-password '
137143 scope : resourceGroup
138144 params : {
139- name : 'mongoConnectionStr '
145+ name : 'mongoAdminPassword '
140146 keyVaultName : keyVault .outputs .name
141- secretValue : replace ( replace ( mongoCluster . outputs . connectionStringKey , '<user>' , mongoAdminUser ), '<password>' , mongoAdminPassword )
147+ secretValue : mongoAdminPassword
142148 }
143149}
144150
@@ -157,15 +163,20 @@ module web 'core/host/appservice.bicep' = {
157163 scmDoBuildDuringDeployment : true
158164 ftpsState : 'Disabled'
159165 managedIdentity : true
166+ use32BitWorkerProcess : appServiceSku == 'F1'
167+ alwaysOn : appServiceSku != 'F1'
160168 appSettings : {
161169 AZURE_OPENAI_DEPLOYMENT_NAME : openAIDeploymentName
162170 AZURE_OPENAI_ENDPOINT : openAi .outputs .endpoint
163171 AZURE_OPENAI_CHAT_DEPLOYMENT_NAME : chatGptDeploymentName
164172 AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME : embeddingDeploymentName
165173 AZURE_OPENAI_API_KEY : '@Microsoft.KeyVault(VaultName=${keyVault .outputs .name };SecretName=cognitiveServiceKey)'
166- AZCOSMOS_CONNSTR : '@Microsoft.KeyVault(VaultName=${keyVault .outputs .name };SecretName=mongoConnectionStr)'
167- AZCOSMOS_DATABASE_NAME : 'sk_database'
168- AZCOSMOS_CONTAINER_NAME : 'sk_collection'
174+ AZURE_COSMOS_PASSWORD : '@Microsoft.KeyVault(VaultName=${keyVault .outputs .name };SecretName=mongoAdminPassword)'
175+ AZURE_COSMOS_CONNECTION_STRING : mongoCluster .outputs .connectionStringKey
176+ AZURE_COSMOS_USERNAME : mongoAdminUser
177+ AZURE_COSMOS_DATABASE_NAME : 'sk_database'
178+ AZURE_COSMOS_COLLECTION_NAME : 'sk_collection'
179+ AZURE_COSMOS_INDEX_NAME : 'sk_index'
169180 }
170181 }
171182}
0 commit comments