{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "WebAppName": { "type": "string", "maxLength": 24, "minLength": 3, "metadata": { "description": "App name for Bold BI Server. The name must be between 3 and 24 characters long, and can contain only numbers and lowercase letters." } }, "appServicePlanSize": { "type": "string", "allowedValues": [ "P1V3_2Core_8GB_DEV", "P2V3_4Core_16GB_PROD", "P3V3_8Core_32GB_PROD" ], "defaultValue": "P1V3_2Core_8GB_DEV", "metadata": { "description": "The pricing tier size for the App Service Plan." } }, "storageAccountName": { "type": "string", "maxLength": 24, "minLength": 3, "metadata": { "description": "Storage account name for Bold BI Server. The name must be between 3 to 24 characters long, and can contain only numbers and lowercase letters." }, "defaultValue": "boldbistorage" }, "storageAccountType": { "type": "string", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_RAGRS" ], "metadata": { "description": "Type of the storage account created" }, "defaultValue": "Standard_LRS" } }, "variables": { "sizeMapping": { "P1V3_2Core_8GB_DEV": "P1v3", "P2V3_4Core_16GB_PROD": "P2v3", "P3V3_8Core_32GB_PROD": "P3v3" }, "WebAppSvcPlanWorkerSize": "0", "WebAppSvcPlanSKU": "PremiumV3", "WebAppSvcPlanName": "BoldBIAppSvcPlan", "WebAppSvcPlanSize": "[variables('sizeMapping')[parameters('appServicePlanSize')]]", "WebAppSvcPlanCapacity": 1 }, "resources": [ { "name": "[toLower(parameters('storageAccountName'))]", "type": "Microsoft.Storage/storageAccounts", "location": "[resourceGroup().location]", "apiVersion": "2022-05-01", "tags": { "displayName": "storageaccount" }, "sku": { "name": "[parameters('storageAccountType')]" }, "properties": {}, "dependsOn": [] }, { "name": "[variables('WebAppSvcPlanName')]", "type": "Microsoft.Web/serverfarms", "location": "[resourceGroup().location]", "apiVersion": "2022-03-01", "dependsOn": [ "[resourceId('Microsoft.Storage/storageAccounts', toLower(parameters('storageAccountName')))]" ], "tags": { "displayName": "AppSvcPlan" }, "sku": { "name": "[variables('WebAppSvcPlanSize')]", "tier": "[variables('WebAppSvcPlanSKU')]", "size": "[variables('WebAppSvcPlanSize')]", "capacity": "[variables('WebAppSvcPlanCapacity')]" }, "properties": { "reserved": false } }, { "name": "[parameters('WebAppName')]", "type": "Microsoft.Web/sites", "location": "[resourceGroup().location]", "apiVersion": "2022-03-01", "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms', variables('WebAppSvcPlanName'))]" ], "tags": { "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', variables('WebAppSvcPlanName'))]": "Resource", "displayName": "WebApp" }, "properties": { "name": "[parameters('WebAppName')]", "siteConfig": { "metadata": [ { "name": "CURRENT_STACK", "value": "dotnetcore" } ] }, "clientAffinityEnabled": false, "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('WebAppSvcPlanName'))]" }, "resources": [ { "name": "appsettings", "type": "config", "apiVersion": "2022-03-01", "dependsOn": [ "[resourceId('Microsoft.Web/sites', parameters('WebAppName'))]", "[resourceId('Microsoft.Storage/storageAccounts', toLower(parameters('storageAccountName')))]" ], "tags": { "displayName": "WebAppSettings" }, "properties": { "IdP:AzureBlobStorageAccountName": "[toLower(parameters('storageAccountName'))]", "IdP:AzureBlobServiceEndpoint": "[concat('https://', toLower(parameters('storageAccountName')), '.blob.core.windows.net/')]", "IdP:AzureBlobStorageAccessKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', toLower(parameters('storageAccountName'))), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]", "IdP:AzureBlobContainerName": "boldbicontainer", "IdP:AzureBlobConnectionType": "https", "IdP:AzureBlobStorageUri": "[concat('https://', toLower(parameters('storageAccountName')), '.blob.core.windows.net/')]", "IdP:StorageType": "AzureBlob", "StorageType": "AzureBlob", "IsAzureApplication": "true", "log4net.Config": "logs\\log4net.config", "WEBSITE_DYNAMIC_CACHE": "0", "WEBSITE_LOAD_USER_PROFILE": "1", "ApplicationUrl": "[concat('https://', parameters('WebAppName'), '.azurewebsites.net')]", "ServiceStartupOrder": "idp_web, idp_api, idp_ums, bi_web, bi_api, bi_jobs, bi_designer, etl_service, ai_service" } }, { "apiVersion": "2022-03-01", "name": "web", "type": "config", "dependsOn": [ "[resourceId('Microsoft.Web/sites', parameters('WebAppName'))]", "[resourceId('Microsoft.Web/sites/config', parameters('WebAppName'), 'appsettings')]" ], "tags": { "displayName": "WebAppConfig" }, "properties": { "netFrameworkVersion": "v8.0", "use32BitWorkerProcess": true, "webSocketsEnabled": true, "alwaysOn": true, "remoteDebuggingEnabled": false, "virtualApplications": [ { "virtualPath": "/", "physicalPath": "site\\wwwroot\\idp\\web" }, { "virtualPath": "/api", "physicalPath": "site\\wwwroot\\idp\\api" }, { "virtualPath": "/ums", "physicalPath": "site\\wwwroot\\idp\\ums" }, { "virtualPath": "/bi", "physicalPath": "site\\wwwroot\\bi\\web" }, { "virtualPath": "/bi/api", "physicalPath": "site\\wwwroot\\bi\\api" }, { "virtualPath": "/bi/jobs", "physicalPath": "site\\wwwroot\\bi\\jobs" }, { "virtualPath": "/bi/designer", "physicalPath": "site\\wwwroot\\bi\\dataservice" }, { "virtualPath": "/etlservice", "physicalPath": "site\\wwwroot\\etl\\etlservice" }, { "virtualPath": "/aiservice", "physicalPath": "site\\wwwroot\\ai\\aiservice" } ], "http20Enabled": true } }, { "apiVersion": "2022-03-01", "name": "web", "type": "sourcecontrols", "dependsOn": [ "[resourceId('Microsoft.Web/sites', parameters('WebAppName'))]", "[resourceId('Microsoft.Web/sites/config', parameters('WebAppName'), 'appsettings')]", "[resourceId('Microsoft.Web/sites/config', parameters('WebAppName'), 'web')]" ], "properties": { "RepoUrl": "https://github.com/boldbi/azure-arm-template.git", "branch": "latest", "IsManualIntegration": true } } ] } ] }