From 7fd97d588a4fa89cc8557e46e675f9bbfa7a4943 Mon Sep 17 00:00:00 2001 From: Sten Storgaard Date: Thu, 28 Nov 2019 10:02:37 +0100 Subject: [PATCH] Added support for SXP 9.3.0 --- Sitecore 9.3.0/XDB/README.md | 71 + Sitecore 9.3.0/XDB/addons/bootloader.json | 79 + Sitecore 9.3.0/XDB/addons/generic.json | 137 ++ Sitecore 9.3.0/XDB/azuredeploy.json | 1604 ++++++++++++ .../XDB/azuredeploy.parameters.json | 78 + .../nested/application-cortex-prc-rep.json | 308 +++ Sitecore 9.3.0/XDB/nested/application-ma.json | 313 +++ .../XDB/nested/application-xc-search-as.json | 236 ++ .../nested/application-xc-search-solr.json | 237 ++ Sitecore 9.3.0/XDB/nested/application-xc.json | 570 +++++ Sitecore 9.3.0/XDB/nested/application.json | 341 +++ Sitecore 9.3.0/XDB/nested/emptyAddon.json | 15 + .../XDB/nested/infrastructure-asb.json | 193 ++ .../nested/infrastructure-cortex-prc-rep.json | 326 +++ .../XDB/nested/infrastructure-ma.json | 199 ++ .../XDB/nested/infrastructure-xc.json | 560 +++++ Sitecore 9.3.0/XDB/nested/infrastructure.json | 758 ++++++ Sitecore 9.3.0/XDBSingle/README.md | 56 + .../XDBSingle/addons/bootloader.json | 84 + Sitecore 9.3.0/XDBSingle/addons/generic.json | 118 + Sitecore 9.3.0/XDBSingle/azuredeploy.json | 1210 +++++++++ .../XDBSingle/azuredeploy.parameters.json | 54 + .../XDBSingle/nested/application-xc-as.json | 363 +++ .../XDBSingle/nested/application-xc-solr.json | 361 +++ .../XDBSingle/nested/application-xc.json | 607 +++++ .../XDBSingle/nested/application.json | 270 ++ .../XDBSingle/nested/emptyAddon.json | 15 + .../XDBSingle/nested/infrastructure-asb.json | 193 ++ .../XDBSingle/nested/infrastructure-xc.json | 413 ++++ .../XDBSingle/nested/infrastructure.json | 468 ++++ Sitecore 9.3.0/XM/README.md | 61 + Sitecore 9.3.0/XM/addons/bootloader.json | 80 + Sitecore 9.3.0/XM/addons/generic.json | 137 ++ Sitecore 9.3.0/XM/azuredeploy.json | 701 ++++++ Sitecore 9.3.0/XM/azuredeploy.parameters.json | 36 + Sitecore 9.3.0/XM/nested/application.json | 389 +++ Sitecore 9.3.0/XM/nested/emptyAddon.json | 15 + Sitecore 9.3.0/XM/nested/infrastructure.json | 904 +++++++ Sitecore 9.3.0/XMSingle/README.md | 50 + .../XMSingle/addons/bootloader.json | 61 + Sitecore 9.3.0/XMSingle/addons/generic.json | 110 + Sitecore 9.3.0/XMSingle/azuredeploy.json | 682 ++++++ .../XMSingle/azuredeploy.parameters.json | 36 + .../XMSingle/nested/application.json | 320 +++ .../XMSingle/nested/emptyAddon.json | 15 + .../XMSingle/nested/infrastructure.json | 506 ++++ Sitecore 9.3.0/XP/README.md | 76 + Sitecore 9.3.0/XP/addons/bootloader.json | 122 + Sitecore 9.3.0/XP/addons/generic.json | 208 ++ Sitecore 9.3.0/XP/azuredeploy.json | 2165 +++++++++++++++++ Sitecore 9.3.0/XP/azuredeploy.parameters.json | 87 + .../XP/nested/application-cortex-prc-rep.json | 308 +++ Sitecore 9.3.0/XP/nested/application-exm.json | 451 ++++ Sitecore 9.3.0/XP/nested/application-ma.json | 311 +++ .../XP/nested/application-xc-search-as.json | 236 ++ .../XP/nested/application-xc-search-solr.json | 237 ++ Sitecore 9.3.0/XP/nested/application-xc.json | 572 +++++ Sitecore 9.3.0/XP/nested/application.json | 744 ++++++ Sitecore 9.3.0/XP/nested/emptyAddon.json | 15 + .../XP/nested/infrastructure-asb.json | 193 ++ .../nested/infrastructure-cortex-prc-rep.json | 326 +++ .../XP/nested/infrastructure-exm.json | 166 ++ .../XP/nested/infrastructure-ma.json | 198 ++ .../XP/nested/infrastructure-xc.json | 560 +++++ Sitecore 9.3.0/XP/nested/infrastructure.json | 1299 ++++++++++ Sitecore 9.3.0/XPSingle/README.md | 57 + .../XPSingle/addons/bootloader.json | 84 + Sitecore 9.3.0/XPSingle/addons/generic.json | 118 + Sitecore 9.3.0/XPSingle/azuredeploy.json | 1375 +++++++++++ .../XPSingle/azuredeploy.parameters.json | 57 + .../XPSingle/nested/application-xc-as.json | 363 +++ .../XPSingle/nested/application-xc-solr.json | 363 +++ .../XPSingle/nested/application-xc.json | 605 +++++ .../XPSingle/nested/application.json | 464 ++++ .../XPSingle/nested/emptyAddon.json | 15 + .../XPSingle/nested/infrastructure-asb.json | 193 ++ .../XPSingle/nested/infrastructure-xc.json | 413 ++++ .../XPSingle/nested/infrastructure.json | 616 +++++ 78 files changed, 27337 insertions(+) create mode 100644 Sitecore 9.3.0/XDB/README.md create mode 100644 Sitecore 9.3.0/XDB/addons/bootloader.json create mode 100644 Sitecore 9.3.0/XDB/addons/generic.json create mode 100644 Sitecore 9.3.0/XDB/azuredeploy.json create mode 100644 Sitecore 9.3.0/XDB/azuredeploy.parameters.json create mode 100644 Sitecore 9.3.0/XDB/nested/application-cortex-prc-rep.json create mode 100644 Sitecore 9.3.0/XDB/nested/application-ma.json create mode 100644 Sitecore 9.3.0/XDB/nested/application-xc-search-as.json create mode 100644 Sitecore 9.3.0/XDB/nested/application-xc-search-solr.json create mode 100644 Sitecore 9.3.0/XDB/nested/application-xc.json create mode 100644 Sitecore 9.3.0/XDB/nested/application.json create mode 100644 Sitecore 9.3.0/XDB/nested/emptyAddon.json create mode 100644 Sitecore 9.3.0/XDB/nested/infrastructure-asb.json create mode 100644 Sitecore 9.3.0/XDB/nested/infrastructure-cortex-prc-rep.json create mode 100644 Sitecore 9.3.0/XDB/nested/infrastructure-ma.json create mode 100644 Sitecore 9.3.0/XDB/nested/infrastructure-xc.json create mode 100644 Sitecore 9.3.0/XDB/nested/infrastructure.json create mode 100644 Sitecore 9.3.0/XDBSingle/README.md create mode 100644 Sitecore 9.3.0/XDBSingle/addons/bootloader.json create mode 100644 Sitecore 9.3.0/XDBSingle/addons/generic.json create mode 100644 Sitecore 9.3.0/XDBSingle/azuredeploy.json create mode 100644 Sitecore 9.3.0/XDBSingle/azuredeploy.parameters.json create mode 100644 Sitecore 9.3.0/XDBSingle/nested/application-xc-as.json create mode 100644 Sitecore 9.3.0/XDBSingle/nested/application-xc-solr.json create mode 100644 Sitecore 9.3.0/XDBSingle/nested/application-xc.json create mode 100644 Sitecore 9.3.0/XDBSingle/nested/application.json create mode 100644 Sitecore 9.3.0/XDBSingle/nested/emptyAddon.json create mode 100644 Sitecore 9.3.0/XDBSingle/nested/infrastructure-asb.json create mode 100644 Sitecore 9.3.0/XDBSingle/nested/infrastructure-xc.json create mode 100644 Sitecore 9.3.0/XDBSingle/nested/infrastructure.json create mode 100644 Sitecore 9.3.0/XM/README.md create mode 100644 Sitecore 9.3.0/XM/addons/bootloader.json create mode 100644 Sitecore 9.3.0/XM/addons/generic.json create mode 100644 Sitecore 9.3.0/XM/azuredeploy.json create mode 100644 Sitecore 9.3.0/XM/azuredeploy.parameters.json create mode 100644 Sitecore 9.3.0/XM/nested/application.json create mode 100644 Sitecore 9.3.0/XM/nested/emptyAddon.json create mode 100644 Sitecore 9.3.0/XM/nested/infrastructure.json create mode 100644 Sitecore 9.3.0/XMSingle/README.md create mode 100644 Sitecore 9.3.0/XMSingle/addons/bootloader.json create mode 100644 Sitecore 9.3.0/XMSingle/addons/generic.json create mode 100644 Sitecore 9.3.0/XMSingle/azuredeploy.json create mode 100644 Sitecore 9.3.0/XMSingle/azuredeploy.parameters.json create mode 100644 Sitecore 9.3.0/XMSingle/nested/application.json create mode 100644 Sitecore 9.3.0/XMSingle/nested/emptyAddon.json create mode 100644 Sitecore 9.3.0/XMSingle/nested/infrastructure.json create mode 100644 Sitecore 9.3.0/XP/README.md create mode 100644 Sitecore 9.3.0/XP/addons/bootloader.json create mode 100644 Sitecore 9.3.0/XP/addons/generic.json create mode 100644 Sitecore 9.3.0/XP/azuredeploy.json create mode 100644 Sitecore 9.3.0/XP/azuredeploy.parameters.json create mode 100644 Sitecore 9.3.0/XP/nested/application-cortex-prc-rep.json create mode 100644 Sitecore 9.3.0/XP/nested/application-exm.json create mode 100644 Sitecore 9.3.0/XP/nested/application-ma.json create mode 100644 Sitecore 9.3.0/XP/nested/application-xc-search-as.json create mode 100644 Sitecore 9.3.0/XP/nested/application-xc-search-solr.json create mode 100644 Sitecore 9.3.0/XP/nested/application-xc.json create mode 100644 Sitecore 9.3.0/XP/nested/application.json create mode 100644 Sitecore 9.3.0/XP/nested/emptyAddon.json create mode 100644 Sitecore 9.3.0/XP/nested/infrastructure-asb.json create mode 100644 Sitecore 9.3.0/XP/nested/infrastructure-cortex-prc-rep.json create mode 100644 Sitecore 9.3.0/XP/nested/infrastructure-exm.json create mode 100644 Sitecore 9.3.0/XP/nested/infrastructure-ma.json create mode 100644 Sitecore 9.3.0/XP/nested/infrastructure-xc.json create mode 100644 Sitecore 9.3.0/XP/nested/infrastructure.json create mode 100644 Sitecore 9.3.0/XPSingle/README.md create mode 100644 Sitecore 9.3.0/XPSingle/addons/bootloader.json create mode 100644 Sitecore 9.3.0/XPSingle/addons/generic.json create mode 100644 Sitecore 9.3.0/XPSingle/azuredeploy.json create mode 100644 Sitecore 9.3.0/XPSingle/azuredeploy.parameters.json create mode 100644 Sitecore 9.3.0/XPSingle/nested/application-xc-as.json create mode 100644 Sitecore 9.3.0/XPSingle/nested/application-xc-solr.json create mode 100644 Sitecore 9.3.0/XPSingle/nested/application-xc.json create mode 100644 Sitecore 9.3.0/XPSingle/nested/application.json create mode 100644 Sitecore 9.3.0/XPSingle/nested/emptyAddon.json create mode 100644 Sitecore 9.3.0/XPSingle/nested/infrastructure-asb.json create mode 100644 Sitecore 9.3.0/XPSingle/nested/infrastructure-xc.json create mode 100644 Sitecore 9.3.0/XPSingle/nested/infrastructure.json diff --git a/Sitecore 9.3.0/XDB/README.md b/Sitecore 9.3.0/XDB/README.md new file mode 100644 index 00000000..2b753003 --- /dev/null +++ b/Sitecore 9.3.0/XDB/README.md @@ -0,0 +1,71 @@ +# Sitecore XDB Environment + +Visualize: +[Infrastructure](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxdb%2Fnested%2Finfrastructure.json), +[Application deployment](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxdb%2Fnested%2Fapplication.json) + +This template creates a Sitecore XDB Environment with all resources necessary to run Sitecore Experience Database. + +Resources provisioned: + + * Azure SQL databases : core, master, web, reporting, pools, tasks, refdata, smm, shard0, shard1, ma + * Sitecore roles: Processing, Reporting + * Hosting plans: one per role + * Preconfigured Web Applications, based on the provided WebDeploy packages + * XConnect services: Search, Collection, Reference data, Marketing Automation, Marketing Automation Reporting + * Hosting plans: XConnect Basic, XConnect Resource Intensive + * Preconfigured Web Applications, based on the provided WebDeploy packages + * Azure Search Service + * (optional) Application Insights for diagnostics and monitoring + +## Parameters + +The **deploymentId** and **licenseXml** parameters in azuredeploy.parameters.json are to be filled in by the PowerShell script using **Name** and **LicenseXmlPath** parameters respectively. + +|Parameter | Description +|-------------------------------------------|--------------------------------------------------------------------------------------------- +| location | The geographical region of the current deployment. +| sqlServerLogin | The name of the administrator account for Azure SQL server that will be created. +| sqlServerPassword | The password for the administrator account for Azure SQL server. +| sitecoreAdminPassword | The new password for the Sitecore **admin** account. +| repAuthenticationApiKey | A unique value (e.g. a GUID) that will be used as authentication key for communication between Content Management and the Reporting Web App. **Note: The minimal required length is 32 symbols** +| prcMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XDB Processing Web Deploy package. +| repMsDeployPackageUrl | The HTTP(s) URLl to a Sitecore XDB Reporting Web Deploy package. +| xcRefDataMsDeployPackageUrl | The HTTP(s) URL to a XConnect Reference Data service Web Deploy package. +| xcCollectMsDeployPackageUrl | The HTTP(s) URL to a XConnect Collection service Web Deploy package. +| xcSearchMsDeployPackageUrl | The HTTP(s) URL to a XConnect Search service Web Deploy package. +| maOpsMsDeployPackageUrl | The HTTP(s) URL to a Marketing Automation service Web Deploy package. +| maRepMsDeployPackageUrl | The HTTP(s) URL to a Marketing Automation Reporting service Web Deploy package. +| cortexProcessingMsDeployPackageUrl | The HTTP(s) URL to a Cortex Processing service Web Deploy package. +| cortexReportingMsDeployPackageUrl | The HTTP(s) URL to a Cortex Reporting service Web Deploy package. +| authCertificateBlob | A Base64-encoded blob of the authentication certificate in PKCS #12 format. +| authCertificatePassword | A password to the authentication certificate. + +> **Note:** +> * The **searchServiceLocation** parameter can be added to the `azuredeploy.parameters.json` +> to specify geographical region to deploy Azure Search Service. Default value is the resource +> group location. +> * The **applicationInsightsLocation** parameter can be added to the`azuredeploy.parameters.json` +> to specify geographical region to deploy Application Insights. Default value is **East US**. +> * The **useApplicationInsights** parameter can be added to the`azuredeploy.parameters.json` +> to control whether Application Insights will be used for diagnostics and monitoring. Default value is **true**. + +## Deploying with Solr Search + +> Sitecore Solr PaaS deployment requires the following parameters to be specified in `azuredeploy.parameters.json`: + +| Parameter | Description +--------------------------------------------|------------------------------------------------ +| xcSolrConnectionString | Connection string to existing Solr server that will be passed to XConnect Roles. +| xcSearchMsDeployPackageUrl | The HTTP(s) URL to a **Solr XConnect Search** Web Deploy package. + +> **xcSolrConnectionString** parameter is used to identify whether Solr search provider is to be used for the deployment or not. +> The default value is empty which means that Azure Search will be used. + +## Deploying with App Service Environment v2 +> **Note**: Application Service Environment is not provisioned as part of this deployment template. Please reffer to official [documentation](https://docs.microsoft.com/en-us/azure/app-service/environment/intro) for information about ASE deployment and configuration. + +| Parameter | Description +--------------------------------------------|------------------------------------------------ +| aseName | Name of deployed App Service Environment +| aseResourceGroupName | Resource group where App Service Environment is deployed. Provide this value if ASE is hosted in different resouce group \ No newline at end of file diff --git a/Sitecore 9.3.0/XDB/addons/bootloader.json b/Sitecore 9.3.0/XDB/addons/bootloader.json new file mode 100644 index 00000000..6ef06486 --- /dev/null +++ b/Sitecore 9.3.0/XDB/addons/bootloader.json @@ -0,0 +1,79 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "prcWebAppNameTidy": "[toLower(trim(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[toLower(trim(parameters('repWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "deploymentId": null, + "location": null, + "prcWebAppName": null, + "repWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": {} + }, + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + + "prcWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').prcWebAppName, concat(parameters('deploymentId'), '-prc'))]" + }, + "repWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').repWebAppName, concat(parameters('deploymentId'), '-rep'))]" + }, + "msDeployPackageUrl": { + "type": "securestring", + "defaultValue": "[parameters('extension').msDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('prcWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('repWebAppNameTidy')]" + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDB/addons/generic.json b/Sitecore 9.3.0/XDB/addons/generic.json new file mode 100644 index 00000000..4c337787 --- /dev/null +++ b/Sitecore 9.3.0/XDB/addons/generic.json @@ -0,0 +1,137 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + + "masterSqlDatabaseNameTidy": "[trim(toLower(parameters('masterSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[trim(toLower(parameters('reportingSqlDatabaseName')))]", + + "prcWebAppNameTidy": "[trim(toLower(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[trim(toLower(parameters('repWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "infrastructure": { "sqlServerFqdn":null }, + "deploymentId": null, + "location": null, + "sqlServerLogin": null, + "sqlServerPassword": null, + "masterSqlDatabaseName": null, + "reportingSqlDatabaseName": null, + "prcWebAppName": null, + "repWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "prcMsDeployPackageUrl": null, + "repMsDeployPackageUrl": null + } + }, + "infrastructure": { + "type": "secureObject", + "defaultValue": "[parameters('standard').infrastructure]" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('standard').sqlServerLogin]" + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[parameters('standard').sqlServerPassword]" + }, + + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').masterSqlDatabaseName, concat(parameters('deploymentId'), '-master-db'))]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').reportingSqlDatabaseName, concat(parameters('deploymentId'), '-reporting-db'))]" + }, + + "prcWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').prcWebAppName, concat(parameters('deploymentId'), '-prc'))]" + }, + "repWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').repWebAppName, concat(parameters('deploymentId'), '-rep'))]" + }, + + "prcMsDeployPackageUrl": { + "type": "securestring", + "defaultValue": "[parameters('extension').prcMsDeployPackageUrl]" + }, + "repMsDeployPackageUrl": { + "type": "securestring", + "defaultValue": "[parameters('extension').repMsDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('prcMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('prcWebAppNameTidy')]", + "Reporting Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('repMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('repWebAppNameTidy')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + } + ] +} diff --git a/Sitecore 9.3.0/XDB/azuredeploy.json b/Sitecore 9.3.0/XDB/azuredeploy.json new file mode 100644 index 00000000..e2d7e95d --- /dev/null +++ b/Sitecore 9.3.0/XDB/azuredeploy.json @@ -0,0 +1,1604 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2018-05-01", + "defaultDependency": [ + { + "name": "application" + } + ], + "dependencies": "[concat(variables('defaultDependency'), parameters('modules').items)]", + "asbInfrastructureTemplate": "[concat(parameters('deploymentId'), '-infrastructure-asb')]" + }, + "parameters": { + "modules": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + "prerequisites": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty-prerequisite", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + + "templateLinkBase": { + "type": "string", + "minLength": 1, + "defaultValue": "[uri(replace(json(string(deployment().properties.templateLink)).uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + "repAuthenticationApiKey": { + "type": "securestring", + "minLength": 32 + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "tasksSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "tasksuser" + }, + "tasksSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('tasks', parameters('passwordSalt'))), uniqueString('tasks', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('tasks', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "xcSolrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "[if(parameters('storeSitecoreCountersInApplicationInsights'), 'ApplicationInsights', 'Disable')]" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + + "prcHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc-hp')]" + }, + "repHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep-hp')]" + }, + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + "xcResourceIntensiveHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-resourceintensive-hp')]" + }, + + "prcWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc')]" + }, + "repWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep')]" + }, + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + "cortexProcessingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-processing')]" + }, + "cortexReportingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-reporting')]" + }, + + "prcMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "repMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "xcRefDataMsDeployPackageUrl": { + "type": "securestring" + }, + "xcCollectMsDeployPackageUrl": { + "type": "securestring" + }, + "xcSearchMsDeployPackageUrl": { + "type": "securestring" + }, + "maOpsMsDeployPackageUrl": { + "type": "securestring" + }, + "maRepMsDeployPackageUrl": { + "type": "securestring" + }, + "cortexProcessingMsDeployPackageUrl": { + "type": "securestring" + }, + "cortexReportingMsDeployPackageUrl": { + "type": "securestring" + }, + + "securityClientIp": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + "securityClientIpMask": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1, + "defaultValue": "" + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1, + "defaultValue": "" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + "aseName": { + "type": "string", + "defaultValue": "" + }, + "aseResourceGroupName": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + + "azureServiceBusQueues": { + "type": "array", + "defaultValue": [ + "error", + "Sitecore_CT_ModelTrainingTaskStatusSubscriber", + "Sitecore_EXM_AutomatedMessagesQueue", + "Sitecore_EXM_ClearSuppressionListQueue", + "Sitecore_EXM_ConfirmSubscriptionMessagesQueue", + "Sitecore_EXM_EmailAddressHistoryMessagesQueue", + "Sitecore_EXM_EmailOpenedMessagesQueue", + "Sitecore_EXM_SentMessagesQueue", + "Sitecore_EXM_UpdateListSubscriptionMessagesQueue", + "Sitecore_MA_PurgeFromCampaignMessages", + "Sitecore_PE_TaskRegistrationProducer", + "Sitecore_PE_TaskProgressProducer", + "Sitecore_PE_TaskStatusPublisher", + "Sitecore_PE_TaskRegistrationConsumer", + "Sitecore_PE_TaskProgressConsumer" + ] + }, + "azureServiceBusTopics": { + "type": "array", + "defaultValue": [ + "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions" + ] + }, + "azureServiceBusSubscriptions": { + "type": "array", + "defaultValue": [ + { + "topic": "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions", + "subscription": "Sitecore_CT_ModelTrainingTaskStatusSubscriber" + } + ] + }, + "azureServiceBusSkuName": { + "type": "string", + "defaultValue": "standard" + }, + "azureServiceBusManageSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootManageSharedAccessKey" + }, + "azureServiceBusSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootSharedAccessKey" + }, + "azureServiceBusNamespaceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-asb')]" + } + }, + "resources": [ + { + "copy": { + "name": "[concat(parameters('deploymentId'), '-prerequisites')]", + "count": "[length(parameters('prerequisites').items)]", + "mode": "Serial", + "batchSize": 1 + }, + "name": "[concat(parameters('deploymentId'), '-', parameters('prerequisites').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('prerequisites').items[copyIndex()].templateLink]" + }, + "parameters": "[parameters('prerequisites').items[copyIndex()].parameters]" + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-asb')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-asb.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "azureServiceBusQueues": { + "value": "[parameters('azureServiceBusQueues')]" + }, + "azureServiceBusTopics": { + "value": "[parameters('azureServiceBusTopics')]" + }, + "azureServiceBusSubscriptions": { + "value": "[parameters('azureServiceBusSubscriptions')]" + }, + "azureServiceBusSkuName": { + "value": "[parameters('azureServiceBusSkuName')]" + }, + "azureServiceBusManageSharedAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "azureServiceBusSharedAccessKeyName": { + "value": "[parameters('azureServiceBusSharedAccessKeyName')]" + }, + "azureServiceBusNamespaceName": { + "value": "[parameters('azureServiceBusNamespaceName')]" + } + } + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "sqlServerVersion": { + "value": "[parameters('sqlServerVersion')]" + }, + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "tasksSqlDatabaseName": { + "value": "[parameters('tasksSqlDatabaseName')]" + }, + + "deployAzureSearch": { + "value": "[empty(parameters('xcSolrConnectionString'))]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "searchServiceLocation": { + "value": "[parameters('searchServiceLocation')]" + }, + "searchServiceReplicaCount": { + "value": "[parameters('searchServiceReplicaCount')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "applicationInsightsLocation": { + "value": "[parameters('applicationInsightsLocation')]" + }, + "applicationInsightsPricePlan": { + "value": "[parameters('applicationInsightsPricePlan')]" + }, + + "prcHostingPlanName": { + "value": "[parameters('prcHostingPlanName')]" + }, + "repHostingPlanName": { + "value": "[parameters('repHostingPlanName')]" + }, + + "prcWebAppName": { + "value": "[parameters('prcWebAppName')]" + }, + "repWebAppName": { + "value": "[parameters('repWebAppName')]" + }, + "authCertificateName": { + "value": "[parameters('authCertificateName')]" + }, + "authCertificateBlob": { + "value": "[parameters('authCertificateBlob')]" + }, + "authCertificatePassword": { + "value": "[parameters('authCertificatePassword')]" + }, + + "aseName": { + "value": "[parameters('aseName')]" + }, + "aseResourceGroupName": { + "value": "[parameters('aseResourceGroupName')]" + } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-prerequisites')]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-xc')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-xc.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + + "xcBasicHostingPlanName": { + "value": "[parameters('xcBasicHostingPlanName')]" + }, + "xcResourceIntensiveHostingPlanName": { + "value": "[parameters('xcResourceIntensiveHostingPlanName')]" + }, + + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + + "aseName": { + "value": "[parameters('aseName')]" + }, + "aseResourceGroupName":{ + "value": "[parameters('aseResourceGroupName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-ma')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-ma.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + + "xcBasicHostingPlanName": { + "value": "[parameters('xcBasicHostingPlanName')]" + }, + + "maOpsWebAppName": { + "value": "[parameters('maOpsWebAppName')]" + }, + "maRepWebAppName": { + "value": "[parameters('maRepWebAppName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments',concat(parameters('deploymentId'), '-infrastructure-xc'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-cortex-prc-rep')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-cortex-prc-rep.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + + "xcBasicHostingPlanName": { + "value": "[parameters('xcBasicHostingPlanName')]" + }, + "xcResourceIntensiveHostingPlanName": { + "value": "[parameters('xcResourceIntensiveHostingPlanName')]" + }, + + "cortexProcessingWebAppName": { + "value": "[parameters('cortexProcessingWebAppName')]" + }, + "cortexReportingWebAppName": { + "value": "[parameters('cortexReportingWebAppName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments',concat(parameters('deploymentId'), '-infrastructure-xc'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + "repAuthenticationApiKey": { + "value": "[parameters('repAuthenticationApiKey')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "securitySqlDatabaseName": { + "value": "[parameters('securitySqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "tasksSqlDatabaseName": { + "value": "[parameters('tasksSqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + + "coreSqlDatabaseUserName": { + "value": "[parameters('coreSqlDatabaseUserName')]" + }, + "coreSqlDatabasePassword": { + "value": "[parameters('coreSqlDatabasePassword')]" + }, + "securitySqlDatabaseUserName": { + "value": "[parameters('securitySqlDatabaseUserName')]" + }, + "securitySqlDatabasePassword": { + "value": "[parameters('securitySqlDatabasePassword')]" + }, + "masterSqlDatabaseUserName": { + "value": "[parameters('masterSqlDatabaseUserName')]" + }, + "masterSqlDatabasePassword": { + "value": "[parameters('masterSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "tasksSqlDatabaseUserName": { + "value": "[parameters('tasksSqlDatabaseUserName')]" + }, + "tasksSqlDatabasePassword": { + "value": "[parameters('tasksSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "value": "[parameters('storeSitecoreCountersInApplicationInsights')]" + }, + + "prcWebAppName": { + "value": "[parameters('prcWebAppName')]" + }, + "repWebAppName": { + "value": "[parameters('repWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + + "prcMsDeployPackageUrl": { + "value": "[parameters('prcMsDeployPackageUrl')]" + }, + "repMsDeployPackageUrl": { + "value": "[parameters('repMsDeployPackageUrl')]" + }, + "securityClientIp": { + "value": "[parameters('securityClientIp')]" + }, + "securityClientIpMask": { + "value": "[parameters('securityClientIpMask')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-application-ma'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-xc.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "templateLinkAccessToken": { + "value": "[parameters('templateLinkAccessToken')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "xcSolrConnectionString": { + "value": "[parameters('xcSolrConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + + "xcRefDataMsDeployPackageUrl": { + "value": "[parameters('xcRefDataMsDeployPackageUrl')]" + }, + "xcCollectMsDeployPackageUrl": { + "value": "[parameters('xcCollectMsDeployPackageUrl')]" + }, + "xcSearchMsDeployPackageUrl": { + "value": "[parameters('xcSearchMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-ma'))]", + "[resourceId('Microsoft.Resources/deployments', variables('asbInfrastructureTemplate'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-ma')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-ma.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + "maOpsWebAppName": { + "value": "[parameters('maOpsWebAppName')]" + }, + "maRepWebAppName": { + "value": "[parameters('maRepWebAppName')]" + }, + + "maOpsMsDeployPackageUrl": { + "value": "[parameters('maOpsMsDeployPackageUrl')]" + }, + "maRepMsDeployPackageUrl": { + "value": "[parameters('maRepMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-application-xc'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-cortex-prc-rep')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-cortex-prc-rep.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + + "processingEngineSqlDatabaseUserName": { + "value": "[parameters('processingEngineSqlDatabaseUserName')]" + }, + "processingEngineSqlDatabasePassword": { + "value": "[parameters('processingEngineSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + "cortexProcessingWebAppName": { + "value": "[parameters('cortexProcessingWebAppName')]" + }, + "cortexReportingWebAppName": { + "value": "[parameters('cortexReportingWebAppName')]" + }, + + "machineLearningServerConnectionString": { + "value": "[parameters('machineLearningServerConnectionString')]" + }, + + "cortexProcessingMsDeployPackageUrl": { + "value": "[parameters('cortexProcessingMsDeployPackageUrl')]" + }, + "cortexReportingMsDeployPackageUrl": { + "value": "[parameters('cortexReportingMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePath')]" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePath')]" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePassword')]" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-cortex-prc-rep'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-application-ma'))]" + ] + }, + { + "copy": { + "name": "modules", + "count": "[length(parameters('modules').items)]" + }, + "name": "[concat(parameters('deploymentId'), '-', parameters('modules').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('modules').items[copyIndex()].templateLink]" + }, + "parameters": { + "standard": { + "value": { + "infrastructure": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]", + + "deploymentId": "[parameters('deploymentId')]", + "location": "[parameters('location')]", + + "sitecoreAdminPassword": "[parameters('sitecoreAdminPassword')]", + "licenseXml": "[parameters('licenseXml')]", + "sitecoreSKU": "[parameters('sitecoreSKU')]", + "repAuthenticationApiKey": "[parameters('repAuthenticationApiKey')]", + + "sqlServerName": "[parameters('sqlServerName')]", + "sqlServerLogin": "[parameters('sqlServerLogin')]", + "sqlServerPassword": "[parameters('sqlServerPassword')]", + + "sqlServerVersion": "[parameters('sqlServerVersion')]", + "sqlDatabaseCollation": "[parameters('sqlDatabaseCollation')]", + + "coreSqlDatabaseName": "[parameters('coreSqlDatabaseName')]", + "masterSqlDatabaseName": "[parameters('masterSqlDatabaseName')]", + "reportingSqlDatabaseName": "[parameters('reportingSqlDatabaseName')]", + "poolsSqlDatabaseName": "[parameters('poolsSqlDatabaseName')]", + "tasksSqlDatabaseName": "[parameters('tasksSqlDatabaseName')]", + "shardMapManagerSqlDatabaseName": "[parameters('shardMapManagerSqlDatabaseName')]", + "shard0SqlDatabaseName": "[parameters('shard0SqlDatabaseName')]", + "shard1SqlDatabaseName": "[parameters('shard1SqlDatabaseName')]", + "refDataSqlDatabaseName": "[parameters('refDataSqlDatabaseName')]", + "maSqlDatabaseName": "[parameters('maSqlDatabaseName')]", + "processingEngineTasksSqlDatabaseName": "[parameters('processingEngineTasksSqlDatabaseName')]", + "processingEngineStorageSqlDatabaseName": "[parameters('processingEngineStorageSqlDatabaseName')]", + + "coreSqlDatabaseUserName": "[parameters('coreSqlDatabaseUserName')]", + "coreSqlDatabasePassword": "[parameters('coreSqlDatabasePassword')]", + "securitySqlDatabaseUserName": "[parameters('securitySqlDatabaseUserName')]", + "securitySqlDatabasePassword": "[parameters('securitySqlDatabasePassword')]", + "masterSqlDatabaseUserName": "[parameters('masterSqlDatabaseUserName')]", + "masterSqlDatabasePassword": "[parameters('masterSqlDatabasePassword')]", + "reportingSqlDatabaseUserName": "[parameters('reportingSqlDatabaseUserName')]", + "reportingSqlDatabasePassword": "[parameters('reportingSqlDatabasePassword')]", + "poolsSqlDatabaseUserName": "[parameters('poolsSqlDatabaseUserName')]", + "poolsSqlDatabasePassword": "[parameters('poolsSqlDatabasePassword')]", + "tasksSqlDatabaseUserName": "[parameters('tasksSqlDatabaseUserName')]", + "tasksSqlDatabasePassword": "[parameters('tasksSqlDatabasePassword')]", + "xcRefDataSqlDatabaseUserName": "[parameters('xcRefDataSqlDatabaseUserName')]", + "xcRefDataSqlDatabasePassword": "[parameters('xcRefDataSqlDatabasePassword')]", + "xcShardMapManagerSqlDatabaseUserName": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "xcShardMapManagerSqlDatabasePassword": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "xcMaSqlDatabaseUserName": "[parameters('xcMaSqlDatabaseUserName')]", + "xcMaSqlDatabasePassword": "[parameters('xcMaSqlDatabasePassword')]", + "processingEngineSqlDatabaseUserName": "[parameters('processingEngineSqlDatabaseUserName')]", + "processingEngineSqlDatabasePassword": "[parameters('processingEngineSqlDatabasePassword')]", + + "searchServiceName": "[parameters('searchServiceName')]", + "searchServiceLocation": "[parameters('searchServiceLocation')]", + "xcSearchIndexName": "[parameters('xcSearchIndexName')]", + + "xcSolrConnectionString": "[parameters('xcSolrConnectionString')]", + "machineLearningServerConnectionString": "[parameters('machineLearningServerConnectionString')]", + + "useApplicationInsights": "[parameters('useApplicationInsights')]", + "applicationInsightsName": "[parameters('applicationInsightsName')]", + "applicationInsightsLocation": "[parameters('applicationInsightsLocation')]", + "storeSitecoreCountersInApplicationInsights": "[parameters('storeSitecoreCountersInApplicationInsights')]", + + "prcHostingPlanName": "[parameters('prcHostingPlanName')]", + "repHostingPlanName": "[parameters('repHostingPlanName')]", + "xcBasicHostingPlanName": "[parameters('xcBasicHostingPlanName')]", + "xcResourceIntensiveHostingPlanName": "[parameters('xcResourceIntensiveHostingPlanName')]", + + "prcWebAppName": "[parameters('prcWebAppName')]", + "repWebAppName": "[parameters('repWebAppName')]", + "xcRefDataWebAppName": "[parameters('xcRefDataWebAppName')]", + "xcCollectWebAppName": "[parameters('xcCollectWebAppName')]", + "xcSearchWebAppName": "[parameters('xcSearchWebAppName')]", + "maOpsWebAppName": "[parameters('maOpsWebAppName')]", + "maRepWebAppName": "[parameters('maRepWebAppName')]", + "cortexProcessingWebAppName": "[parameters('cortexProcessingWebAppName')]", + "cortexReportingWebAppName": "[parameters('cortexReportingWebAppName')]", + + "securityClientIp": "[parameters('securityClientIp')]", + "securityClientIpMask": "[parameters('securityClientIpMask')]", + + "passwordSalt": "[parameters('passwordSalt')]", + + "xcServerConfigurationEnvironment": "[parameters('xcServerConfigurationEnvironment')]", + + "authCertificateBlob": "[parameters('authCertificateBlob')]", + "authCertificatePassword": "[parameters('authCertificatePassword')]", + + "machineLearningServerBlobEndpointCertificatePath": "[parameters('machineLearningServerBlobEndpointCertificatePath')]", + "machineLearningServerBlobEndpointCertificatePassword": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]", + "machineLearningServerTableEndpointCertificatePath": "[parameters('machineLearningServerTableEndpointCertificatePath')]", + "machineLearningServerTableEndpointCertificatePassword": "[parameters('machineLearningServerTableEndpointCertificatePassword')]", + + "machineLearningServerEndpointCertificationAuthorityCertificatePath": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]", + + "environmentType": "[parameters('environmentType')]" + } + }, + "extension": { "value": "[parameters('modules').items[copyIndex()].parameters]" } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-' , variables('dependencies')[copyIndex()].name)]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XDB/azuredeploy.parameters.json b/Sitecore 9.3.0/XDB/azuredeploy.parameters.json new file mode 100644 index 00000000..f59b068a --- /dev/null +++ b/Sitecore 9.3.0/XDB/azuredeploy.parameters.json @@ -0,0 +1,78 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "value": "" + }, + "location": { + "value": "" + }, + "sitecoreAdminPassword": { + "value": "" + }, + "licenseXml": { + "value": "" + }, + "repAuthenticationApiKey": { + "value": "" + }, + "sqlServerLogin": { + "value": "" + }, + "sqlServerPassword": { + "value": "" + }, + "prcMsDeployPackageUrl": { + "value": "" + }, + "repMsDeployPackageUrl": { + "value": "" + }, + "xcRefDataMsDeployPackageUrl": { + "value": "" + }, + "xcCollectMsDeployPackageUrl": { + "value": "" + }, + "xcSearchMsDeployPackageUrl": { + "value": "" + }, + "cortexProcessingMsDeployPackageUrl": { + "value": "" + }, + "cortexReportingMsDeployPackageUrl": { + "value": "" + }, + "maOpsMsDeployPackageUrl": { + "value": "" + }, + "maRepMsDeployPackageUrl": { + "value": "" + }, + "authCertificateBlob": { + "value": "" + }, + "authCertificatePassword": { + "value": "" + }, + "machineLearningServerConnectionString": { + "value": "" + }, + "machineLearningServerBlobEndpointCertificatePath": { + "value": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "" + } + } +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDB/nested/application-cortex-prc-rep.json b/Sitecore 9.3.0/XDB/nested/application-cortex-prc-rep.json new file mode 100644 index 00000000..cc4dae87 --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/application-cortex-prc-rep.json @@ -0,0 +1,308 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + "processingEngineTasksSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineTasksSqlDatabaseName')))]", + "processingEngineStorageSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineStorageSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "cortexProcessingWebAppNameTidy": "[toLower(trim(parameters('cortexProcessingWebAppName')))]", + "cortexReportingWebAppNameTidy": "[toLower(trim(parameters('cortexReportingWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "machineLearningServerConnectionStringTidy": "[trim(parameters('machineLearningServerConnectionString'))]", + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "machineLearningServerConnectionString": { + "type": "securestring", + "minLength": 0, + "defaultValue": "" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "cortexProcessingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-processing')]" + }, + "cortexReportingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-reporting')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "cortexProcessingMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "cortexReportingMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('cortexReportingWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('cortexReportingMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('cortexReportingWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Reporting Database Name": "[variables('reportingSqlDatabaseNameTidy')]", + "Reporting Database Application User Name": "[parameters('reportingSqlDatabaseUserName')]", + "Reporting Database Application User Password": "[parameters('reportingSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "Reporting", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('cortexReportingWebAppNameTidy'), 'appsettings')]" + ] + }, + { + "name": "[concat(variables('cortexReportingWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + } + }, + { + "name": "[concat(variables('cortexProcessingWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('cortexProcessingMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('cortexProcessingWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Processing Engine Tasks Database Name": "[variables('processingEngineTasksSqlDatabaseNameTidy')]", + "Processing Engine Storage Database Name": "[variables('processingEngineStorageSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Reporting Database Name": "[variables('reportingSqlDatabaseNameTidy')]", + "Processing Engine Database Application User Name": "[parameters('processingEngineSqlDatabaseUserName')]", + "Processing Engine Database Application User Password": "[parameters('processingEngineSqlDatabasePassword')]", + "Reporting Database Application User Name": "[parameters('reportingSqlDatabaseUserName')]", + "Reporting Database Application User Password": "[parameters('reportingSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Search Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSearchWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Search Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Blob Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('cortexProcessingWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Table Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('cortexProcessingWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Machine Learning Server Endpoint": "[variables('machineLearningServerConnectionStringTidy')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerBlobEndpointCertificatePath')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerTableEndpointCertificatePath')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerTableEndpointCertificatePassword')]", + "Machine Learning Server Storage WebApi Endpoint Certification Authority Certificate Path": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "Processing", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('cortexProcessingWebAppNameTidy'), 'appsettings')]" + ] + }, + { + "name": "[concat(variables('cortexProcessingWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('cortexReportingWebAppNameTidy'), 'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XDB/nested/application-ma.json b/Sitecore 9.3.0/XDB/nested/application-ma.json new file mode 100644 index 00000000..ff681f06 --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/application-ma.json @@ -0,0 +1,313 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + "maOpsWebAppNameTidy": "[toLower(trim(parameters('maOpsWebAppName')))]", + "maRepWebAppNameTidy": "[toLower(trim(parameters('maRepWebAppName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "maOpsMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "maRepMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('maOpsWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('maOpsMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('maOpsWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xconnect Search Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSearchWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xconnect Search Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xdb Reference Data Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcRefDataWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xdb Reference Data Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "MarketingAutomation", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('maOpsWebAppNameTidy'),'appsettings')]" + ] + }, + { + "name": "[concat(variables('maRepWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('maRepMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('maRepWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "MarketingAutomationReporting", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('maRepWebAppNameTidy'),'appsettings')]" + ] + }, + { + "name": "[concat(variables('maOpsWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + } + }, + { + "name": "[concat(variables('maRepWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('maOpsWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XDB/nested/application-xc-search-as.json b/Sitecore 9.3.0/XDB/nested/application-xc-search-as.json new file mode 100644 index 00000000..4c4418e8 --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/application-xc-search-as.json @@ -0,0 +1,236 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "searchApiVersion": "2015-08-19", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "xcSearchIndexNameTidy": "[toLower(trim(parameters('xcSearchIndexName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "searchServiceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcSearchMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('xcSearchWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcSearchMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcSearchWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "Collection Search Service Url": "[concat('https://', variables('searchServiceNameTidy'), '.search.windows.net')]", + "Collection Search Index Name": "[variables('xcSearchIndexNameTidy')]", + "Collection Search Query Api Key": "[listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey]", + "Collection Search Worker Api Key": "[listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "CollectionSearch", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('xcSearchWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcSearchWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XDB/nested/application-xc-search-solr.json b/Sitecore 9.3.0/XDB/nested/application-xc-search-solr.json new file mode 100644 index 00000000..2cce77d0 --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/application-xc-search-solr.json @@ -0,0 +1,237 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + + "xcSearchIndexNameTidy": "[toLower(trim(parameters('xcSearchIndexName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + + "xcSolrConnectionStringTidy": "[trim(parameters('xcSolrConnectionString'))]", + "xcSolrConnectionStringBaseUri": "[trim(first(split(variables('xcSolrConnectionStringTidy'), ';')))]", + "xcSolrConnectionStringBaseUriTidy": "[replace(replace(concat(variables('xcSolrConnectionStringBaseUri'), '/'), '//', '/'), ':/', '://')]", + "xcSolrConnectionStringParameters": "[replace(variables('xcSolrConnectionStringTidy'), variables('xcSolrConnectionStringBaseUri'), '')]", + "xcSolrConnectionString": "[uri(variables('xcSolrConnectionStringBaseUriTidy'), concat(variables('xcSearchIndexNameTidy'), variables('xcSolrConnectionStringParameters')))]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "xcSolrConnectionString": { + "type": "securestring", + "minLength": 1 + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcSearchMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('xcSearchWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcSearchMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcSearchWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "CollectionSearch", + "License Xml": "[parameters('licenseXml')]", + "Search SOLR Core Application Connection String": "[variables('xcSolrConnectionString')]" + } + } + }, + { + "name": "[concat(variables('xcSearchWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcSearchWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XDB/nested/application-xc.json b/Sitecore 9.3.0/XDB/nested/application-xc.json new file mode 100644 index 00000000..1c763478 --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/application-xc.json @@ -0,0 +1,570 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2018-05-01", + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + + "searchProvider": "[if(empty(parameters('xcSolrConnectionString')), 'Azure', 'Solr')]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "templateLinkBase": { + "type": "string", + "minLength": 1, + "defaultValue": "[uri(replace(json(string(deployment().properties.templateLink)).uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "xcSolrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcRefDataMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "xcCollectMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "xcSearchMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "ApplicationInsights" + } + }, + "resources": [ + { + "name": "[concat(variables('xcRefDataWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcRefDataMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcRefDataWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XConnect Server Instance Name": "ReferenceData", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('xcCollectWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcCollectMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcCollectWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Collection Shard 0 Database Name": "[variables('shard0SqlDatabaseNameTidy')]", + "Collection Shard 1 Database Name": "[variables('shard1SqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XConnect Server Instance Name": "Collection", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceid('Microsoft.Web/sites/extensions', variables('xcRefDataWebAppNameTidy'), 'MSDeploy')]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc-search-as')]", + "condition": "[equals(variables('searchProvider'), 'Azure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'application-xc-search-as.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[parameters('infrastructure')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + + "xcSearchMsDeployPackageUrl": { + "value": "[parameters('xcSearchMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusAccessKeyName')]" + }, + + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcCollectWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc-search-solr')]", + "condition": "[not(equals(variables('searchProvider'), 'Azure'))]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'application-xc-search-solr.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[parameters('infrastructure')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "xcSolrConnectionString": { + "value": "[parameters('xcSolrConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcSearchMsDeployPackageUrl": { + "value": "[parameters('xcSearchMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusAccessKeyName')]" + }, + + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcCollectWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('xcRefDataWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-application-xc-search-as')]", + "[concat(parameters('deploymentId'), '-application-xc-search-solr')]" + ] + }, + { + "name": "[concat(variables('xcCollectWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('xcRefDataWebAppNameTidy'),'appsettings')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XDB/nested/application.json b/Sitecore 9.3.0/XDB/nested/application.json new file mode 100644 index 00000000..8493f2b7 --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/application.json @@ -0,0 +1,341 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "securitySqlDatabaseNameTidy": "[toLower(trim(parameters('securitySqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "tasksSqlDatabaseNameTidy": "[toLower(trim(parameters('tasksSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "prcWebAppNameTidy": "[toLower(trim(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[toLower(trim(parameters('repWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "repAuthenticationApiKey": { + "type": "securestring", + "minLength": 32 + }, + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "tasksSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "tasksuser" + }, + "tasksSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('tasks', parameters('passwordSalt'))), uniqueString('tasks', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('tasks', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + "prcWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc')]" + }, + "repWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + "prcMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "repMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "securityClientIp": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + "securityClientIpMask": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + } + }, + "resources": [ + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('prcMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('prcWebAppNameTidy')]", + "Sitecore Admin New Password": "[parameters('sitecoreAdminPassword')]", + "Core DB User Name": "[parameters('coreSqlDatabaseUserName')]", + "Core DB Password": "[parameters('coreSqlDatabasePassword')]", + "Security DB User Name": "[parameters('securitySqlDatabaseUserName')]", + "Security DB Password": "[parameters('securitySqlDatabasePassword')]", + "Master DB User Name": "[parameters('masterSqlDatabaseUserName')]", + "Master DB Password": "[parameters('masterSqlDatabasePassword')]", + "XDB Processing Tasks DB User Name": "[parameters('tasksSqlDatabaseUserName')]", + "XDB Processing Tasks DB Password": "[parameters('tasksSqlDatabasePassword')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Security Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "XDB Processing Tasks Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('tasksSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Reporting Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('reportingSqlDatabaseUserName'), ';Password=', parameters('reportingSqlDatabasePassword'), ';')]", + "XDB Processing Pools Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('poolsSqlDatabaseNameTidy'),';User Id=', parameters('poolsSqlDatabaseUserName'), ';Password=', parameters('poolsSqlDatabasePassword'), ';')]", + "XDB Processing Tasks Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('tasksSqlDatabaseNameTidy'),';User Id=', parameters('tasksSqlDatabaseUserName'), ';Password=', parameters('tasksSqlDatabasePassword'), ';')]", + "XDB Reference Data Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('refDataSqlDatabaseNameTidy'),';User Id=', parameters('xcRefDataSqlDatabaseUserName'), ';Password=', parameters('xcRefDataSqlDatabasePassword'), ';')]", + "XConnect Collection": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XConnect Collection Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Reporting Service Api Key": "[parameters('repAuthenticationApiKey')]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'Processing', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "License Xml": "[parameters('licenseXml')]", + "IP Security Client IP": "[parameters('securityClientIp')]", + "IP Security Client IP Mask": "[parameters('securityClientIpMask')]" + } + } + ] + } + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('repMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('repWebAppNameTidy')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Reporting Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('reportingSqlDatabaseUserName'), ';Password=', parameters('reportingSqlDatabasePassword'), ';')]", + "Reporting Service Api Key": "[parameters('repAuthenticationApiKey')]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'Reporting', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "License Xml": "[parameters('licenseXml')]" + } + } + ] + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('prcWebAppNameTidy'), 'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('repWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('prcWebAppNameTidy'),'appsettings')]" + ] + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDB/nested/emptyAddon.json b/Sitecore 9.3.0/XDB/nested/emptyAddon.json new file mode 100644 index 00000000..18909e4e --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/emptyAddon.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": {} + }, + "extension": { + "type": "secureObject", + "defaultValue": {} + } + }, + "resources": [] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDB/nested/infrastructure-asb.json b/Sitecore 9.3.0/XDB/nested/infrastructure-asb.json new file mode 100644 index 00000000..536831c3 --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/infrastructure-asb.json @@ -0,0 +1,193 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "azureServiceBusQueues": { + "type": "array", + "defaultValue": [ + "error", + "Sitecore_CT_ModelTrainingTaskStatusSubscriber", + "Sitecore_EXM_AutomatedMessagesQueue", + "Sitecore_EXM_ClearSuppressionListQueue", + "Sitecore_EXM_ConfirmSubscriptionMessagesQueue", + "Sitecore_EXM_EmailAddressHistoryMessagesQueue", + "Sitecore_EXM_EmailOpenedMessagesQueue", + "Sitecore_EXM_SentMessagesQueue", + "Sitecore_EXM_UpdateListSubscriptionMessagesQueue", + "Sitecore_MA_PurgeFromCampaignMessages", + "Sitecore_PE_TaskRegistrationProducer", + "Sitecore_PE_TaskProgressProducer", + "Sitecore_PE_TaskStatusPublisher", + "Sitecore_PE_TaskRegistrationConsumer", + "Sitecore_PE_TaskProgressConsumer" + ] + }, + "azureServiceBusTopics": { + "type": "array", + "defaultValue": [ + "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions" + ] + }, + "azureServiceBusSubscriptions": { + "type": "array", + "defaultValue": [ + { + "topic": "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions", + "subscription": "Sitecore_CT_ModelTrainingTaskStatusSubscriber" + } + ] + }, + "azureServiceBusSkuName": { + "type": "string", + "defaultValue": "standard" + }, + "azureServiceBusManageSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootManageSharedAccessKey" + }, + "azureServiceBusSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootSharedAccessKey" + }, + "azureServiceBusNamespaceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-asb')]" + } + }, + "variables": { + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "resources": [ + { + "apiVersion": "[variables('azureServiceBusVersion')]", + "name": "[variables('azureServiceBusNamespaceNameTidy')]", + "type": "Microsoft.ServiceBus/namespaces", + "location": "[parameters('location')]", + "sku": { + "name": "[parameters('azureServiceBusSkuName')]" + } + }, + { + "type": "Microsoft.ServiceBus/namespaces/authorizationRules", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'),'/',parameters('azureServiceBusManageSharedAccessKeyName'))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "properties": { + "rights": [ + "Listen", + "Manage", + "Send" + ] + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "type": "Microsoft.ServiceBus/namespaces/authorizationRules", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'),'/', parameters('azureServiceBusSharedAccessKeyName'))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "properties": { + "rights": [ + "Listen", + "Send" + ] + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "copy": { + "name": "topics", + "count": "[length(parameters('azureServiceBusTopics'))]" + }, + "type": "Microsoft.ServiceBus/namespaces/topics", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusTopics')[copyIndex()]))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "scale": null, + "properties": { + "defaultMessageTimeToLive": "P14D", + "maxSizeInMegabytes": 1024, + "requiresDuplicateDetection": false, + "duplicateDetectionHistoryTimeWindow": "PT10M", + "enableBatchedOperations": true, + "status": "Active", + "supportOrdering": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": false, + "enableExpress": false + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "copy": { + "name": "subscriptions", + "count": "[length(parameters('azureServiceBusSubscriptions'))]" + }, + "type": "Microsoft.ServiceBus/namespaces/topics/subscriptions", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].topic), '/', toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "scale": null, + "properties": { + "lockDuration": "PT1M", + "requiresSession": false, + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": false, + "deadLetteringOnFilterEvaluationExceptions": true, + "maxDeliveryCount": 10, + "status": "Active", + "enableBatchedOperations": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "forwardTo": "[toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription)]" + }, + "dependsOn": [ + "[resourceId('Microsoft.ServiceBus/namespaces', variables('azureServiceBusNamespaceNameTidy'))]", + "[resourceId('Microsoft.ServiceBus/namespaces/topics', variables('azureServiceBusNamespaceNameTidy'), toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].topic))]", + "[resourceId('Microsoft.ServiceBus/namespaces/queues', variables('azureServiceBusNamespaceNameTidy'), toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription))]" + ] + }, + { + "copy": { + "name": "queues", + "count": "[length(parameters('azureServiceBusQueues'))]" + }, + "apiVersion": "[variables('azureServiceBusVersion')]", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusQueues')[copyIndex()]))]", + "type": "Microsoft.ServiceBus/Namespaces/Queues", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.ServiceBus/namespaces', variables('azureServiceBusNamespaceNameTidy'))]" + ], + "properties": { + "lockDuration": "PT5M", + "maxSizeInMegabytes": "1024", + "requiresDuplicateDetection": "false", + "requiresSession": "false", + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": "false", + "duplicateDetectionHistoryTimeWindow": "PT10M", + "maxDeliveryCount": "10", + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": "false", + "enableExpress": "false" + } + } + ] +} diff --git a/Sitecore 9.3.0/XDB/nested/infrastructure-cortex-prc-rep.json b/Sitecore 9.3.0/XDB/nested/infrastructure-cortex-prc-rep.json new file mode 100644 index 00000000..898eb6d2 --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/infrastructure-cortex-prc-rep.json @@ -0,0 +1,326 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "processingEngineTasksSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineTasksSqlDatabaseName')))]", + "processingEngineStorageSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineStorageSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + + "xcBasicHostingPlanNameTidy": "[toLower(trim(parameters('xcBasicHostingPlanName')))]", + "xcResourceIntensiveHostingPlanNameTidy": "[toLower(trim(parameters('xcResourceIntensiveHostingPlanName')))]", + + "cortexProcessingWebAppNameTidy": "[toLower(trim(parameters('cortexProcessingWebAppName')))]", + "cortexReportingWebAppNameTidy": "[toLower(trim(parameters('cortexReportingWebAppName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "cortexProcessing": "cortex-processing", + "cortexReporting": "cortex-reporting", + "cortexProcessingEngineTasks": "processingenginetasks", + "cortexProcessingEngineStorage": "processingenginestorage", + "reporting": "reporting" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + "xcResourceIntensiveHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-resourceintensive-hp')]" + }, + + "cortexProcessingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-processing')]" + }, + "cortexReportingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-reporting')]" + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "processingEngineTasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "processingEngineStorageSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Small": { + "processingEngineTasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "processingEngineStorageSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Medium": { + "processingEngineTasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "processingEngineStorageSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + } + }, + "Large": { + "processingEngineTasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "processingEngineStorageSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + } + }, + "Extra Large": { + "processingEngineTasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "processingEngineStorageSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + } + }, + "resources": [ + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('processingEngineTasksSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').processingEngineTasksSqlDataBase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').processingEngineTasksSqlDataBase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').processingEngineTasksSqlDataBase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('processingEngineTasksSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexProcessingEngineTasks]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('processingEngineStorageSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').processingEngineStorageSqlDataBase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').processingEngineStorageSqlDataBase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').processingEngineStorageSqlDataBase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('processingEngineStorageSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexProcessingEngineStorage]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('reportingSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').reportingSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').reportingSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').reportingSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('reportingSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').reporting]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('cortexProcessingWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexProcessing]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('cortexReportingWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexReporting]" + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDB/nested/infrastructure-ma.json b/Sitecore 9.3.0/XDB/nested/infrastructure-ma.json new file mode 100644 index 00000000..00ce3848 --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/infrastructure-ma.json @@ -0,0 +1,199 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + + "xcBasicHostingPlanNameTidy": "[toLower(trim(parameters('xcBasicHostingPlanName')))]", + + "maOpsWebAppNameTidy": "[toLower(trim(parameters('maOpsWebAppName')))]", + "maRepWebAppNameTidy": "[toLower(trim(parameters('maRepWebAppName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "maOps": "ma-ops", + "maRep": "ma-rep", + "ma": "ma" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + } + }, + "Small": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + } + }, + "Medium": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Large": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Extra Large": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + } + }, + "resources": [ + { + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('maSqlDatabaseNameTidy'))]", + "type": "Microsoft.Sql/servers/databases", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').maSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').maSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').maSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('maSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').ma]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('maRepWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "location": "[parameters('location')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').maRep]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('maOpsWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').maOps]" + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDB/nested/infrastructure-xc.json b/Sitecore 9.3.0/XDB/nested/infrastructure-xc.json new file mode 100644 index 00000000..207ca82c --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/infrastructure-xc.json @@ -0,0 +1,560 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + + "xcBasicHostingPlanNameTidy": "[toLower(trim(parameters('xcBasicHostingPlanName')))]", + "xcResourceIntensiveHostingPlanNameTidy": "[toLower(trim(parameters('xcResourceIntensiveHostingPlanName')))]", + + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "xc": "xc", + "xcSearch": "xc-search", + "xcCollect": "xc-collect", + "xcRefData": "xc-refdata", + "xcShard0": "xc-shard-0", + "xcShard1": "xc-shard-1", + "xcShardMapManager": "xc-smm", + "messaging": "messaging" + }, + + "useAse": "[not(empty(parameters('aseName')))]", + "aseResourceId": "[resourceId(parameters('aseResourceGroupName'), 'Microsoft.Web/hostingEnvironments', parameters('aseName'))]", + "aseHostingEnvironmentProfile": { + "id": "[variables('aseResourceId')]" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + "xcResourceIntensiveHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-resourceintensive-hp')]" + }, + + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "xcBasicHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "xcBasicHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard1SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + } + }, + "Small": { + "xcBasicHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "xcBasicHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "xcShard1SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Medium": { + "xcBasicHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "xcBasicHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "xcShard1SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + } + }, + "Large": { + "xcBasicHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "xcBasicHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 2 + }, + "xcResourceIntensiveHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 2 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P1" + }, + "xcShard1SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P1" + } + }, + "Extra Large": { + "xcBasicHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 2 + }, + "xcBasicHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 2 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 4 + }, + "xcResourceIntensiveHostingPlanIsolated": { + "SkuName": "I3", + "SkuCapacity": 2 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P2" + }, + "xcShard1SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P2" + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + }, + "aseName":{ + "type": "string", + "defaultValue": "" + }, + "aseResourceGroupName":{ + "type": "string", + "defaultValue": "[resourceGroup().name]" + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('xcBasicHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').xcBasicHostingPlan.SkuName, parameters('resourceSizes').xcBasicHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').xcBasicHostingPlan.SkuCapacity, parameters('resourceSizes').xcBasicHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('xcBasicHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xc]" + } + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('xcResourceIntensiveHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').xcResourceIntensiveHostingPlan.SkuName, parameters('resourceSizes').xcResourceIntensiveHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').xcResourceIntensiveHostingPlan.SkuCapacity, parameters('resourceSizes').xcResourceIntensiveHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('xcResourceIntensiveHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xc]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]" + ] + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcRefDataWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcRefData]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('refDataSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').refDataSqlDataBase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').refDataSqlDataBase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').refDataSqlDataBase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('refDataSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcRefData]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcCollectWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcCollect]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'),'/',variables('shardMapManagerSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').shardMapManagerSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').shardMapManagerSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').shardMapManagerSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shardMapManagerSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShardMapManager]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'),'/',variables('shard0SqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').xcShard0SqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').xcShard0SqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').xcShard0SqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shard0SqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShard0]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'),'/',variables('shard1SqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').xcShard1SqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').xcShard1SqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').xcShard1SqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shard1SqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShard1]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcSearchWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcSearch]" + } + } + ] +} diff --git a/Sitecore 9.3.0/XDB/nested/infrastructure.json b/Sitecore 9.3.0/XDB/nested/infrastructure.json new file mode 100644 index 00000000..c9d5a277 --- /dev/null +++ b/Sitecore 9.3.0/XDB/nested/infrastructure.json @@ -0,0 +1,758 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + "searchApiVersion": "2015-08-19", + "appInsightsApiVersion": "2015-05-01", + "certificateApiVersion": "2014-11-01", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "tasksSqlDatabaseNameTidy": "[toLower(trim(parameters('tasksSqlDatabaseName')))]", + + "prcHostingPlanNameTidy": "[toLower(trim(parameters('prcHostingPlanName')))]", + "repHostingPlanNameTidy": "[toLower(trim(parameters('repHostingPlanName')))]", + + "prcWebAppNameTidy": "[toLower(trim(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[toLower(trim(parameters('repWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "applicationInsightsPricePlanTidy": "[toLower(trim(parameters('applicationInsightsPricePlan')))]", + "authCertificateNameTidy": "[toLower(trim(parameters('authCertificateName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "rep": "rep", + "prc": "prc", + "core": "core", + "master": "master", + "pools": "prc-pools", + "tasks": "prc-tasks" + }, + + "useAse": "[not(empty(parameters('aseName')))]", + "aseResourceId": "[resourceId(parameters('aseResourceGroupName'), 'Microsoft.Web/hostingEnvironments', parameters('aseName'))]", + "aseHostingEnvironmentProfile": { + "id": "[variables('aseResourceId')]" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + + "deployAzureSearch": { + "type": "bool", + "defaultValue": true + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + + "prcHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc-hp')]" + }, + "repHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep-hp')]" + }, + + "prcWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc')]" + }, + "repWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep')]" + }, + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1 + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1 + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "prcHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "prcHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "repHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Small": { + "prcHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "prcHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "repHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Medium": { + "prcHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "prcHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "repHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 2, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Large": { + "prcHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "prcHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "repHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 3, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Application Insights Enterprise", + "DataVolumeCap": { + "Cap": 1.8 + } + } + }, + "Extra Large": { + "prcHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "prcHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "repHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 3, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Application Insights Enterprise", + "DataVolumeCap": { + "Cap": 1.8 + } + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + }, + "aseName":{ + "type": "string", + "defaultValue": "" + }, + "aseResourceGroupName":{ + "type": "string", + "defaultValue": "[resourceGroup().name]" + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('prcHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').prcHostingPlan.SkuName, parameters('resourceSizes').prcHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').prcHostingPlan.SkuCapacity, parameters('resourceSizes').prcHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('prcHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').prc]" + } + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('repHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').repHostingPlan.SkuName, parameters('resourceSizes').repHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').repHostingPlan.SkuCapacity, parameters('resourceSizes').repHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('repHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').rep]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]" + ] + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('prcWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').prc]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('repWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('repHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('repHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').rep]" + } + }, + { + "type": "Microsoft.Sql/servers", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "administratorLogin": "[parameters('sqlServerLogin')]", + "administratorLoginPassword": "[parameters('sqlServerPassword')]", + "version": "[parameters('sqlServerVersion')]" + }, + "name": "[variables('sqlServerNameTidy')]", + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]" + }, + "resources": [ + { + "type": "firewallrules", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "endIpAddress": "0.0.0.0", + "startIpAddress": "0.0.0.0" + }, + "name": "AllowAllAzureIps", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ] + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').coreSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').coreSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').coreSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('coreSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('coreSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').core]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').masterSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').masterSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').masterSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('masterSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('masterSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').master]" + } + }, + { + "type": "databases", + "name": "[variables('poolsSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').poolsSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').poolsSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').poolsSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('poolsSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').pools]" + } + }, + { + "type": "databases", + "name": "[variables('tasksSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').tasksSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').tasksSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').tasksSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('tasksSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').tasks]" + } + } + ] + }, + { + "type": "Microsoft.Search/searchServices", + "condition": "[parameters('deployAzureSearch')]", + "apiVersion": "[variables('searchApiVersion')]", + "name": "[variables('searchServiceNameTidy')]", + "location": "[if(parameters('deployAzureSearch'), parameters('searchServiceLocation'), 'westus')]", + "sku": { + "name": "[toLower(parameters('resourceSizes').searchService.SkuName)]" + }, + "properties": { + "replicaCount": "[parameters('resourceSizes').searchService.Replicas]", + "partitionCount": "[parameters('resourceSizes').searchService.Partitions]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components", + "condition": "[parameters('useApplicationInsights')]", + "name": "[variables('appInsightsNameTidy')]", + "apiVersion": "[variables('appInsightsApiVersion')]", + "location": "[parameters('applicationInsightsLocation')]", + "properties": { + "ApplicationId": "[variables('appInsightsNameTidy')]", + "Application_Type": "web" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components/CurrentBillingFeatures", + "condition": "[parameters('useApplicationInsights')]", + "name": "[concat(variables('appInsightsNameTidy'), '/', variables('applicationInsightsPricePlanTidy'))]", + "location": "[parameters('applicationInsightsLocation')]", + "apiVersion": "[variables('appInsightsApiVersion')]", + "properties": { + "CurrentBillingFeatures": "[parameters('resourceSizes').applicationInsightsPricePlan.CurrentBillingFeatures]", + "DataVolumeCap": { + "Cap": "[parameters('resourceSizes').applicationInsightsPricePlan.DataVolumeCap.Cap]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Web/certificates", + "name": "[variables('authCertificateNameTidy')]", + "apiVersion": "[variables('certificateApiVersion')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]", + "[resourceId('Microsoft.Web/serverfarms', variables('repHostingPlanNameTidy'))]" + ], + "properties": { + "password": "[parameters('authCertificatePassword')]", + "pfxBlob": "[parameters('authCertificateBlob')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + } + ], + "outputs": { + "infrastructure": { + "type": "object", + "value": { + "sqlServerFqdn": "[reference(concat('Microsoft.Sql/servers/', variables('sqlServerNameTidy'))).fullyQualifiedDomainName]", + "authCertificateThumbprint": "[reference(resourceId('Microsoft.Web/certificates', variables('authCertificateNameTidy'))).thumbprint]" + } + } + } +} diff --git a/Sitecore 9.3.0/XDBSingle/README.md b/Sitecore 9.3.0/XDBSingle/README.md new file mode 100644 index 00000000..7888a32a --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/README.md @@ -0,0 +1,56 @@ +# Sitecore XDB Single Environment + +Visualize: +[Infrastructure](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxdbsingle%2Fnested%2Finfrastructure.json), +[Application deployment](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxdbsingle%2Fnested%2Fapplication.json) + +This template creates a Sitecore XDB Single Environment using a minimal set of Azure resources while still ensuring Sitecore Experience Database will run. +It is best practice to use this configuration for development and testing rather than production environments. + +Resources provisioned: + + * Azure SQL databases : core, master, web, reporting, pools, tasks, refdata, smm, shard0, shard1, ma + * Sitecore roles: Processing, Reporting as a single WebApp instance + * Hosting plans: single hosting plan + * Preconfigured Web Application, based on the provided WebDeploy package + * XConnect services: Search, Collection, Reference data, Marketing Automation, Marketing Automation Reporting as a single WebApp instance + * Hosting plans: single hosting plan + * Preconfigured Web Application, based on the provided WebDeploy package + * Azure Search Service + * (optional) Application Insights for diagnostics and monitoring + +## Parameters + +The **deploymentId** and **licenseXml** parameters in azuredeploy.parameters.json are to be filled in by the PowerShell script using **Name** and **LicenseXmlPath** parameters respectively. + +|Parameter | Description +|-------------------------------------------|--------------------------------------------------------------------------------------------- +| location | The geographical region of the current deployment. +| sitecoreAdminPassword | The new password for the Sitecore **admin** account. +| sqlServerLogin | The name of the administrator account for Azure SQL server that will be created. +| sqlServerPassword | The password for the administrator account for Azure SQL server. +| singleMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XDB Single Web Deploy package. +| xcSingleMsDeployPackageUrl | The HTTP(s) URL to a XConnect Single Web Deploy package. +| authCertificateBlob | A Base64-encoded blob of the authentication certificate in PKCS #12 format. +| authCertificatePassword | A password to the authentication certificate. + +> **Note:** +> * The **searchServiceLocation** parameter can be added to the `azuredeploy.parameters.json` +> to specify geographical region to deploy Azure Search Service. Default value is the resource +> group location. +> * The **applicationInsightsLocation** parameter can be added to the`azuredeploy.parameters.json` +> to specify geographical region to deploy Application Insights. Default value is **East US**. +> * The **useApplicationInsights** parameter can be added to the`azuredeploy.parameters.json` +> to control whether Application Insights will be used for diagnostics and monitoring. Default value is **true**. + +## Deploying with Solr Search + +> Sitecore Solr PaaS deployment requires the following parameters to be specified in `azuredeploy.parameters.json`: + +| Parameter | Description +--------------------------------------------|------------------------------------------------ +| xcSolrConnectionString | Connection string to existing Solr server that will be passed to XConnect Roles. +| xcSingleMsDeployPackageUrl | The HTTP(s) URL to a **Solr XConnect Single** Web Deploy package. + +> **xcSolrConnectionString** parameter is used to identify whether Solr search provider is to be used for the deployment or not. +> The default value is empty which means that Azure Search will be used. \ No newline at end of file diff --git a/Sitecore 9.3.0/XDBSingle/addons/bootloader.json b/Sitecore 9.3.0/XDBSingle/addons/bootloader.json new file mode 100644 index 00000000..d890d3d1 --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/addons/bootloader.json @@ -0,0 +1,84 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "singleWebAppNameTidy": "[toLower(trim(parameters('singleWebAppName')))]", + "xcSingleWebAppNameTidy": "[toLower(trim(parameters('xcSingleWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "deploymentId": null, + "location": null, + "singleWebAppName": null, + "xcSingleWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "msDeployPackageUrl": null + } + }, + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').singleWebAppName, concat(parameters('deploymentId'), '-single'))]" + }, + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').xcSingleWebAppName, concat(parameters('deploymentId'), '-xc-single'))]" + }, + "msDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').msDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('singleWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('xcSingleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('xcSingleWebAppNameTidy')]" + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDBSingle/addons/generic.json b/Sitecore 9.3.0/XDBSingle/addons/generic.json new file mode 100644 index 00000000..ce698cc6 --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/addons/generic.json @@ -0,0 +1,118 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + + "singleWebAppNameTidy": "[trim(toLower(parameters('singleWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "infrastructure": { "sqlServerFqdn":null }, + "deploymentId": null, + "location": null, + "sqlServerLogin": null, + "sqlServerPassword": null, + "coreSqlDatabaseName": null, + "masterSqlDatabaseName": null, + "reportingSqlDatabaseName": null, + "singleWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "singleMsDeployPackageUrl": null + } + }, + "infrastructure": { + "type": "secureObject", + "defaultValue": "[parameters('standard').infrastructure]" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('standard').sqlServerLogin]" + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[parameters('standard').sqlServerPassword]" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').coreSqlDatabaseName, concat(parameters('deploymentId'), '-core-db'))]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').masterSqlDatabaseName, concat(parameters('deploymentId'), '-master-db'))]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').reportingSqlDatabaseName, concat(parameters('deploymentId'), '-reporting-db'))]" + }, + + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').singleWebAppName, concat(parameters('deploymentId'), '-single'))]" + }, + + "singleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').singleMsDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('singleMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('singleWebAppNameTidy')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Reporting Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDBSingle/azuredeploy.json b/Sitecore 9.3.0/XDBSingle/azuredeploy.json new file mode 100644 index 00000000..d6d7bd2d --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/azuredeploy.json @@ -0,0 +1,1210 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2018-05-01", + "defaultDependency": [ + { + "name": "application" + } + ], + "dependencies": "[concat(variables('defaultDependency'), parameters('modules').items)]" + }, + "parameters": { + "modules": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + "prerequisites": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty-prerequisite", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + + "templateLinkBase": { + "type": "string", + "minLength": 1, + "defaultValue": "[uri(replace(json(string(deployment().properties.templateLink)).uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + "sqlDatabaseEdition": { + "type": "string", + "minLength": 1, + "defaultValue": "Standard" + }, + "sqlDatabaseMaxSize": { + "type": "string", + "minLength": 1, + "defaultValue": "268435456000" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S0" + }, + "sqlDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S1" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "tasksSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "tasksuser" + }, + "tasksSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('tasks', parameters('passwordSalt'))), uniqueString('tasks', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('tasks', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceSkuName": { + "type": "string", + "defaultValue": "Standard" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + "searchServicePartitionCount": { + "type": "int", + "defaultValue": 1 + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "xcSolrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "[if(parameters('storeSitecoreCountersInApplicationInsights'), 'ApplicationInsights', 'Disable')]" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + "applicationInsightsCurrentBillingFeatures": { + "type": "string", + "defaultValue": "Basic", + "allowedValues": [ "Basic", "Application Insights Enterprise" ] + }, + "applicationInsightsDataVolumeCap": { + "type": "string", + "defaultValue": "0.33" + }, + + "xcSingleHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single-hp')]" + }, + "xcSingleHostingPlanSkuName": { + "type": "string", + "defaultValue": "S1" + }, + "xcSingleHostingPlanSkuCapacity": { + "type": "int", + "defaultValue": 1 + }, + + "singleHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single-hp')]" + }, + "singleHostingPlanSkuName": { + "type": "string", + "defaultValue": "S1" + }, + "singleHostingPlanSkuCapacity": { + "type": "int", + "defaultValue": 1 + }, + + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single')]" + }, + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + }, + + "singleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "xcSingleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1, + "defaultValue": "" + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1, + "defaultValue": "" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusQueues": { + "type": "array", + "defaultValue": [ + "error", + "Sitecore_CT_ModelTrainingTaskStatusSubscriber", + "Sitecore_EXM_AutomatedMessagesQueue", + "Sitecore_EXM_ClearSuppressionListQueue", + "Sitecore_EXM_ConfirmSubscriptionMessagesQueue", + "Sitecore_EXM_EmailAddressHistoryMessagesQueue", + "Sitecore_EXM_EmailOpenedMessagesQueue", + "Sitecore_EXM_SentMessagesQueue", + "Sitecore_EXM_UpdateListSubscriptionMessagesQueue", + "Sitecore_MA_PurgeFromCampaignMessages", + "Sitecore_PE_TaskRegistrationProducer", + "Sitecore_PE_TaskProgressProducer", + "Sitecore_PE_TaskStatusPublisher", + "Sitecore_PE_TaskRegistrationConsumer", + "Sitecore_PE_TaskProgressConsumer" + ] + }, + "azureServiceBusTopics": { + "type": "array", + "defaultValue": [ + "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions" + ] + }, + "azureServiceBusSubscriptions": { + "type": "array", + "defaultValue": [ + { + "topic": "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions", + "subscription": "Sitecore_CT_ModelTrainingTaskStatusSubscriber" + } + ] + }, + "azureServiceBusSkuName": { + "type": "string", + "defaultValue": "standard" + }, + "azureServiceBusManageSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootManageSharedAccessKey" + }, + "azureServiceBusSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootSharedAccessKey" + }, + "azureServiceBusNamespaceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-asb')]" + } + }, + "resources": [ + { + "copy": { + "name": "[concat(parameters('deploymentId'), '-prerequisites')]", + "count": "[length(parameters('prerequisites').items)]", + "mode": "Serial", + "batchSize": 1 + }, + "name": "[concat(parameters('deploymentId'), '-', parameters('prerequisites').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('prerequisites').items[copyIndex()].templateLink]" + }, + "parameters": "[parameters('prerequisites').items[copyIndex()].parameters]" + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "sqlServerVersion": { + "value": "[parameters('sqlServerVersion')]" + }, + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + "sqlDatabaseEdition": { + "value": "[parameters('sqlDatabaseEdition')]" + }, + "sqlDatabaseMaxSize": { + "value": "[parameters('sqlDatabaseMaxSize')]" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "value": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "sqlDatabaseServiceObjectiveLevel": { + "value": "[parameters('sqlDatabaseServiceObjectiveLevel')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "tasksSqlDatabaseName": { + "value": "[parameters('tasksSqlDatabaseName')]" + }, + + "deployAzureSearch": { + "value": "[empty(parameters('xcSolrConnectionString'))]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "searchServiceLocation": { + "value": "[parameters('searchServiceLocation')]" + }, + "searchServiceSkuName": { + "value": "[parameters('searchServiceSkuName')]" + }, + "searchServiceReplicaCount": { + "value": "[parameters('searchServiceReplicaCount')]" + }, + "searchServicePartitionCount": { + "value": "[parameters('searchServicePartitionCount')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "applicationInsightsLocation": { + "value": "[parameters('applicationInsightsLocation')]" + }, + "applicationInsightsPricePlan": { + "value": "[parameters('applicationInsightsPricePlan')]" + }, + "applicationInsightsCurrentBillingFeatures": { + "value": "[parameters('applicationInsightsCurrentBillingFeatures')]" + }, + "applicationInsightsDataVolumeCap": { + "value": "[parameters('applicationInsightsDataVolumeCap')]" + }, + + "singleHostingPlanName": { + "value": "[parameters('singleHostingPlanName')]" + }, + "singleHostingPlanSkuCapacity": { + "value": "[parameters('singleHostingPlanSkuCapacity')]" + }, + "singleHostingPlanSkuName": { + "value": "[parameters('singleHostingPlanSkuName')]" + }, + + "singleWebAppName": { + "value": "[parameters('singleWebAppName')]" + }, + + "authCertificateName": { + "value": "[parameters('authCertificateName')]" + }, + "authCertificateBlob": { + "value": "[parameters('authCertificateBlob')]" + }, + "authCertificatePassword": { + "value": "[parameters('authCertificatePassword')]" + } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-prerequisites')]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-asb')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-asb.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "azureServiceBusQueues": { + "value": "[parameters('azureServiceBusQueues')]" + }, + "azureServiceBusTopics": { + "value": "[parameters('azureServiceBusTopics')]" + }, + "azureServiceBusSubscriptions": { + "value": "[parameters('azureServiceBusSubscriptions')]" + }, + "azureServiceBusSkuName": { + "value": "[parameters('azureServiceBusSkuName')]" + }, + "azureServiceBusManageSharedAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "azureServiceBusSharedAccessKeyName": { + "value": "[parameters('azureServiceBusSharedAccessKeyName')]" + }, + "azureServiceBusNamespaceName": { + "value": "[parameters('azureServiceBusNamespaceName')]" + } + } + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-xc')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-xc.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + "sqlDatabaseEdition": { + "value": "[parameters('sqlDatabaseEdition')]" + }, + "sqlDatabaseMaxSize": { + "value": "[parameters('sqlDatabaseMaxSize')]" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "value": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + + "xcSingleHostingPlanName": { + "value": "[parameters('xcSingleHostingPlanName')]" + }, + "xcSingleHostingPlanSkuName": { + "value": "[parameters('xcSingleHostingPlanSkuName')]" + }, + "xcSingleHostingPlanSkuCapacity": { + "value": "[parameters('xcSingleHostingPlanSkuCapacity')]" + }, + + "xcSingleWebAppName": { + "value": "[parameters('xcSingleWebAppName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "securitySqlDatabaseName": { + "value": "[parameters('securitySqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "tasksSqlDatabaseName": { + "value": "[parameters('tasksSqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + + "coreSqlDatabaseUserName": { + "value": "[parameters('coreSqlDatabaseUserName')]" + }, + "coreSqlDatabasePassword": { + "value": "[parameters('coreSqlDatabasePassword')]" + }, + "securitySqlDatabaseUserName": { + "value": "[parameters('securitySqlDatabaseUserName')]" + }, + "securitySqlDatabasePassword": { + "value": "[parameters('securitySqlDatabasePassword')]" + }, + "masterSqlDatabaseUserName": { + "value": "[parameters('masterSqlDatabaseUserName')]" + }, + "masterSqlDatabasePassword": { + "value": "[parameters('masterSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "tasksSqlDatabaseUserName": { + "value": "[parameters('tasksSqlDatabaseUserName')]" + }, + "tasksSqlDatabasePassword": { + "value": "[parameters('tasksSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "value": "[parameters('storeSitecoreCountersInApplicationInsights')]" + }, + + "singleWebAppName": { + "value": "[parameters('singleWebAppName')]" + }, + "xcSingleWebAppName": { + "value": "[parameters('xcSingleWebAppName')]" + }, + + "singleMsDeployPackageUrl": { + "value": "[parameters('singleMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-application-xc'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-xc.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "templateLinkAccessToken": { + "value": "[parameters('templateLinkAccessToken')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "processingEngineSqlDatabaseUserName": { + "value": "[parameters('processingEngineSqlDatabaseUserName')]" + }, + "processingEngineSqlDatabasePassword": { + "value": "[parameters('processingEngineSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "xcSolrConnectionString": { + "value": "[parameters('xcSolrConnectionString')]" + }, + "machineLearningServerConnectionString": { + "value": "[parameters('machineLearningServerConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcSingleWebAppName": { + "value": "[parameters('xcSingleWebAppName')]" + }, + + "xcSingleMsDeployPackageUrl": { + "value": "[parameters('xcSingleMsDeployPackageUrl')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePath')]" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePath')]" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePassword')]" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + }, + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-xc'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-asb'))]" + ] + }, + { + "copy": { + "name": "modules", + "count": "[length(parameters('modules').items)]" + }, + "name": "[concat(parameters('deploymentId'), '-', parameters('modules').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('modules').items[copyIndex()].templateLink]" + }, + "parameters": { + "standard": { + "value": { + "infrastructure": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]", + + "deploymentId": "[parameters('deploymentId')]", + "location": "[parameters('location')]", + + "sitecoreAdminPassword": "[parameters('sitecoreAdminPassword')]", + "licenseXml": "[parameters('licenseXml')]", + + "sqlServerName": "[parameters('sqlServerName')]", + "sqlServerLogin": "[parameters('sqlServerLogin')]", + "sqlServerPassword": "[parameters('sqlServerPassword')]", + "sqlServerVersion": "[parameters('sqlServerVersion')]", + "sqlDatabaseCollation": "[parameters('sqlDatabaseCollation')]", + "sqlDatabaseEdition": "[parameters('sqlDatabaseEdition')]", + "sqlDatabaseMaxSize": "[parameters('sqlDatabaseMaxSize')]", + "sqlBasicDatabaseServiceObjectiveLevel": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]", + "sqlDatabaseServiceObjectiveLevel": "[parameters('sqlDatabaseServiceObjectiveLevel')]", + + "coreSqlDatabaseName": "[parameters('coreSqlDatabaseName')]", + "masterSqlDatabaseName": "[parameters('masterSqlDatabaseName')]", + "reportingSqlDatabaseName": "[parameters('reportingSqlDatabaseName')]", + "poolsSqlDatabaseName": "[parameters('poolsSqlDatabaseName')]", + "tasksSqlDatabaseName": "[parameters('tasksSqlDatabaseName')]", + "shardMapManagerSqlDatabaseName": "[parameters('shardMapManagerSqlDatabaseName')]", + "shard0SqlDatabaseName": "[parameters('shard0SqlDatabaseName')]", + "shard1SqlDatabaseName": "[parameters('shard1SqlDatabaseName')]", + "refDataSqlDatabaseName": "[parameters('refDataSqlDatabaseName')]", + "maSqlDatabaseName": "[parameters('maSqlDatabaseName')]", + "processingEngineTasksSqlDatabaseName": "[parameters('processingEngineTasksSqlDatabaseName')]", + "processingEngineStorageSqlDatabaseName": "[parameters('processingEngineStorageSqlDatabaseName')]", + + "coreSqlDatabaseUserName": "[parameters('coreSqlDatabaseUserName')]", + "coreSqlDatabasePassword": "[parameters('coreSqlDatabasePassword')]", + "securitySqlDatabaseUserName": "[parameters('securitySqlDatabaseUserName')]", + "securitySqlDatabasePassword": "[parameters('securitySqlDatabasePassword')]", + "masterSqlDatabaseUserName": "[parameters('masterSqlDatabaseUserName')]", + "masterSqlDatabasePassword": "[parameters('masterSqlDatabasePassword')]", + "reportingSqlDatabaseUserName": "[parameters('reportingSqlDatabaseUserName')]", + "reportingSqlDatabasePassword": "[parameters('reportingSqlDatabasePassword')]", + "poolsSqlDatabaseUserName": "[parameters('poolsSqlDatabaseUserName')]", + "poolsSqlDatabasePassword": "[parameters('poolsSqlDatabasePassword')]", + "tasksSqlDatabaseUserName": "[parameters('tasksSqlDatabaseUserName')]", + "tasksSqlDatabasePassword": "[parameters('tasksSqlDatabasePassword')]", + "xcRefDataSqlDatabaseUserName": "[parameters('xcRefDataSqlDatabaseUserName')]", + "xcRefDataSqlDatabasePassword": "[parameters('xcRefDataSqlDatabasePassword')]", + "xcShardMapManagerSqlDatabaseUserName": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "xcShardMapManagerSqlDatabasePassword": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "xcMaSqlDatabaseUserName": "[parameters('xcMaSqlDatabaseUserName')]", + "xcMaSqlDatabasePassword": "[parameters('xcMaSqlDatabasePassword')]", + "processingEngineSqlDatabaseUserName": "[parameters('processingEngineSqlDatabaseUserName')]", + "processingEngineSqlDatabasePassword": "[parameters('processingEngineSqlDatabasePassword')]", + + "searchServiceName": "[parameters('searchServiceName')]", + "searchServiceLocation": "[parameters('searchServiceLocation')]", + "searchServiceSkuName": "[parameters('searchServiceSkuName')]", + "searchServiceReplicaCount": "[parameters('searchServiceReplicaCount')]", + "searchServicePartitionCount": "[parameters('searchServicePartitionCount')]", + "xcSearchIndexName": "[parameters('xcSearchIndexName')]", + + "xcSolrConnectionString": "[parameters('xcSolrConnectionString')]", + "machineLearningServerConnectionString": "[parameters('machineLearningServerConnectionString')]", + + "useApplicationInsights": "[parameters('useApplicationInsights')]", + "applicationInsightsName": "[parameters('applicationInsightsName')]", + "applicationInsightsLocation": "[parameters('applicationInsightsLocation')]", + "storeSitecoreCountersInApplicationInsights": "[parameters('storeSitecoreCountersInApplicationInsights')]", + + "xcSingleHostingPlanName": "[parameters('xcSingleHostingPlanName')]", + "singleHostingPlanName": "[parameters('singleHostingPlanName')]", + + "xcSingleWebAppName": "[parameters('xcSingleWebAppName')]", + "singleWebAppName": "[parameters('singleWebAppName')]", + + "passwordSalt": "[parameters('passwordSalt')]", + + "xcServerConfigurationEnvironment": "[parameters('xcServerConfigurationEnvironment')]", + + "authCertificateBlob": "[parameters('authCertificateBlob')]", + "authCertificatePassword": "[parameters('authCertificatePassword')]", + + "machineLearningServerBlobEndpointCertificatePath": "[parameters('machineLearningServerBlobEndpointCertificatePath')]", + "machineLearningServerBlobEndpointCertificatePassword": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]", + "machineLearningServerTableEndpointCertificatePath": "[parameters('machineLearningServerTableEndpointCertificatePath')]", + "machineLearningServerTableEndpointCertificatePassword": "[parameters('machineLearningServerTableEndpointCertificatePassword')]", + + "machineLearningServerEndpointCertificationAuthorityCertificatePath": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]", + + "environmentType": "[parameters('environmentType')]" + } + }, + "extension": { "value": "[parameters('modules').items[copyIndex()].parameters]" } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-' , variables('dependencies')[copyIndex()].name)]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XDBSingle/azuredeploy.parameters.json b/Sitecore 9.3.0/XDBSingle/azuredeploy.parameters.json new file mode 100644 index 00000000..32d13bdf --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/azuredeploy.parameters.json @@ -0,0 +1,54 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "value": "" + }, + "location": { + "value": "" + }, + "sitecoreAdminPassword": { + "value": "" + }, + "licenseXml": { + "value": "" + }, + "sqlServerLogin": { + "value": "" + }, + "sqlServerPassword": { + "value": "" + }, + "singleMsDeployPackageUrl": { + "value": "" + }, + "xcSingleMsDeployPackageUrl": { + "value": "" + }, + "authCertificateBlob": { + "value": "" + }, + "authCertificatePassword": { + "value": "" + }, + "machineLearningServerConnectionString": { + "value": "" + }, + "machineLearningServerBlobEndpointCertificatePath": { + "value": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "" + } + } +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDBSingle/nested/application-xc-as.json b/Sitecore 9.3.0/XDBSingle/nested/application-xc-as.json new file mode 100644 index 00000000..5c815b52 --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/nested/application-xc-as.json @@ -0,0 +1,363 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "searchApiVersion": "2015-08-19", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + "processingEngineTasksSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineTasksSqlDatabaseName')))]", + "processingEngineStorageSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineStorageSqlDatabaseName')))]", + + "xcSingleWebAppNameTidy": "[toLower(trim(parameters('xcSingleWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "xcSearchIndexNameTidy": "[toLower(trim(parameters('xcSearchIndexName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "machineLearningServerConnectionStringTidy": "[trim(parameters('machineLearningServerConnectionString'))]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "searchServiceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "machineLearningServerConnectionString": { + "type": "securestring", + "minLength": 0, + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcSingleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('xcSingleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcSingleMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcSingleWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Collection Shard 0 Database Name": "[variables('shard0SqlDatabaseNameTidy')]", + "Collection Shard 1 Database Name": "[variables('shard1SqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Processing Engine Tasks Database Name": "[variables('processingEngineTasksSqlDatabaseNameTidy')]", + "Processing Engine Storage Database Name": "[variables('processingEngineStorageSqlDatabaseNameTidy')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reporting Database Name": "[variables('reportingSqlDatabaseNameTidy')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xdb Reference Data Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xdb Reference Data Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Search Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Search Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Blob Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Table Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Machine Learning Server Endpoint": "[variables('machineLearningServerConnectionStringTidy')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerBlobEndpointCertificatePath')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerTableEndpointCertificatePath')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerTableEndpointCertificatePassword')]", + "Machine Learning Server Storage WebApi Endpoint Certification Authority Certificate Path": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "Reporting Database Application User Name": "[parameters('reportingSqlDatabaseUserName')]", + "Reporting Database Application User Password": "[parameters('reportingSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "Processing Engine Database Application User Name": "[parameters('processingEngineSqlDatabaseUserName')]", + "Processing Engine Database Application User Password": "[parameters('processingEngineSqlDatabasePassword')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "Collection Search Service Url": "[concat('https://', variables('searchServiceNameTidy'), '.search.windows.net')]", + "Collection Search Index Name": "[variables('xcSearchIndexNameTidy')]", + "Collection Search Query Api Key": "[listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey]", + "Collection Search Worker Api Key": "[listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XConnect Server Instance Name": "XConnectSingle", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('xcSingleWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcSingleWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XDBSingle/nested/application-xc-solr.json b/Sitecore 9.3.0/XDBSingle/nested/application-xc-solr.json new file mode 100644 index 00000000..766c6e39 --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/nested/application-xc-solr.json @@ -0,0 +1,361 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + "processingEngineTasksSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineTasksSqlDatabaseName')))]", + "processingEngineStorageSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineStorageSqlDatabaseName')))]", + + "xcSingleWebAppNameTidy": "[toLower(trim(parameters('xcSingleWebAppName')))]", + + "xcSearchIndexNameTidy": "[toLower(trim(parameters('xcSearchIndexName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + + "machineLearningServerConnectionStringTidy": "[trim(parameters('machineLearningServerConnectionString'))]", + "xcSolrConnectionStringTidy": "[trim(parameters('xcSolrConnectionString'))]", + "xcSolrConnectionStringBaseUri": "[trim(first(split(variables('xcSolrConnectionStringTidy'), ';')))]", + "xcSolrConnectionStringBaseUriTidy": "[replace(replace(concat(variables('xcSolrConnectionStringBaseUri'), '/'), '//', '/'), ':/', '://')]", + "xcSolrConnectionStringParameters": "[replace(variables('xcSolrConnectionStringTidy'), variables('xcSolrConnectionStringBaseUri'), '')]", + "xcSolrConnectionString": "[uri(variables('xcSolrConnectionStringBaseUriTidy'), concat(variables('xcSearchIndexNameTidy'), variables('xcSolrConnectionStringParameters')))]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "xcSolrConnectionString": { + "type": "securestring", + "minLength": 1 + }, + "machineLearningServerConnectionString": { + "type": "securestring", + "minLength": 0, + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcSingleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('xcSingleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcSingleMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcSingleWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Collection Shard 0 Database Name": "[variables('shard0SqlDatabaseNameTidy')]", + "Collection Shard 1 Database Name": "[variables('shard1SqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Processing Engine Tasks Database Name": "[variables('processingEngineTasksSqlDatabaseNameTidy')]", + "Processing Engine Storage Database Name": "[variables('processingEngineStorageSqlDatabaseNameTidy')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reporting Database Name": "[variables('reportingSqlDatabaseNameTidy')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xdb Reference Data Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xdb Reference Data Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Search Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Search Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Blob Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Table Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Machine Learning Server Endpoint": "[variables('machineLearningServerConnectionStringTidy')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerBlobEndpointCertificatePath')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerTableEndpointCertificatePath')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerTableEndpointCertificatePassword')]", + "Machine Learning Server Storage WebApi Endpoint Certification Authority Certificate Path": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "Reporting Database Application User Name": "[parameters('reportingSqlDatabaseUserName')]", + "Reporting Database Application User Password": "[parameters('reportingSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "Processing Engine Database Application User Name": "[parameters('processingEngineSqlDatabaseUserName')]", + "Processing Engine Database Application User Password": "[parameters('processingEngineSqlDatabasePassword')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XConnect Server Instance Name": "XConnectSingle", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "License Xml": "[parameters('licenseXml')]", + "Search SOLR Core Application Connection String": "[variables('xcSolrConnectionString')]" + } + } + }, + { + "name": "[concat(variables('xcSingleWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceid('Microsoft.Web/sites/extensions', variables('xcSingleWebAppNameTidy'), 'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XDBSingle/nested/application-xc.json b/Sitecore 9.3.0/XDBSingle/nested/application-xc.json new file mode 100644 index 00000000..ae304edd --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/nested/application-xc.json @@ -0,0 +1,607 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2018-05-01", + + "searchProvider": "[if(empty(parameters('xcSolrConnectionString')), 'Azure', 'Solr')]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "templateLinkBase": { + "type": "string", + "minLength": 1, + "defaultValue": "[uri(replace(json(string(deployment().properties.templateLink)).uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "xcSolrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + }, + + "xcSingleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc-as')]", + "condition": "[equals(variables('searchProvider'), 'Azure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'application-xc-as.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[parameters('infrastructure')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "processingEngineSqlDatabaseUserName": { + "value": "[parameters('processingEngineSqlDatabaseUserName')]" + }, + "processingEngineSqlDatabasePassword": { + "value": "[parameters('processingEngineSqlDatabasePassword')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "machineLearningServerConnectionString": { + "value": "[parameters('machineLearningServerConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcSingleWebAppName": { + "value": "[parameters('xcSingleWebAppName')]" + }, + + "xcSingleMsDeployPackageUrl": { + "value": "[parameters('xcSingleMsDeployPackageUrl')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePath')]" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePath')]" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePassword')]" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusAccessKeyName')]" + }, + + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc-solr')]", + "condition": "[not(equals(variables('searchProvider'), 'Azure'))]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'application-xc-solr.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[parameters('infrastructure')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "processingEngineSqlDatabaseUserName": { + "value": "[parameters('processingEngineSqlDatabaseUserName')]" + }, + "processingEngineSqlDatabasePassword": { + "value": "[parameters('processingEngineSqlDatabasePassword')]" + }, + + + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "xcSolrConnectionString": { + "value": "[parameters('xcSolrConnectionString')]" + }, + + "machineLearningServerConnectionString": { + "value": "[parameters('machineLearningServerConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcSingleWebAppName": { + "value": "[parameters('xcSingleWebAppName')]" + }, + + "xcSingleMsDeployPackageUrl": { + "value": "[parameters('xcSingleMsDeployPackageUrl')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePath')]" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePath')]" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePassword')]" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusAccessKeyName')]" + }, + + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + } + } + ] +} diff --git a/Sitecore 9.3.0/XDBSingle/nested/application.json b/Sitecore 9.3.0/XDBSingle/nested/application.json new file mode 100644 index 00000000..cbc3d0e0 --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/nested/application.json @@ -0,0 +1,270 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-03-01", + "applicationInsightsApiVersion": "2015-05-01", + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "securitySqlDatabaseNameTidy": "[toLower(trim(parameters('securitySqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "repSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "tasksSqlDatabaseNameTidy": "[toLower(trim(parameters('tasksSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "singleWebAppNameTidy": "[toLower(trim(parameters('singleWebAppName')))]", + "xcSingleWebAppNameTidy": "[toLower(trim(parameters('xcSingleWebAppName')))]", + "applicationInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "sqlServerFqdn": { + "type": "string", + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "tasksSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "tasksuser" + }, + "tasksSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('tasks', parameters('passwordSalt'))), uniqueString('tasks', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('tasks', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single')]" + }, + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + }, + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + "singleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + } + }, + "resources": [ + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('singleMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('singleWebAppNameTidy')]", + "Sitecore Admin New Password": "[parameters('sitecoreAdminPassword')]", + "Core DB User Name": "[parameters('coreSqlDatabaseUserName')]", + "Core DB Password": "[parameters('coreSqlDatabasePassword')]", + "Security DB User Name": "[parameters('securitySqlDatabaseUserName')]", + "Security DB Password": "[parameters('securitySqlDatabasePassword')]", + "Master DB User Name": "[parameters('masterSqlDatabaseUserName')]", + "Master DB Password": "[parameters('masterSqlDatabasePassword')]", + "XDB Processing Tasks DB User Name": "[parameters('tasksSqlDatabaseUserName')]", + "XDB Processing Tasks DB Password": "[parameters('tasksSqlDatabasePassword')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Security Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "XDB Processing Tasks Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('tasksSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Reporting Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('repSqlDatabaseNameTidy'),';User Id=', parameters('reportingSqlDatabaseUserName'), ';Password=', parameters('reportingSqlDatabasePassword'), ';')]", + "XDB Processing Pools Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('poolsSqlDatabaseNameTidy'),';User Id=', parameters('poolsSqlDatabaseUserName'), ';Password=', parameters('poolsSqlDatabasePassword'), ';')]", + "XDB Processing Tasks Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('tasksSqlDatabaseNameTidy'),';User Id=', parameters('tasksSqlDatabaseUserName'), ';Password=', parameters('tasksSqlDatabasePassword'), ';')]", + "XDB Reference Data Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('refDataSqlDatabaseNameTidy'),';User Id=', parameters('xcRefDataSqlDatabaseUserName'), ';Password=', parameters('xcRefDataSqlDatabasePassword'), ';')]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy')), variables('applicationInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'Single', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "XConnect Collection": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XConnect Collection Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "License Xml": "[parameters('licenseXml')]" + } + } + ] + } + }, + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceid('Microsoft.Web/sites/extensions', variables('singleWebAppNameTidy'), 'MSDeploy')]" + ] + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDBSingle/nested/emptyAddon.json b/Sitecore 9.3.0/XDBSingle/nested/emptyAddon.json new file mode 100644 index 00000000..18909e4e --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/nested/emptyAddon.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": {} + }, + "extension": { + "type": "secureObject", + "defaultValue": {} + } + }, + "resources": [] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XDBSingle/nested/infrastructure-asb.json b/Sitecore 9.3.0/XDBSingle/nested/infrastructure-asb.json new file mode 100644 index 00000000..536831c3 --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/nested/infrastructure-asb.json @@ -0,0 +1,193 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "azureServiceBusQueues": { + "type": "array", + "defaultValue": [ + "error", + "Sitecore_CT_ModelTrainingTaskStatusSubscriber", + "Sitecore_EXM_AutomatedMessagesQueue", + "Sitecore_EXM_ClearSuppressionListQueue", + "Sitecore_EXM_ConfirmSubscriptionMessagesQueue", + "Sitecore_EXM_EmailAddressHistoryMessagesQueue", + "Sitecore_EXM_EmailOpenedMessagesQueue", + "Sitecore_EXM_SentMessagesQueue", + "Sitecore_EXM_UpdateListSubscriptionMessagesQueue", + "Sitecore_MA_PurgeFromCampaignMessages", + "Sitecore_PE_TaskRegistrationProducer", + "Sitecore_PE_TaskProgressProducer", + "Sitecore_PE_TaskStatusPublisher", + "Sitecore_PE_TaskRegistrationConsumer", + "Sitecore_PE_TaskProgressConsumer" + ] + }, + "azureServiceBusTopics": { + "type": "array", + "defaultValue": [ + "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions" + ] + }, + "azureServiceBusSubscriptions": { + "type": "array", + "defaultValue": [ + { + "topic": "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions", + "subscription": "Sitecore_CT_ModelTrainingTaskStatusSubscriber" + } + ] + }, + "azureServiceBusSkuName": { + "type": "string", + "defaultValue": "standard" + }, + "azureServiceBusManageSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootManageSharedAccessKey" + }, + "azureServiceBusSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootSharedAccessKey" + }, + "azureServiceBusNamespaceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-asb')]" + } + }, + "variables": { + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "resources": [ + { + "apiVersion": "[variables('azureServiceBusVersion')]", + "name": "[variables('azureServiceBusNamespaceNameTidy')]", + "type": "Microsoft.ServiceBus/namespaces", + "location": "[parameters('location')]", + "sku": { + "name": "[parameters('azureServiceBusSkuName')]" + } + }, + { + "type": "Microsoft.ServiceBus/namespaces/authorizationRules", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'),'/',parameters('azureServiceBusManageSharedAccessKeyName'))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "properties": { + "rights": [ + "Listen", + "Manage", + "Send" + ] + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "type": "Microsoft.ServiceBus/namespaces/authorizationRules", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'),'/', parameters('azureServiceBusSharedAccessKeyName'))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "properties": { + "rights": [ + "Listen", + "Send" + ] + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "copy": { + "name": "topics", + "count": "[length(parameters('azureServiceBusTopics'))]" + }, + "type": "Microsoft.ServiceBus/namespaces/topics", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusTopics')[copyIndex()]))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "scale": null, + "properties": { + "defaultMessageTimeToLive": "P14D", + "maxSizeInMegabytes": 1024, + "requiresDuplicateDetection": false, + "duplicateDetectionHistoryTimeWindow": "PT10M", + "enableBatchedOperations": true, + "status": "Active", + "supportOrdering": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": false, + "enableExpress": false + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "copy": { + "name": "subscriptions", + "count": "[length(parameters('azureServiceBusSubscriptions'))]" + }, + "type": "Microsoft.ServiceBus/namespaces/topics/subscriptions", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].topic), '/', toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "scale": null, + "properties": { + "lockDuration": "PT1M", + "requiresSession": false, + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": false, + "deadLetteringOnFilterEvaluationExceptions": true, + "maxDeliveryCount": 10, + "status": "Active", + "enableBatchedOperations": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "forwardTo": "[toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription)]" + }, + "dependsOn": [ + "[resourceId('Microsoft.ServiceBus/namespaces', variables('azureServiceBusNamespaceNameTidy'))]", + "[resourceId('Microsoft.ServiceBus/namespaces/topics', variables('azureServiceBusNamespaceNameTidy'), toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].topic))]", + "[resourceId('Microsoft.ServiceBus/namespaces/queues', variables('azureServiceBusNamespaceNameTidy'), toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription))]" + ] + }, + { + "copy": { + "name": "queues", + "count": "[length(parameters('azureServiceBusQueues'))]" + }, + "apiVersion": "[variables('azureServiceBusVersion')]", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusQueues')[copyIndex()]))]", + "type": "Microsoft.ServiceBus/Namespaces/Queues", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.ServiceBus/namespaces', variables('azureServiceBusNamespaceNameTidy'))]" + ], + "properties": { + "lockDuration": "PT5M", + "maxSizeInMegabytes": "1024", + "requiresDuplicateDetection": "false", + "requiresSession": "false", + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": "false", + "duplicateDetectionHistoryTimeWindow": "PT10M", + "maxDeliveryCount": "10", + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": "false", + "enableExpress": "false" + } + } + ] +} diff --git a/Sitecore 9.3.0/XDBSingle/nested/infrastructure-xc.json b/Sitecore 9.3.0/XDBSingle/nested/infrastructure-xc.json new file mode 100644 index 00000000..1d27fafe --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/nested/infrastructure-xc.json @@ -0,0 +1,413 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + "processingEngineTasksSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineTasksSqlDatabaseName')))]", + "processingEngineStorageSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineStorageSqlDatabaseName')))]", + + "xcSingleHostingPlanNameTidy": "[toLower(trim(parameters('xcSingleHostingPlanName')))]", + + "xcSingleWebAppNameTidy": "[toLower(trim(parameters('xcSingleWebAppName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "xcSingle": "xc-single", + "xcRefData": "xc-refdata", + "reporting": "reporting", + "xcShard0": "xc-shard-0", + "xcShard1": "xc-shard-1", + "xcShardMapManager": "xc-smm", + "ma": "ma", + "messaging": "messaging", + "cortexProcessingEngineTasks": "processingenginetasks", + "cortexProcessingEngineStorage": "processingenginestorage" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + "sqlDatabaseEdition": { + "type": "string", + "minLength": 1, + "defaultValue": "Standard" + }, + "sqlDatabaseMaxSize": { + "type": "string", + "minLength": 1, + "defaultValue": "268435456000" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S0" + }, + + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "xcSingleHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single-hp')]" + }, + "xcSingleHostingPlanSkuName": { + "type": "string", + "defaultValue": "S1" + }, + "xcSingleHostingPlanSkuCapacity": { + "type": "int", + "defaultValue": 1 + }, + + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('xcSingleHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('xcSingleHostingPlanSkuName')]", + "capacity": "[parameters('xcSingleHostingPlanSkuCapacity')]" + }, + "properties": { + "name": "[variables('xcSingleHostingPlanNameTidy')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcSingle]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcSingleWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcSingleHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcSingleHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcSingle]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('refDataSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('refDataSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcRefData]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('reportingSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('reportingSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').reporting]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('shardMapManagerSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDataBaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shardMapManagerSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShardMapManager]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('shard0SqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDataBaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shard0SqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShard0]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('shard1SqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDataBaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shard1SqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShard1]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('maSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDataBaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('maSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').ma]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('processingEngineTasksSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('processingEngineTasksSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexProcessingEngineTasks]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('processingEngineStorageSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('processingEngineStorageSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexProcessingEngineStorage]" + } + } + ] +} diff --git a/Sitecore 9.3.0/XDBSingle/nested/infrastructure.json b/Sitecore 9.3.0/XDBSingle/nested/infrastructure.json new file mode 100644 index 00000000..790e0616 --- /dev/null +++ b/Sitecore 9.3.0/XDBSingle/nested/infrastructure.json @@ -0,0 +1,468 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + "searchApiVersion": "2015-08-19", + "applicationInsightsApiVersion": "2015-05-01", + "certificateApiVersion": "2014-11-01", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "tasksSqlDatabaseNameTidy": "[toLower(trim(parameters('tasksSqlDatabaseName')))]", + + "singleHostingPlanNameTidy": "[toLower(trim(parameters('singleHostingPlanName')))]", + + "singleWebAppNameTidy": "[toLower(trim(parameters('singleWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + + "applicationInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "applicationInsightsPricePlanTidy": "[toLower(trim(parameters('applicationInsightsPricePlan')))]", + + "authCertificateNameTidy": "[toLower(trim(parameters('authCertificateName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "single": "single", + "core": "core", + "master": "master", + "web": "web", + "pools": "prc-pools", + "tasks": "prc-tasks" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + "sqlDatabaseEdition": { + "type": "string", + "minLength": 1, + "defaultValue": "Standard" + }, + "sqlDatabaseMaxSize": { + "type": "string", + "minLength": 1, + "defaultValue": "268435456000" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S0" + }, + "sqlDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S1" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + + "deployAzureSearch": { + "type": "bool", + "defaultValue": true + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceSkuName": { + "type": "string", + "defaultValue": "Standard" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + "searchServicePartitionCount": { + "type": "int", + "defaultValue": 1 + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + "applicationInsightsCurrentBillingFeatures": { + "type": "string", + "defaultValue": "Basic", + "allowedValues": [ "Basic", "Application Insights Enterprise" ] + }, + "applicationInsightsDataVolumeCap": { + "type": "string", + "defaultValue": "0.33" + }, + + "singleHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single-hp')]" + }, + "singleHostingPlanSkuName": { + "type": "string", + "defaultValue": "S1" + }, + "singleHostingPlanSkuCapacity": { + "type": "int", + "defaultValue": 1 + }, + + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single')]" + }, + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1 + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1 + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('singleHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('singleHostingPlanSkuName')]", + "capacity": "[parameters('singleHostingPlanSkuCapacity')]" + }, + "properties": { + "name": "[variables('singleHostingPlanNameTidy')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').single]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('singleWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').single]" + } + }, + { + "type": "Microsoft.Sql/servers", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "administratorLogin": "[parameters('sqlServerLogin')]", + "administratorLoginPassword": "[parameters('sqlServerPassword')]", + "version": "[parameters('sqlServerVersion')]" + }, + "name": "[variables('sqlServerNameTidy')]", + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]" + }, + "resources": [ + { + "type": "firewallrules", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "endIpAddress": "0.0.0.0", + "startIpAddress": "0.0.0.0" + }, + "name": "AllowAllAzureIps", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ] + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('coreSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('coreSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').core]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('masterSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('masterSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').master]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('poolsSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('poolsSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').pools]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('tasksSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('tasksSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').tasks]" + } + } + ] + }, + { + "type": "Microsoft.Search/searchServices", + "condition": "[parameters('deployAzureSearch')]", + "apiVersion": "[variables('searchApiVersion')]", + "name": "[variables('searchServiceNameTidy')]", + "location": "[if(parameters('deployAzureSearch'), parameters('searchServiceLocation'), 'westus')]", + "sku": { + "name": "[toLower(parameters('searchServiceSkuName'))]" + }, + "properties": { + "replicaCount": "[parameters('searchServiceReplicaCount')]", + "partitionCount": "[parameters('searchServicePartitionCount')]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components", + "condition": "[parameters('useApplicationInsights')]", + "name": "[variables('applicationInsightsNameTidy')]", + "apiVersion": "[variables('applicationInsightsApiVersion')]", + "location": "[parameters('applicationInsightsLocation')]", + "properties": { + "ApplicationId": "[variables('applicationInsightsNameTidy')]", + "Application_Type": "web" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components/CurrentBillingFeatures", + "condition": "[parameters('useApplicationInsights')]", + "name": "[concat(variables('applicationInsightsNameTidy'), '/', variables('applicationInsightsPricePlanTidy'))]", + "location": "[parameters('applicationInsightsLocation')]", + "apiVersion": "[variables('applicationInsightsApiVersion')]", + "properties": { + "CurrentBillingFeatures": "[parameters('applicationInsightsCurrentBillingFeatures')]", + "DataVolumeCap": { + "Cap": "[float(parameters('applicationInsightsDataVolumeCap'))]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Web/certificates", + "name": "[variables('authCertificateNameTidy')]", + "apiVersion": "[variables('certificateApiVersion')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]" + ], + "properties": { + "password": "[parameters('authCertificatePassword')]", + "pfxBlob": "[parameters('authCertificateBlob')]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + } + ], + "outputs": { + "infrastructure": { + "type": "object", + "value": { + "sqlServerFqdn": "[reference(concat('Microsoft.Sql/servers/', variables('sqlServerNameTidy'))).fullyQualifiedDomainName]", + "authCertificateThumbprint": "[reference(resourceId('Microsoft.Web/certificates', variables('authCertificateNameTidy'))).thumbprint]" + } + } + } +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XM/README.md b/Sitecore 9.3.0/XM/README.md new file mode 100644 index 00000000..a89387a7 --- /dev/null +++ b/Sitecore 9.3.0/XM/README.md @@ -0,0 +1,61 @@ +# Sitecore XM Environment + +Visualize: +[Infrastructure](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxm%2Fnested%2Finfrastructure.json), +[Application deployment](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxm%2Fnested%2Fapplication.json) + + +This template creates a Sitecore XM Environment with all resources necessary to run Sitecore. + +Resources provisioned: + + * Azure SQL databases : core, master, web, forms + * Azure Redis Cache for session state + * Sitecore roles: Content Delivery, Content Management + * Hosting plans: one per role + * Preconfigured Web Applications, based on the provided WebDeploy packages + * Azure Search Service + * (optional) Application Insights for diagnostics and monitoring + + +## Parameters +The **deploymentId** and **licenseXml** parameters are to be filled in by the PowerShell script. + +| Parameter | Description +|-------------------------|------------------------------------------------ +| sqlServerLogin | The name of the administrator account for the newly created Azure SQL server. +| sqlServerPassword | The password for the administrator account for Azure SQL server. +| sitecoreAdminPassword | The new password for the Sitecore **admin** account. +| siMsDeployPackageUrl | The HTTP(s) URL to a Sitecore Identity Server Web Deploy package. +| cmMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XM Content Management Web Deploy package. +| cdMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XM Content Delivery Web Deploy package. +| authCertificateBlob | A Base64-encoded blob of the authentication certificate in PKCS #12 format. +| authCertificatePassword | A password to the authentication certificate. + +> **Note:** +> * The **searchServiceLocation** parameter can be added to the `azuredeploy.parameters.json` +> to specify geographical region to deploy Azure Search Service. Default value is the resource +> group location. +> * The **applicationInsightsLocation** parameter can be added to the`azuredeploy.parameters.json` +> to specify geographical region to deploy Application Insights. Default value is **East US**. +> * The **useApplicationInsights** parameter can be added to the`azuredeploy.parameters.json` +> to control whether Application Insights will be used for diagnostics and monitoring. Default value is **true**. + +## Deploying with Solr Search + +> Sitecore Solr PaaS deployment requires the following parameter to be specified in `azuredeploy.parameters.json`: + +| Parameter | Description +--------------------------------------------|------------------------------------------------ +| solrConnectionString | Connection string to existing Solr server. + +> **solrConnectionString** parameter is used to identify whether Solr search provider is to be used for the deployment or not. +> The default value is empty which means that Azure Search will be used. + +## Deploying with App Service Environment v2 +> **Note**: Application Service Environment is not provisioned as part of this deployment template. Please reffer to official [documentation](https://docs.microsoft.com/en-us/azure/app-service/environment/intro) for information about ASE deployment and configuration. + +| Parameter | Description +--------------------------------------------|------------------------------------------------ +| aseName | Name of deployed App Service Environment +| aseResourceGroupName | Resource group where App Service Environment is deployed. Provide this value if ASE is hosted in different resouce group \ No newline at end of file diff --git a/Sitecore 9.3.0/XM/addons/bootloader.json b/Sitecore 9.3.0/XM/addons/bootloader.json new file mode 100644 index 00000000..a9b9ec5a --- /dev/null +++ b/Sitecore 9.3.0/XM/addons/bootloader.json @@ -0,0 +1,80 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "cmWebAppNameTidy": "[toLower(trim(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[toLower(trim(parameters('cdWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "deploymentId": null, + "location": null, + "cmWebAppName": null, + "cdWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "msDeployPackageUrl": "$default" + } + }, + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + "cmWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cmWebAppName, concat(parameters('deploymentId'), '-cm'))]" + }, + "cdWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cdWebAppName, concat(parameters('deploymentId'), '-cd'))]" + }, + "msDeployPackageUrl": { + "type": "securestring", + "defaultValue": "[parameters('extension').msDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cdWebAppNameTidy')]" + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XM/addons/generic.json b/Sitecore 9.3.0/XM/addons/generic.json new file mode 100644 index 00000000..b2bb1a2c --- /dev/null +++ b/Sitecore 9.3.0/XM/addons/generic.json @@ -0,0 +1,137 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + + "coreSqlDatabaseNameTidy": "[trim(toLower(parameters('coreSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[trim(toLower(parameters('masterSqlDatabaseName')))]", + + "cmWebAppNameTidy": "[trim(toLower(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[trim(toLower(parameters('cdWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "infrastructure": { "sqlServerFqdn":null }, + "deploymentId": null, + "location": null, + "sqlServerLogin": null, + "sqlServerPassword": null, + "coreSqlDatabaseName": null, + "masterSqlDatabaseName": null, + "cmWebAppName": null, + "cdWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "cmMsDeployPackageUrl": null, + "cdMsDeployPackageUrl": null + } + }, + "infrastructure": { + "type": "secureObject", + "defaultValue": "[parameters('standard').infrastructure]" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('standard').sqlServerLogin]" + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[parameters('standard').sqlServerPassword]" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').coreSqlDatabaseName, concat(parameters('deploymentId'), '-core-db'))]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').masterSqlDatabaseName, concat(parameters('deploymentId'), '-master-db'))]" + }, + + "cmWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cmWebAppName, concat(parameters('deploymentId'), '-cm'))]" + }, + "cdWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cdWebAppName, concat(parameters('deploymentId'), '-cd'))]" + }, + + "cmMsDeployPackageUrl": { + "type": "securestring", + "defaultValue": "[parameters('extension').cmMsDeployPackageUrl]" + }, + "cdMsDeployPackageUrl": { + "type": "securestring", + "defaultValue": "[parameters('extension').cdMsDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('cmMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('cdMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cdWebAppNameTidy')]" + } + } + ] + } + } + ] +} diff --git a/Sitecore 9.3.0/XM/azuredeploy.json b/Sitecore 9.3.0/XM/azuredeploy.json new file mode 100644 index 00000000..79fbe68d --- /dev/null +++ b/Sitecore 9.3.0/XM/azuredeploy.json @@ -0,0 +1,701 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2018-05-01", + "defaultDependency": [ + { + "name": "application" + } + ], + "dependencies": "[concat(variables('defaultDependency'), parameters('modules').items)]" + }, + "parameters": { + "modules": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + "prerequisites": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty-prerequisite", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + + "templateLinkBase": { + "type": "string", + "defaultValue": "[uri(replace(json(string(deployment().properties.templateLink)).uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "coreSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "redisCacheName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-redis')]" + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + + "solrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + + "siHostingPlanName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-si-hp')]" + }, + "cmHostingPlanName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-cm-hp')]" + }, + "cdHostingPlanName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-cd-hp')]" + }, + + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "cmWebAppName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-cm')]" + }, + "cdWebAppName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-cd')]" + }, + + "siMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "cmMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "cdMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "securityClientIp": { + "type": "string", + "defaultValue": "0.0.0.0" + }, + "securityClientIpMask": { + "type": "string", + "defaultValue": "0.0.0.0" + }, + + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1 + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1 + }, + + "siClientSecret": { + "type": "securestring", + "minLength": 6, + "defaultValue": "[toUpper(replace(guid(uniqueString('siClientSecret', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '-',''))]" + }, + + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "aseName":{ + "type": "string", + "defaultValue": "" + }, + "aseResourceGroupName":{ + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "cmNodeJsVersion":{ + "type": "string", + "defaultValue": "8.11.1" + }, + "cdNodeJsVersion":{ + "type": "string", + "defaultValue": "8.11.1" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + } + }, + "resources": [ + { + "copy": { + "name": "[concat(parameters('deploymentId'), '-prerequisites')]", + "count": "[length(parameters('prerequisites').items)]", + "mode": "Serial", + "batchSize": 1 + }, + "name": "[concat(parameters('deploymentId'), '-', parameters('prerequisites').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('prerequisites').items[copyIndex()].templateLink]" + }, + "parameters": "[parameters('prerequisites').items[copyIndex()].parameters]" + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "sqlServerVersion": { + "value": "[parameters('sqlServerVersion')]" + }, + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + + "authCertificateName": { + "value": "[parameters('authCertificateName')]" + }, + "authCertificateBlob": { + "value": "[parameters('authCertificateBlob')]" + }, + "authCertificatePassword": { + "value": "[parameters('authCertificatePassword')]" + }, + + "deployAzureSearch": { + "value": "[empty(parameters('solrConnectionString'))]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "searchServiceLocation": { + "value": "[parameters('searchServiceLocation')]" + }, + "searchServiceReplicaCount": { + "value": "[parameters('searchServiceReplicaCount')]" + }, + + "redisCacheName": { + "value": "[parameters('redisCacheName')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "applicationInsightsLocation": { + "value": "[parameters('applicationInsightsLocation')]" + }, + "applicationInsightsPricePlan": { + "value": "[parameters('applicationInsightsPricePlan')]" + }, + + "siHostingPlanName": { + "value": "[parameters('siHostingPlanName')]" + }, + "cmHostingPlanName": { + "value": "[parameters('cmHostingPlanName')]" + }, + "cdHostingPlanName": { + "value": "[parameters('cdHostingPlanName')]" + }, + + "siWebAppName": { + "value": "[parameters('siWebAppName')]" + }, + "cmWebAppName": { + "value": "[parameters('cmWebAppName')]" + }, + "cdWebAppName": { + "value": "[parameters('cdWebAppName')]" + }, + "aseName": { + "value": "[parameters('aseName')]" + }, + "aseResourceGroupName":{ + "value": "[parameters('aseResourceGroupName')]" + } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-prerequisites')]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "securitySqlDatabaseName": { + "value": "[parameters('securitySqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + + "coreSqlDatabaseUserName": { + "value": "[parameters('coreSqlDatabaseUserName')]" + }, + "coreSqlDatabasePassword": { + "value": "[parameters('coreSqlDatabasePassword')]" + }, + "masterSqlDatabaseUserName": { + "value": "[parameters('masterSqlDatabaseUserName')]" + }, + "masterSqlDatabasePassword": { + "value": "[parameters('masterSqlDatabasePassword')]" + }, + "securitySqlDatabaseUserName": { + "value": "[parameters('securitySqlDatabaseUserName')]" + }, + "securitySqlDatabasePassword": { + "value": "[parameters('securitySqlDatabasePassword')]" + }, + "webSqlDatabaseUserName": { + "value": "[parameters('webSqlDatabaseUserName')]" + }, + "webSqlDatabasePassword": { + "value": "[parameters('webSqlDatabasePassword')]" + }, + "formsSqlDatabaseUserName": { + "value": "[parameters('formsSqlDatabaseUserName')]" + }, + "formsSqlDatabasePassword": { + "value": "[parameters('formsSqlDatabasePassword')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + + "solrConnectionString": { + "value": "[parameters('solrConnectionString')]" + }, + + "redisCacheName": { + "value": "[parameters('redisCacheName')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "value": "[parameters('storeSitecoreCountersInApplicationInsights')]" + }, + + "siWebAppName": { + "value": "[parameters('siWebAppName')]" + }, + "cmWebAppName": { + "value": "[parameters('cmWebAppName')]" + }, + "cdWebAppName": { + "value": "[parameters('cdWebAppName')]" + }, + + "siMsDeployPackageUrl": { + "value": "[parameters('siMsDeployPackageUrl')]" + }, + "cmMsDeployPackageUrl": { + "value": "[parameters('cmMsDeployPackageUrl')]" + }, + "cdMsDeployPackageUrl": { + "value": "[parameters('cdMsDeployPackageUrl')]" + }, + "securityClientIp": { + "value": "[parameters('securityClientIp')]" + }, + "securityClientIpMask": { + "value": "[parameters('securityClientIpMask')]" + }, + + "siClientSecret": { + "value": "[parameters('siClientSecret')]" + }, + "telerikEncryptionKey": { + "value": "[parameters('telerikEncryptionKey')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "cmNodeJsVersion": { + "value": "[parameters('cmNodeJsVersion')]" + }, + + "cdNodeJsVersion": { + "value": "[parameters('cdNodeJsVersion')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure'))]" + ] + }, + { + "copy": { + "name": "modules", + "count": "[length(parameters('modules').items)]" + }, + "name": "[concat(parameters('deploymentId'), '-' , parameters('modules').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('modules').items[copyIndex()].templateLink]" + }, + "parameters": { + "standard": { + "value": { + + "infrastructure": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]", + + "deploymentId": "[parameters('deploymentId')]", + "location": "[parameters('location')]", + + "sitecoreAdminPassword": "[parameters('sitecoreAdminPassword')]", + "licenseXml": "[parameters('licenseXml')]", + "sitecoreSKU": "[parameters('sitecoreSKU')]", + + "sqlServerName": "[parameters('sqlServerName')]", + "sqlServerLogin": "[parameters('sqlServerLogin')]", + "sqlServerPassword": "[parameters('sqlServerPassword')]", + + "sqlServerVersion": "[parameters('sqlServerVersion')]", + "sqlDatabaseCollation": "[parameters('sqlDatabaseCollation')]", + + "coreSqlDatabaseName": "[parameters('coreSqlDatabaseName')]", + "masterSqlDatabaseName": "[parameters('masterSqlDatabaseName')]", + "webSqlDatabaseName": "[parameters('webSqlDatabaseName')]", + "formsSqlDatabaseName": "[parameters('formsSqlDatabaseName')]", + + "coreSqlDatabaseUserName": "[parameters('coreSqlDatabaseUserName')]", + "coreSqlDatabasePassword": "[parameters('coreSqlDatabasePassword')]", + "masterSqlDatabaseUserName": "[parameters('masterSqlDatabaseUserName')]", + "masterSqlDatabasePassword": "[parameters('masterSqlDatabasePassword')]", + "securitySqlDatabaseUserName": "[parameters('securitySqlDatabaseUserName')]", + "securitySqlDatabasePassword": "[parameters('securitySqlDatabasePassword')]", + "webSqlDatabaseUserName": "[parameters('webSqlDatabaseUserName')]", + "webSqlDatabasePassword": "[parameters('webSqlDatabasePassword')]", + "formsSqlDatabaseUserName": "[parameters('formsSqlDatabaseUserName')]", + "formsSqlDatabasePassword": "[parameters('formsSqlDatabasePassword')]", + + "searchServiceName": "[parameters('searchServiceName')]", + "searchServiceLocation": "[parameters('searchServiceLocation')]", + + "solrConnectionString": "[parameters('solrConnectionString')]", + + "redisCacheName": "[parameters('redisCacheName')]", + + "useApplicationInsights": "[parameters('useApplicationInsights')]", + "applicationInsightsName": "[parameters('applicationInsightsName')]", + "applicationInsightsLocation": "[parameters('applicationInsightsLocation')]", + "storeSitecoreCountersInApplicationInsights": "[parameters('storeSitecoreCountersInApplicationInsights')]", + + "cmHostingPlanName": "[parameters('cmHostingPlanName')]", + "cdHostingPlanName": "[parameters('cdHostingPlanName')]", + + "cmWebAppName": "[parameters('cmWebAppName')]", + "cdWebAppName": "[parameters('cdWebAppName')]", + + "securityClientIp": "[parameters('securityClientIp')]", + "securityClientIpMask": "[parameters('securityClientIpMask')]", + + "passwordSalt": "[parameters('passwordSalt')]", + + "environmentType": "[parameters('environmentType')]" + } + }, + "extension": { "value": "[parameters('modules').items[copyIndex()].parameters]" } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-' , variables('dependencies')[copyIndex()].name)]" + ] + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XM/azuredeploy.parameters.json b/Sitecore 9.3.0/XM/azuredeploy.parameters.json new file mode 100644 index 00000000..38a3b446 --- /dev/null +++ b/Sitecore 9.3.0/XM/azuredeploy.parameters.json @@ -0,0 +1,36 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "value": "" + }, + "sqlServerLogin": { + "value": "" + }, + "sqlServerPassword": { + "value": "" + }, + "siMsDeployPackageUrl": { + "value": "" + }, + "cmMsDeployPackageUrl": { + "value": "" + }, + "cdMsDeployPackageUrl": { + "value": "" + }, + "sitecoreAdminPassword": { + "value": "" + }, + "licenseXml": { + "value": "" + }, + "authCertificateBlob":{ + "value": "" + }, + "authCertificatePassword":{ + "value": "" + } + } +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XM/nested/application.json b/Sitecore 9.3.0/XM/nested/application.json new file mode 100644 index 00000000..b9532cd5 --- /dev/null +++ b/Sitecore 9.3.0/XM/nested/application.json @@ -0,0 +1,389 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "searchApiVersion": "2015-08-19", + "searchRestApiVersion": "2017-11-11", + "redisApiVersion": "2016-04-01", + "applicationInsightsApiVersion": "2015-05-01", + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "securitySqlDatabaseNameTidy": "[toLower(trim(parameters('securitySqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + "redisCacheNameTidy": "[toLower(trim(parameters('redisCacheName')))]", + "siWebAppNameTidy": "[toLower(trim(parameters('siWebAppName')))]", + "cmWebAppNameTidy": "[toLower(trim(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[toLower(trim(parameters('cdWebAppName')))]", + "applicationInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "searchProvider": "[if(empty(parameters('solrConnectionString')), 'Azure', 'Solr')]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "authCertificateThumbprint": null, + "siWebAppHostName": null, + "cmWebAppHostName": null, + "sqlServerFqdn": null + } + }, + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "sqlServerFqdn": { + "type": "string", + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + "coreSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "solrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + "redisCacheName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-redis')]" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + "siWebAppHostName": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').siWebAppHostName]" + }, + "cmWebAppHostName": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').cmWebAppHostName]" + }, + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "cmWebAppName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-cm')]" + }, + "cdWebAppName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-cd')]" + }, + "siMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "cmMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "cdMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + "siClientSecret": { + "type": "securestring", + "minLength": 6, + "defaultValue": "[toUpper(replace(guid(uniqueString('siClientSecret', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '-',''))]" + }, + "securityClientIp": { + "type": "string", + "defaultValue": "0.0.0.0" + }, + "securityClientIpMask": { + "type": "string", + "defaultValue": "0.0.0.0" + }, + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + "cmNodeJsVersion":{ + "type": "string", + "defaultValue": "8.11.1" + }, + "cdNodeJsVersion":{ + "type": "string", + "defaultValue": "8.11.1" + }, + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + } + }, + "resources": [ + { + "name": "[concat(variables('siWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('siMsDeployPackageUrl')]", + "setParameters": { + "IIS Web Application Name": "[variables('siWebAppNameTidy')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "CertificateThumbprint": "[parameters('authCertificateThumbprint')]", + "CertificateStoreLocation": "CurrentUser", + "PasswordRecoveryUrl": "[concat('https://', parameters('cmWebAppHostName'))]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy')), variables('applicationInsightsApiVersion')).InstrumentationKey, '')]", + "License Xml": "[parameters('licenseXml')]", + "AllowedCorsOrigins": "[concat('https://', parameters('cmWebAppHostName'))]", + "ClientSecret": "[parameters('siClientSecret')]" + } + } + ] + } + }, + { + "name": "[concat(variables('siWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('siWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('cmMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]", + "Sitecore Admin New Password": "[parameters('sitecoreAdminPassword')]", + "Core DB User Name": "[parameters('coreSqlDatabaseUserName')]", + "Core DB Password": "[parameters('coreSqlDatabasePassword')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Security DB User Name": "[parameters('securitySqlDatabaseUserName')]", + "Security DB Password": "[parameters('securitySqlDatabasePassword')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Security Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master DB User Name": "[parameters('masterSqlDatabaseUserName')]", + "Master DB Password": "[parameters('masterSqlDatabasePassword')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Web DB User Name": "[parameters('webSqlDatabaseUserName')]", + "Web DB Password": "[parameters('webSqlDatabasePassword')]", + "Web Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "Experience Forms DB User Name": "[parameters('formsSqlDatabaseUserName')]", + "Experience Forms DB Password": "[parameters('formsSqlDatabasePassword')]", + "Experience Forms Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Experience Forms Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('formsSqlDatabaseUserName'), ';Password=', parameters('formsSqlDatabasePassword'), ';')]", + "Search Provider": "[variables('searchProvider')]", + "Cloud Search Connection String": "[if(equals(variables('searchProvider'), 'Azure'), concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchRestApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey), '')]", + "SOLR Connection String": "[parameters('solrConnectionString')]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy')), variables('applicationInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'CM', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "IP Security Client IP": "[parameters('securityClientIp')]", + "IP Security Client IP Mask": "[parameters('securityClientIpMask')]", + "Sitecore Identity Authority": "[concat('https://', parameters('siWebAppHostName'))]", + "Sitecore Identity Secret": "[parameters('siClientSecret')]", + "Telerik Encryption Key": "[parameters('telerikEncryptionKey')]", + "License Xml": "[parameters('licenseXml')]" + } + } + ] + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('siWebAppNameTidy'),'appsettings')]" + ] + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('cmWebAppNameTidy'),'MSDeploy')]" + ], + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('cdMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('cdWebAppNameTidy')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "Experience Forms Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('formsSqlDatabaseUserName'), ';Password=', parameters('formsSqlDatabasePassword'), ';')]", + "Redis Sessions": "[concat(reference(resourceId('Microsoft.Cache/Redis', variables('redisCacheNameTidy')), variables('redisApiVersion')).hostName, ':', reference(resourceId('Microsoft.Cache/Redis', variables('redisCacheNameTidy')), variables('redisApiVersion')).sslPort, ',password=', listKeys(resourceId('Microsoft.Cache/Redis', variables('redisCacheNameTidy')), variables('redisApiVersion')).primaryKey, ',ssl=True,abortConnect=False')]", + "Search Provider": "[variables('searchProvider')]", + "Cloud Search Connection String": "[if(equals(variables('searchProvider'), 'Azure'), concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchRestApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey), '')]", + "SOLR Connection String": "[parameters('solrConnectionString')]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy')), variables('applicationInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'CD', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "License Xml": "[parameters('licenseXml')]" + } + } + ] + } + }, + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_NODE_DEFAULT_VERSION":"[parameters('cmNodeJsVersion')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('cdWebAppNameTidy'), 'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_NODE_DEFAULT_VERSION":"[parameters('cdNodeJsVersion')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('cmWebAppNameTidy'), 'appsettings')]" + ] + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XM/nested/emptyAddon.json b/Sitecore 9.3.0/XM/nested/emptyAddon.json new file mode 100644 index 00000000..18909e4e --- /dev/null +++ b/Sitecore 9.3.0/XM/nested/emptyAddon.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": {} + }, + "extension": { + "type": "secureObject", + "defaultValue": {} + } + }, + "resources": [] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XM/nested/infrastructure.json b/Sitecore 9.3.0/XM/nested/infrastructure.json new file mode 100644 index 00000000..99b36489 --- /dev/null +++ b/Sitecore 9.3.0/XM/nested/infrastructure.json @@ -0,0 +1,904 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + "searchApiVersion": "2015-08-19", + "redisApiVersion": "2016-04-01", + "applicationInsightsApiVersion": "2015-05-01", + "certificateApiVersion": "2014-11-01", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "redisCacheNameTidy": "[toLower(trim(parameters('redisCacheName')))]", + + "applicationInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "applicationInsightsPricePlanTidy": "[toLower(trim(parameters('applicationInsightsPricePlan')))]", + + "siHostingPlanNameTidy": "[toLower(trim(parameters('siHostingPlanName')))]", + "cmHostingPlanNameTidy": "[toLower(trim(parameters('cmHostingPlanName')))]", + "cdHostingPlanNameTidy": "[toLower(trim(parameters('cdHostingPlanName')))]", + + "siWebAppNameTidy": "[toLower(trim(parameters('siWebAppName')))]", + "cmWebAppNameTidy": "[toLower(trim(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[toLower(trim(parameters('cdWebAppName')))]", + + "useAse": "[not(empty(parameters('aseName')))]", + "aseResourceId": "[resourceId(parameters('aseResourceGroupName'), 'Microsoft.Web/hostingEnvironments', parameters('aseName'))]", + "aseHostingEnvironmentProfile": { + "id": "[variables('aseResourceId')]" + }, + + "authCertificateNameTidy": "[toLower(trim(parameters('authCertificateName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "si": "si", + "cd": "cd", + "cm": "cm", + "core": "core", + "master": "master", + "web": "web", + "forms": "forms" + } + }, + "parameters": { + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "coreSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + + "deployAzureSearch": { + "type": "bool", + "defaultValue": true + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + + "redisCacheName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-redis')]" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1 + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1 + }, + + "siHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si-hp')]" + }, + "cmHostingPlanName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-cm-hp')]" + }, + "cdHostingPlanName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-cd-hp')]" + }, + + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "cmWebAppName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-cm')]" + }, + "cdWebAppName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-cd')]" + }, + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "siHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "siHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "cmHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "cmHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "cdHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Small": { + "siHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "siHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "cmHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "cmHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 2 + }, + "cdHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 2 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Medium": { + "siHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "siHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "cmHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "cmHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 3 + }, + "cdHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 2 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 2, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Large": { + "siHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "siHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cmHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "cmHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 4 + }, + "cdHostingPlanIsolated": { + "SkuName": "I3", + "SkuCapacity": 2 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 3, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Application Insights Enterprise", + "DataVolumeCap": { + "Cap": 1.8 + } + } + }, + "Extra Large": { + "siHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "siHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cmHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "cmHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 8 + }, + "cdHostingPlanIsolated": { + "SkuName": "I3", + "SkuCapacity": 4 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 3, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 2 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Application Insights Enterprise", + "DataVolumeCap": { + "Cap": 1.8 + } + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + }, + "aseName":{ + "type": "string", + "defaultValue": "" + }, + "aseResourceGroupName":{ + "type": "string", + "defaultValue": "[resourceGroup().name]" + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('siHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').siHostingPlan.SkuName, parameters('resourceSizes').siHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').siHostingPlan.SkuCapacity, parameters('resourceSizes').siHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('siHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').si]" + } + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('cmHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').cmHostingPlan.SkuName, parameters('resourceSizes').cmHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').cmHostingPlan.SkuCapacity, parameters('resourceSizes').cmHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('cmHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cm]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('siHostingPlanNameTidy'))]" + ] + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('cdHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').cdHostingPlan.SkuName, parameters('resourceSizes').cdHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').cdHostingPlan.SkuCapacity, parameters('resourceSizes').cdHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('cdHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cd]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]" + ] + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('siWebAppNameTidy')]", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('siHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ], + "metadata": [ + { + "name": "CURRENT_STACK", + "value": "dotnetcore" + } + ] + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('siHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').si]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('cmWebAppNameTidy')]", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cm]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('cdWebAppNameTidy')]", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('cdHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('cdHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cd]" + } + }, + { + "type": "Microsoft.Sql/servers", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "administratorLogin": "[parameters('sqlServerLogin')]", + "administratorLoginPassword": "[parameters('sqlServerPassword')]", + "version": "[parameters('sqlServerVersion')]" + }, + "name": "[variables('sqlServerNameTidy')]", + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]" + }, + "resources": [ + { + "type": "firewallrules", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "endIpAddress": "0.0.0.0", + "startIpAddress": "0.0.0.0" + }, + "name": "AllowAllAzureIps", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ] + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').CoreSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').CoreSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').CoreSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('coreSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('coreSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').core]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').masterSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').masterSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').masterSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('masterSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('masterSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').master]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').webSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').webSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').webSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('webSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('webSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').web]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').formsSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').formsSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').formsSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('formsSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('formsSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').forms]" + } + } + ] + }, + { + "type": "Microsoft.Web/certificates", + "name": "[variables('authCertificateNameTidy')]", + "apiVersion": "[variables('certificateApiVersion')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('siHostingPlanNameTidy'))]", + "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]", + "[resourceId('Microsoft.Web/serverfarms', variables('cdHostingPlanNameTidy'))]" + ], + "properties": { + "password": "[parameters('authCertificatePassword')]", + "pfxBlob": "[parameters('authCertificateBlob')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Search/searchServices", + "condition": "[parameters('deployAzureSearch')]", + "apiVersion": "[variables('searchApiVersion')]", + "name": "[variables('searchServiceNameTidy')]", + "location": "[if(parameters('deployAzureSearch'), parameters('searchServiceLocation'), 'westus')]", + "sku": { + "name": "[toLower(parameters('resourceSizes').searchService.SkuName)]" + }, + "properties": { + "replicaCount": "[parameters('resourceSizes').searchService.Replicas]", + "partitionCount": "[parameters('resourceSizes').searchService.Partitions]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Cache/Redis", + "name": "[variables('redisCacheNameTidy')]", + "apiVersion": "[variables('redisApiVersion')]", + "location": "[parameters('location')]", + "properties": { + "sku": { + "name": "[parameters('resourceSizes').redisCache.SkuName]", + "family": "[parameters('resourceSizes').redisCache.SkuFamily]", + "capacity": "[parameters('resourceSizes').redisCache.SkuCapacity]" + }, + "enableNonSslPort": false + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components", + "condition": "[parameters('useApplicationInsights')]", + "name": "[variables('applicationInsightsNameTidy')]", + "apiVersion": "[variables('applicationInsightsApiVersion')]", + "location": "[parameters('applicationInsightsLocation')]", + "properties": { + "ApplicationId": "[variables('applicationInsightsNameTidy')]", + "Application_Type": "web" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components/CurrentBillingFeatures", + "condition": "[parameters('useApplicationInsights')]", + "name": "[concat(variables('applicationInsightsNameTidy'), '/', variables('applicationInsightsPricePlanTidy'))]", + "location": "[parameters('applicationInsightsLocation')]", + "apiVersion": "[variables('applicationInsightsApiVersion')]", + "properties": { + "CurrentBillingFeatures": "[parameters('resourceSizes').applicationInsightsPricePlan.CurrentBillingFeatures]", + "DataVolumeCap": { + "Cap": "[parameters('resourceSizes').applicationInsightsPricePlan.DataVolumeCap.Cap]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + } + ], + "outputs": { + "infrastructure": { + "type": "object", + "value": { + "authCertificateThumbprint": "[reference(resourceId('Microsoft.Web/certificates', variables('authCertificateNameTidy'))).thumbprint]", + "siWebAppHostName": "[reference(concat('Microsoft.Web/sites/', variables('siWebAppNameTidy')), variables('webApiVersion')).defaultHostName]", + "cmWebAppHostName": "[reference(concat('Microsoft.Web/sites/', variables('cmWebAppNameTidy')), variables('webApiVersion')).defaultHostName]", + "sqlServerFqdn": "[reference(concat('Microsoft.Sql/servers/', variables('sqlServerNameTidy'))).fullyQualifiedDomainName]" + } + } + } +} diff --git a/Sitecore 9.3.0/XMSingle/README.md b/Sitecore 9.3.0/XMSingle/README.md new file mode 100644 index 00000000..42d07a07 --- /dev/null +++ b/Sitecore 9.3.0/XMSingle/README.md @@ -0,0 +1,50 @@ +# Sitecore XM Single Environment + +Visualize: +[Infrastructure](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxmsingle%2Fnested%2Finfrastructure.json), +[Application deployment](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxmsingle%2Fnested%2Fapplication.json) + + +This template creates a Sitecore XM Single Environment using a minimal set of Azure resources while still ensuring Sitecore will run. It is best practice to use this configuration for development and testing rather than production environments. + +Resources provisioned: + + * Azure SQL databases : core, master, web, forms + * Sitecore roles: Content Delivery, Content Management as a single WebApp instance + * Hosting plans: single hosting plan + * Preconfigured Web Application, based on the provided WebDeploy package + * Azure Search Service + * (optional) Application Insights for diagnostics and monitoring + +> **Note:** +> * The **searchServiceLocation** parameter can be added to the `azuredeploy.parameters.json` +> to specify geographical region to deploy Azure Search Service. Default value is the resource +> group location. +> * The **applicationInsightsLocation** parameter can be added to the`azuredeploy.parameters.json` +> to specify geographical region to deploy Application Insights. Default value is **East US**. +> * The **useApplicationInsights** parameter can be added to the`azuredeploy.parameters.json` +> to control whether Application Insights will be used for diagnostics and monitoring. Default value is **true**. + +## Parameters +The **deploymentId** and **licenseXml** parameters are filled in by the PowerShell script. + +| Parameter | Description +|-------------------------------------------|------------------------------------------------ +| sqlServerLogin | The name of the administrator account for the newly created Azure SQL server. +| sqlServerPassword | The password for the administrator account for Azure SQL server. +| sitecoreAdminPassword | The new password for the Sitecore **admin** account. +| siMsDeployPackageUrl | The HTTP(s) URL to a Sitecore Identity Server Web Deploy package. +| singleMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XM Single Instance Web Deploy package. +| authCertificateBlob | A Base64-encoded blob of the authentication certificate in PKCS #12 format. +| authCertificatePassword | A password to the authentication certificate. + +## Deploying with Solr Search + +> Sitecore Solr PaaS deployment requires the following parameter to be specified in `azuredeploy.parameters.json`: + +| Parameter | Description +--------------------------------------------|------------------------------------------------ +| solrConnectionString | Connection string to existing Solr server. + +> **solrConnectionString** parameter is used to identify whether Solr search provider is to be used for the deployment or not. +> The default value is empty which means that Azure Search will be used. \ No newline at end of file diff --git a/Sitecore 9.3.0/XMSingle/addons/bootloader.json b/Sitecore 9.3.0/XMSingle/addons/bootloader.json new file mode 100644 index 00000000..b1520aae --- /dev/null +++ b/Sitecore 9.3.0/XMSingle/addons/bootloader.json @@ -0,0 +1,61 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "singleWebAppNameTidy": "[toLower(trim(parameters('singleWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "deploymentId": null, + "location": null, + "singleWebAppName":null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "msDeployPackageUrl": null + } + }, + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').singleWebAppName, concat(parameters('deploymentId'), '-single'))]" + }, + "msDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').msDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('singleWebAppNameTidy')]" + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XMSingle/addons/generic.json b/Sitecore 9.3.0/XMSingle/addons/generic.json new file mode 100644 index 00000000..3b77f06c --- /dev/null +++ b/Sitecore 9.3.0/XMSingle/addons/generic.json @@ -0,0 +1,110 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + + "coreSqlDatabaseNameTidy": "[trim(toLower(parameters('coreSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[trim(toLower(parameters('masterSqlDatabaseName')))]", + + "singleWebAppNameTidy": "[trim(toLower(parameters('singleWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "infrastructure": { "sqlServerFqdn":null }, + "deploymentId": null, + "location": null, + "sqlServerLogin": null, + "sqlServerPassword": null, + "coreSqlDatabaseName": null, + "masterSqlDatabaseName": null, + "singleWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "singleMsDeployPackageUrl": null + } + }, + "infrastructure": { + "type": "secureObject", + "defaultValue": "[parameters('standard').infrastructure]" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('standard').sqlServerLogin]" + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[parameters('standard').sqlServerPassword]" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').coreSqlDatabaseName, concat(parameters('deploymentId'), '-core-db'))]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').masterSqlDatabaseName, concat(parameters('deploymentId'), '-master-db'))]" + }, + + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').singleWebAppName, concat(parameters('deploymentId'), '-single'))]" + }, + + "singleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').singleMsDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('singleMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('singleWebAppNameTidy')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + } + ] +} diff --git a/Sitecore 9.3.0/XMSingle/azuredeploy.json b/Sitecore 9.3.0/XMSingle/azuredeploy.json new file mode 100644 index 00000000..967e6938 --- /dev/null +++ b/Sitecore 9.3.0/XMSingle/azuredeploy.json @@ -0,0 +1,682 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2018-05-01", + "defaultDependency": [ + { + "name": "application" + } + ], + "dependencies": "[concat(variables('defaultDependency'), parameters('modules').items)]" + }, + "parameters": { + "modules": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + "prerequisites": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty-prerequisite", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + + "templateLinkBase": { + "type": "string", + "minLength": 1, + "defaultValue": "[uri(replace(json(string(deployment().properties.templateLink)).uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + "sqlDatabaseEdition": { + "type": "string", + "minLength": 1, + "defaultValue": "Standard" + }, + "sqlDatabaseMaxSize": { + "type": "string", + "minLength": 1, + "defaultValue": "268435456000" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S0" + }, + "sqlDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S1" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceSkuName": { + "type": "string", + "defaultValue": "Standard" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + "searchServicePartitionCount": { + "type": "int", + "defaultValue": 1 + }, + + "solrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + "applicationInsightsCurrentBillingFeatures": { + "type": "string", + "defaultValue": "Basic", + "allowedValues": [ "Basic", "Application Insights Enterprise" ] + }, + "applicationInsightsDataVolumeCap": { + "type": "string", + "defaultValue": "0.33" + }, + + "singleHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single-hp')]" + }, + "singleHostingPlanSkuName": { + "type": "string", + "defaultValue": "S3" + }, + "singleHostingPlanSkuCapacity": { + "type": "int", + "defaultValue": 1 + }, + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single')]" + }, + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "singleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "siMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1 + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1 + }, + + "siClientSecret": { + "type": "securestring", + "minLength": 6, + "defaultValue": "[toUpper(replace(guid(uniqueString('siClientSecret', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '-',''))]" + }, + + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "nodeJsVersion": { + "type" : "string", + "defaultValue" : "8.11.1" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + } + }, + "resources": [ + { + "copy": { + "name": "[concat(parameters('deploymentId'), '-prerequisites')]", + "count": "[length(parameters('prerequisites').items)]", + "mode": "Serial", + "batchSize": 1 + }, + "name": "[concat(parameters('deploymentId'), '-', parameters('prerequisites').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('prerequisites').items[copyIndex()].templateLink]" + }, + "parameters": "[parameters('prerequisites').items[copyIndex()].parameters]" + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "sqlServerVersion": { + "value": "[parameters('sqlServerVersion')]" + }, + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + "sqlDatabaseEdition": { + "value": "[parameters('sqlDatabaseEdition')]" + }, + "sqlDatabaseMaxSize": { + "value": "[parameters('sqlDatabaseMaxSize')]" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "value": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "sqlDatabaseServiceObjectiveLevel": { + "value": "[parameters('sqlDatabaseServiceObjectiveLevel')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + + "authCertificateName": { + "value": "[parameters('authCertificateName')]" + }, + "authCertificateBlob": { + "value": "[parameters('authCertificateBlob')]" + }, + "authCertificatePassword": { + "value": "[parameters('authCertificatePassword')]" + }, + + "deployAzureSearch": { + "value": "[empty(parameters('solrConnectionString'))]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "searchServiceLocation": { + "value": "[parameters('searchServiceLocation')]" + }, + "searchServiceSkuName": { + "value": "[parameters('searchServiceSkuName')]" + }, + "searchServiceReplicaCount": { + "value": "[parameters('searchServiceReplicaCount')]" + }, + "searchServicePartitionCount": { + "value": "[parameters('searchServicePartitionCount')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "applicationInsightsLocation": { + "value": "[parameters('applicationInsightsLocation')]" + }, + "applicationInsightsPricePlan": { + "value": "[parameters('applicationInsightsPricePlan')]" + }, + "applicationInsightsCurrentBillingFeatures": { + "value": "[parameters('applicationInsightsCurrentBillingFeatures')]" + }, + "applicationInsightsDataVolumeCap": { + "value": "[parameters('applicationInsightsDataVolumeCap')]" + }, + + "singleHostingPlanName": { + "value": "[parameters('singleHostingPlanName')]" + }, + "singleHostingPlanSkuName": { + "value": "[parameters('singleHostingPlanSkuName')]" + }, + "singleHostingPlanSkuCapacity": { + "value": "[parameters('singleHostingPlanSkuCapacity')]" + }, + "siWebAppName": { + "value": "[parameters('siWebAppName')]" + }, + "singleWebAppName": { + "value": "[parameters('singleWebAppName')]" + } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-prerequisites')]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "securitySqlDatabaseName": { + "value": "[parameters('securitySqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + + "coreSqlDatabaseUserName": { + "value": "[parameters('coreSqlDatabaseUserName')]" + }, + "coreSqlDatabasePassword": { + "value": "[parameters('coreSqlDatabasePassword')]" + }, + "securitySqlDatabaseUserName": { + "value": "[parameters('securitySqlDatabaseUserName')]" + }, + "securitySqlDatabasePassword": { + "value": "[parameters('securitySqlDatabasePassword')]" + }, + "masterSqlDatabaseUserName": { + "value": "[parameters('masterSqlDatabaseUserName')]" + }, + "masterSqlDatabasePassword": { + "value": "[parameters('masterSqlDatabasePassword')]" + }, + "webSqlDatabaseUserName": { + "value": "[parameters('webSqlDatabaseUserName')]" + }, + "webSqlDatabasePassword": { + "value": "[parameters('webSqlDatabasePassword')]" + }, + "formsSqlDatabaseUserName": { + "value": "[parameters('formsSqlDatabaseUserName')]" + }, + "formsSqlDatabasePassword": { + "value": "[parameters('formsSqlDatabasePassword')]" + }, + + "solrConnectionString": { + "value": "[parameters('solrConnectionString')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "value": "[parameters('storeSitecoreCountersInApplicationInsights')]" + }, + + "singleWebAppName": { + "value": "[parameters('singleWebAppName')]" + }, + "siWebAppName": { + "value": "[parameters('siWebAppName')]" + }, + "siMsDeployPackageUrl": { + "value": "[parameters('siMsDeployPackageUrl')]" + }, + "singleMsDeployPackageUrl": { + "value": "[parameters('singleMsDeployPackageUrl')]" + }, + + "siClientSecret": { + "value": "[parameters('siClientSecret')]" + }, + "telerikEncryptionKey": { + "value": "[parameters('telerikEncryptionKey')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "nodeJsVersion": { + "value": "[parameters('nodeJsVersion')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + } + } + }, + "dependsOn": [ "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure'))]" ] + }, + { + "copy": { + "name": "modules", + "count": "[length(parameters('modules').items)]" + }, + "name": "[concat(parameters('deploymentId'), '-' , parameters('modules').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "incremental", + "templateLink": { + "uri": "[parameters('modules').items[copyIndex()].templateLink]" + }, + "parameters": { + "standard": { + "value": { + "infrastructure": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]", + + "deploymentId": "[parameters('deploymentId')]", + "location": "[parameters('location')]", + "sitecoreAdminPassword": "[parameters('sitecoreAdminPassword')]", + "licenseXml": "[parameters('licenseXml')]", + + "sqlServerName": "[parameters('sqlServerName')]", + "sqlServerLogin": "[parameters('sqlServerLogin')]", + "sqlServerPassword": "[parameters('sqlServerPassword')]", + + "sqlServerVersion": "[parameters('sqlServerVersion')]", + "sqlDatabaseCollation": "[parameters('sqlDatabaseCollation')]", + "sqlDatabaseEdition": "[parameters('sqlDatabaseEdition')]", + "sqlDatabaseMaxSize": "[parameters('sqlDatabaseMaxSize')]", + "sqlBasicDatabaseServiceObjectiveLevel": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]", + "sqlDatabaseServiceObjectiveLevel": "[parameters('sqlDatabaseServiceObjectiveLevel')]", + + "coreSqlDatabaseName": "[parameters('coreSqlDatabaseName')]", + "masterSqlDatabaseName": "[parameters('masterSqlDatabaseName')]", + "webSqlDatabaseName": "[parameters('webSqlDatabaseName')]", + "formsSqlDatabaseName": "[parameters('formsSqlDatabaseName')]", + + "coreSqlDatabaseUserName": "[parameters('coreSqlDatabaseUserName')]", + "coreSqlDatabasePassword": "[parameters('coreSqlDatabasePassword')]", + "securitySqlDatabaseUserName": "[parameters('securitySqlDatabaseUserName')]", + "securitySqlDatabasePassword": "[parameters('securitySqlDatabasePassword')]", + "masterSqlDatabaseUserName": "[parameters('masterSqlDatabaseUserName')]", + "masterSqlDatabasePassword": "[parameters('masterSqlDatabasePassword')]", + "webSqlDatabaseUserName": "[parameters('webSqlDatabaseUserName')]", + "webSqlDatabasePassword": "[parameters('webSqlDatabasePassword')]", + "formsSqlDatabaseUserName": "[parameters('formsSqlDatabaseUserName')]", + "formsSqlDatabasePassword": "[parameters('formsSqlDatabasePassword')]", + + "searchServiceName": "[parameters('searchServiceName')]", + "searchServiceLocation": "[parameters('searchServiceLocation')]", + "searchServiceReplicaCount": "[parameters('searchServiceReplicaCount')]", + "searchServicePartitionCount": "[parameters('searchServicePartitionCount')]", + + "solrConnectionString": "[parameters('solrConnectionString')]", + + "useApplicationInsights": "[parameters('useApplicationInsights')]", + "applicationInsightsName": "[parameters('applicationInsightsName')]", + "applicationInsightsLocation": "[parameters('applicationInsightsLocation')]", + "storeSitecoreCountersInApplicationInsights": "[parameters('storeSitecoreCountersInApplicationInsights')]", + + "singleHostingPlanName": "[parameters('singleHostingPlanName')]", + "singleWebAppName": "[parameters('singleWebAppName')]", + + "passwordSalt": "[parameters('passwordSalt')]", + + "environmentType": "[parameters('environmentType')]" + } + }, + "extension": { "value": "[parameters('modules').items[copyIndex()].parameters]" } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-' , variables('dependencies')[copyIndex()].name)]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XMSingle/azuredeploy.parameters.json b/Sitecore 9.3.0/XMSingle/azuredeploy.parameters.json new file mode 100644 index 00000000..9278050c --- /dev/null +++ b/Sitecore 9.3.0/XMSingle/azuredeploy.parameters.json @@ -0,0 +1,36 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "value": "" + }, + "location": { + "value": "" + }, + "sqlServerLogin": { + "value": "" + }, + "sqlServerPassword": { + "value": "" + }, + "siMsDeployPackageUrl": { + "value": "" + }, + "singleMsDeployPackageUrl": { + "value": "" + }, + "sitecoreAdminPassword": { + "value": "" + }, + "licenseXml": { + "value": "" + }, + "authCertificateBlob":{ + "value": "" + }, + "authCertificatePassword":{ + "value": "" + } + } +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XMSingle/nested/application.json b/Sitecore 9.3.0/XMSingle/nested/application.json new file mode 100644 index 00000000..35322af0 --- /dev/null +++ b/Sitecore 9.3.0/XMSingle/nested/application.json @@ -0,0 +1,320 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-03-01", + "searchApiVersion": "2015-08-19", + "searchRestApiVersion": "2017-11-11", + "applicationInsightsApiVersion": "2015-05-01", + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "securitySqlDatabaseNameTidy": "[toLower(trim(parameters('securitySqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + "singleWebAppNameTidy": "[toLower(trim(parameters('singleWebAppName')))]", + "siWebAppNameTidy": "[toLower(trim(parameters('siWebAppName')))]", + "applicationInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "searchProvider": "[if(empty(parameters('solrConnectionString')), 'Azure', 'Solr')]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "authCertificateThumbprint": null, + "siWebAppHostName": null, + "singleWebAppHostName": null, + "sqlServerFqdn": null + } + }, + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "sqlServerFqdn": { + "type": "string", + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "solrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + "siWebAppHostName": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').siWebAppHostName]" + }, + "singleWebAppHostName": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').singleWebAppHostName]" + }, + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single')]" + }, + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + "singleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "siMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "siClientSecret": { + "type": "securestring", + "minLength": 6, + "defaultValue": "[toUpper(replace(guid(uniqueString('siClientSecret', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '-',''))]" + }, + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + "nodeJsVersion": { + "type": "string", + "defaultValue": "8.11.1" + }, + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + } + }, + "resources": [ + { + "name": "[concat(variables('siWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('siMsDeployPackageUrl')]", + "setParameters": { + "IIS Web Application Name": "[variables('siWebAppNameTidy')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "CertificateThumbprint": "[parameters('authCertificateThumbprint')]", + "CertificateStoreLocation": "CurrentUser", + "PasswordRecoveryUrl": "[concat('https://', parameters('singleWebAppHostName'))]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy')), variables('applicationInsightsApiVersion')).InstrumentationKey, '')]", + "License Xml": "[parameters('licenseXml')]", + "AllowedCorsOrigins": "[concat('https://', parameters('singleWebAppHostName'))]", + "ClientSecret": "[parameters('siClientSecret')]" + } + } + ] + } + }, + { + "name": "[concat(variables('siWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('siWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('singleMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('singleWebAppNameTidy')]", + "Sitecore Admin New Password": "[parameters('sitecoreAdminPassword')]", + "Core DB User Name": "[parameters('coreSqlDatabaseUserName')]", + "Core DB Password": "[parameters('coreSqlDatabasePassword')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Security DB User Name": "[parameters('securitySqlDatabaseUserName')]", + "Security DB Password": "[parameters('securitySqlDatabasePassword')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Security Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master DB User Name": "[parameters('masterSqlDatabaseUserName')]", + "Master DB Password": "[parameters('masterSqlDatabasePassword')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Web DB User Name": "[parameters('webSqlDatabaseUserName')]", + "Web DB Password": "[parameters('webSqlDatabasePassword')]", + "Web Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "Experience Forms DB User Name": "[parameters('formsSqlDatabaseUserName')]", + "Experience Forms DB Password": "[parameters('formsSqlDatabasePassword')]", + "Experience Forms Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Experience Forms Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('formsSqlDatabaseUserName'), ';Password=', parameters('formsSqlDatabasePassword'), ';')]", + "Search Provider": "[variables('searchProvider')]", + "Cloud Search Connection String": "[if(equals(variables('searchProvider'), 'Azure'), concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchRestApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey), '')]", + "SOLR Connection String": "[parameters('solrConnectionString')]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy')), variables('applicationInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'Single', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "Sitecore Identity Authority": "[concat('https://', parameters('siWebAppHostName'))]", + "Sitecore Identity Secret": "[parameters('siClientSecret')]", + "Telerik Encryption Key": "[parameters('telerikEncryptionKey')]", + "License Xml": "[parameters('licenseXml')]" + } + } + ] + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('siWebAppNameTidy'),'appsettings')]" + ] + }, + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_NODE_DEFAULT_VERSION":"[parameters('nodeJsVersion')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('singleWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XMSingle/nested/emptyAddon.json b/Sitecore 9.3.0/XMSingle/nested/emptyAddon.json new file mode 100644 index 00000000..18909e4e --- /dev/null +++ b/Sitecore 9.3.0/XMSingle/nested/emptyAddon.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": {} + }, + "extension": { + "type": "secureObject", + "defaultValue": {} + } + }, + "resources": [] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XMSingle/nested/infrastructure.json b/Sitecore 9.3.0/XMSingle/nested/infrastructure.json new file mode 100644 index 00000000..a03eb304 --- /dev/null +++ b/Sitecore 9.3.0/XMSingle/nested/infrastructure.json @@ -0,0 +1,506 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + "searchApiVersion": "2015-08-19", + "applicationInsightsApiVersion": "2015-05-01", + "certificateApiVersion": "2014-11-01", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + + "singleHostingPlanNameTidy": "[toLower(trim(parameters('singleHostingPlanName')))]", + + "singleWebAppNameTidy": "[toLower(trim(parameters('singleWebAppName')))]", + "siWebAppNameTidy": "[toLower(trim(parameters('siWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "applicationInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "applicationInsightsPricePlanTidy": "[toLower(trim(parameters('applicationInsightsPricePlan')))]", + + "authCertificateNameTidy": "[toLower(trim(parameters('authCertificateName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "single": "single", + "si": "si", + "core": "core", + "master": "master", + "web": "web", + "forms": "forms" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + "sqlDatabaseEdition": { + "type": "string", + "minLength": 1, + "defaultValue": "Standard" + }, + "sqlDatabaseMaxSize": { + "type": "string", + "minLength": 1, + "defaultValue": "268435456000" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S0" + }, + "sqlDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S1" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + + "deployAzureSearch": { + "type": "bool", + "defaultValue": true + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceSkuName": { + "type": "string", + "defaultValue": "Standard" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + "searchServicePartitionCount": { + "type": "int", + "defaultValue": 1 + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + "applicationInsightsCurrentBillingFeatures": { + "type": "string", + "defaultValue": "Basic", + "allowedValues": [ "Basic", "Application Insights Enterprise" ] + }, + "applicationInsightsDataVolumeCap": { + "type": "string", + "defaultValue": "0.33" + }, + + "singleHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single-hp')]" + }, + "singleHostingPlanSkuName": { + "type": "string", + "defaultValue": "S3" + }, + "singleHostingPlanSkuCapacity": { + "type": "int", + "defaultValue": 1 + }, + + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single')]" + }, + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1 + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1 + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('singleHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('singleHostingPlanSkuName')]", + "capacity": "[parameters('singleHostingPlanSkuCapacity')]" + }, + "properties": { + "name": "[variables('singleHostingPlanNameTidy')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').single]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('singleWebAppNameTidy')]", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').single]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('siWebAppNameTidy')]", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ], + "metadata": [ + { + "name": "CURRENT_STACK", + "value": "dotnetcore" + } + ] + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').si]" + } + }, + { + "type": "Microsoft.Sql/servers", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "administratorLogin": "[parameters('sqlServerLogin')]", + "administratorLoginPassword": "[parameters('sqlServerPassword')]", + "version": "[parameters('sqlServerVersion')]" + }, + "name": "[variables('sqlServerNameTidy')]", + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]" + }, + "resources": [ + { + "type": "firewallrules", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "endIpAddress": "0.0.0.0", + "startIpAddress": "0.0.0.0" + }, + "name": "AllowAllAzureIps", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ] + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('coreSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('coreSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').core]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('masterSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('masterSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').master]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('webSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('webSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').web]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('formsSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('formsSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').forms]" + } + } + ] + }, + { + "type": "Microsoft.Search/searchServices", + "condition": "[parameters('deployAzureSearch')]", + "apiVersion": "[variables('searchApiVersion')]", + "name": "[variables('searchServiceNameTidy')]", + "location": "[if(parameters('deployAzureSearch'), parameters('searchServiceLocation'), 'westus')]", + "sku": { + "name": "[toLower(parameters('searchServiceSkuName'))]" + }, + "properties": { + "replicaCount": "[parameters('searchServiceReplicaCount')]", + "partitionCount": "[parameters('searchServicePartitionCount')]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components", + "condition": "[parameters('useApplicationInsights')]", + "name": "[variables('applicationInsightsNameTidy')]", + "apiVersion": "[variables('applicationInsightsApiVersion')]", + "location": "[parameters('applicationInsightsLocation')]", + "properties": { + "ApplicationId": "[variables('applicationInsightsNameTidy')]", + "Application_Type": "web" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Web/certificates", + "name": "[variables('authCertificateNameTidy')]", + "apiVersion": "[variables('certificateApiVersion')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]" + ], + "properties": { + "password": "[parameters('authCertificatePassword')]", + "pfxBlob": "[parameters('authCertificateBlob')]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components/CurrentBillingFeatures", + "condition": "[parameters('useApplicationInsights')]", + "name": "[concat(variables('applicationInsightsNameTidy'), '/', variables('applicationInsightsPricePlanTidy'))]", + "location": "[parameters('applicationInsightsLocation')]", + "apiVersion": "[variables('applicationInsightsApiVersion')]", + "properties": { + "CurrentBillingFeatures": "[parameters('applicationInsightsCurrentBillingFeatures')]", + "DataVolumeCap": { + "Cap": "[float(parameters('applicationInsightsDataVolumeCap'))]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + } + ], + "outputs": { + "infrastructure": { + "type": "object", + "value": { + "authCertificateThumbprint": "[reference(resourceId('Microsoft.Web/certificates', variables('authCertificateNameTidy'))).thumbprint]", + "siWebAppHostName": "[reference(concat('Microsoft.Web/sites/', variables('siWebAppNameTidy')), variables('webApiVersion')).defaultHostName]", + "singleWebAppHostName": "[reference(concat('Microsoft.Web/sites/', variables('singleWebAppNameTidy')), variables('webApiVersion')).defaultHostName]", + "sqlServerFqdn": "[reference(concat('Microsoft.Sql/servers/', variables('sqlServerNameTidy'))).fullyQualifiedDomainName]" + } + } + } +} diff --git a/Sitecore 9.3.0/XP/README.md b/Sitecore 9.3.0/XP/README.md new file mode 100644 index 00000000..34f04ae5 --- /dev/null +++ b/Sitecore 9.3.0/XP/README.md @@ -0,0 +1,76 @@ +# Sitecore XP Environment + +Visualize: +[Infrastructure](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxp%2Fnested%2Finfrastructure.json), +[Application deployment](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxp%2Fnested%2Fapplication.json) + +This template creates a Sitecore XP Environment with all resources necessary to run Sitecore. + +Resources provisioned: + + * Azure SQL databases : core, master, web, reporting, pools, tasks, forms, exm.master, refdata, smm, shard0, shard1, ma + * Azure Redis Cache for session state + * Sitecore roles: Content Delivery, Content Management, Processing, Reporting + * Hosting plans: one per role + * Preconfigured Web Applications, based on the provided WebDeploy packages + * XConnect services: Search, Collection, Reference data, Marketing Automation, Marketing Automation Reporting + * Hosting Plans: XConnect Basic, XConnect Resource Intensive + * Preconfigured Web Applications, based on the provided WebDeploy packages + * Azure Search Service + * (optional) Application Insights for diagnostics and monitoring + +## Parameters + +The **deploymentId** and **licenseXml** parameters in azuredeploy.parameters.json are filled in by the PowerShell script using **Name** and **LicenseXmlPath** parameters respectively. + +|Parameter | Description +|-------------------------------------------|--------------------------------------------------------------------------------------------- +| location | The geographical region of the current deployment. +| sqlServerLogin | The name of the administrator account for Azure SQL server that will be created. +| sqlServerPassword | The password for the administrator account for Azure SQL server. +| sitecoreAdminPassword | The new password for the Sitecore **admin** account. +| repAuthenticationApiKey | A unique value (e.g. a GUID) that will be used as authentication key for communication between Content Management and the Reporting Web App. **Note: The minimal required length is 32 symbols** +| siMsDeployPackageUrl | The HTTP(s) URL to a Sitecore Identity Server Web Deploy package. +| cmMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XP Content Management Web Deploy package. +| cdMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XP Content Delivery Web Deploy package. +| prcMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XP Processing Web Deploy package. +| repMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XP Reporting Web Deploy package. +| xcRefDataMsDeployPackageUrl | The HTTP(s) URL to a XConnect Reference Data service Web Deploy package. +| xcCollectMsDeployPackageUrl | The HTTP(s) URL to a XConnect Collection service Web Deploy package. +| xcSearchMsDeployPackageUrl | The HTTP(s) URL to a XConnect Search service Web Deploy package. +| maOpsMsDeployPackageUrl | The HTTP(s) URL to a Marketing Automation service Web Deploy package. +| maRepMsDeployPackageUrl | The HTTP(s) URL to a Marketing Automation Reporting service Web Deploy package. +| cortexProcessingMsDeployPackageUrl | The HTTP(s) URL to a Cortex Processing service Web Deploy package. +| cortexReportingMsDeployPackageUrl | The HTTP(s) URL to a Cortex Reporting service Web Deploy package. +| authCertificateBlob | A Base64-encoded blob of the authentication certificate in PKCS #12 format. +| authCertificatePassword | A password to the authentication certificate. + +> **Note:** +> * The **searchServiceLocation** parameter can be added to the `azuredeploy.parameters.json` +> to specify geographical region to deploy Azure Search Service. Default value is the resource +> group location. +> * The **applicationInsightsLocation** parameter can be added to the`azuredeploy.parameters.json` +> to specify geographical region to deploy Application Insights. Default value is **East US**. +> * The **useApplicationInsights** parameter can be added to the`azuredeploy.parameters.json` +> to control whether Application Insights will be used for diagnostics and monitoring. Default value is **true**. + +## Deploying with Solr Search + +> Sitecore Solr PaaS deployment requires the following parameters to be specified in `azuredeploy.parameters.json`: + +| Parameter | Description +--------------------------------------------|------------------------------------------------ +| solrConnectionString | Connection string to existing Solr server that will be passed to Sitecore Platform Roles. +| xcSolrConnectionString | Not mandatory. Connection string to existing Solr server that will be passed to XConnect Roles. If the parameter is not specified, the default value equals to solrConnectionString. +| xcSearchMsDeployPackageUrl | The HTTP(s) URL to a **Solr XConnect Search** Web Deploy package. + +> **solrConnectionString** parameter is used to identify whether Solr search provider is to be used for the deployment or not. +> The default value is empty which means that Azure Search will be used. + +## Deploying with App Service Environment v2 +> **Note**: Application Service Environment is not provisioned as part of this deployment template. Please reffer to official [documentation](https://docs.microsoft.com/en-us/azure/app-service/environment/intro) for information about ASE deployment and configuration. + +| Parameter | Description +--------------------------------------------|------------------------------------------------ +| aseName | Name of deployed App Service Environment +| aseResourceGroupName | Resource group where App Service Environment is deployed. Provide this value if ASE is hosted in different resouce group \ No newline at end of file diff --git a/Sitecore 9.3.0/XP/addons/bootloader.json b/Sitecore 9.3.0/XP/addons/bootloader.json new file mode 100644 index 00000000..904648c7 --- /dev/null +++ b/Sitecore 9.3.0/XP/addons/bootloader.json @@ -0,0 +1,122 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "cmWebAppNameTidy": "[toLower(trim(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[toLower(trim(parameters('cdWebAppName')))]", + "prcWebAppNameTidy": "[toLower(trim(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[toLower(trim(parameters('repWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "deploymentId": null, + "location": null, + "cmWebAppName": null, + "cdWebAppName": null, + "prcWebAppName": null, + "repWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": {} + }, + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + "cmWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cmWebAppName, concat(parameters('deploymentId'), '-cm'))]" + }, + "cdWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cdWebAppName, concat(parameters('deploymentId'), '-cd'))]" + }, + "prcWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').prcWebAppName, concat(parameters('deploymentId'), '-prc'))]" + }, + "repWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').repWebAppName, concat(parameters('deploymentId'), '-rep'))]" + }, + "msDeployPackageUrl": { + "type": "securestring", + "defaultValue": "[parameters('extension').msDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cdWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('prcWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('repWebAppNameTidy')]" + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XP/addons/generic.json b/Sitecore 9.3.0/XP/addons/generic.json new file mode 100644 index 00000000..deeb89a5 --- /dev/null +++ b/Sitecore 9.3.0/XP/addons/generic.json @@ -0,0 +1,208 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + + "coreSqlDatabaseNameTidy": "[trim(toLower(parameters('coreSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[trim(toLower(parameters('masterSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[trim(toLower(parameters('reportingSqlDatabaseName')))]", + + "cmWebAppNameTidy": "[trim(toLower(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[trim(toLower(parameters('cdWebAppName')))]", + "prcWebAppNameTidy": "[trim(toLower(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[trim(toLower(parameters('repWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "infrastructure": { "sqlServerFqdn":null }, + "deploymentId": null, + "location": null, + "sqlServerLogin": null, + "sqlServerPassword": null, + "coreSqlDatabaseName": null, + "masterSqlDatabaseName": null, + "reportingSqlDatabaseName": null, + "cmWebAppName": null, + "cdWebAppName": null, + "prcWebAppName": null, + "repWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "cmMsDeployPackageUrl": null, + "cdMsDeployPackageUrl": null, + "prcMsDeployPackageUrl": null, + "repMsDeployPackageUrl": null + } + }, + "infrastructure": { + "type": "secureObject", + "defaultValue": "[parameters('standard').infrastructure]" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('standard').sqlServerLogin]" + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[parameters('standard').sqlServerPassword]" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').coreSqlDatabaseName, concat(parameters('deploymentId'), '-core-db'))]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').masterSqlDatabaseName, concat(parameters('deploymentId'), '-master-db'))]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').reportingSqlDatabaseName, concat(parameters('deploymentId'), '-reporting-db'))]" + }, + + "cmWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cmWebAppName, concat(parameters('deploymentId'), '-cm'))]" + }, + "cdWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cdWebAppName, concat(parameters('deploymentId'), '-cd'))]" + }, + "prcWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').prcWebAppName, concat(parameters('deploymentId'), '-prc'))]" + }, + "repWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').repWebAppName, concat(parameters('deploymentId'), '-rep'))]" + }, + + "cmMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').cmMsDeployPackageUrl]" + }, + "cdMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').cdMsDeployPackageUrl]" + }, + "prcMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').prcMsDeployPackageUrl]" + }, + "repMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').repMsDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('cmMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('cdMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cdWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('prcMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('prcWebAppNameTidy')]", + "Reporting Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('repMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('repWebAppNameTidy')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + } + ] +} diff --git a/Sitecore 9.3.0/XP/azuredeploy.json b/Sitecore 9.3.0/XP/azuredeploy.json new file mode 100644 index 00000000..b8dc5c92 --- /dev/null +++ b/Sitecore 9.3.0/XP/azuredeploy.json @@ -0,0 +1,2165 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2018-05-01", + "defaultDependency": [ + { + "name": "[if(parameters('deployExmDds'), 'application-exm', 'application')]" + } + ], + "dependencies": "[concat(variables('defaultDependency'), parameters('modules').items)]" + }, + "parameters": { + "modules": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + "prerequisites": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty-prerequisite", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + + "templateLinkBase": { + "type": "string", + "minLength": 1, + "defaultValue": "[uri(replace(json(string(deployment().properties.templateLink)).uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + "repAuthenticationApiKey": { + "type": "securestring", + "minLength": 32 + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + "exmMasterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-exmmaster-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "exmMasterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "exmmasteruser" + }, + "exmMasterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('exmmaster', parameters('passwordSalt'))), uniqueString('exmmaster', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('exmmaster', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "tasksSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "tasksuser" + }, + "tasksSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('tasks', parameters('passwordSalt'))), uniqueString('tasks', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('tasks', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "redisCacheName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-redis')]" + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "solrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + "xcSolrConnectionString": { + "type": "securestring", + "defaultValue": "[parameters('solrConnectionString')]" + }, + "machineLearningServerConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "[if(parameters('storeSitecoreCountersInApplicationInsights'), 'ApplicationInsights', 'Disable')]" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + + "siHostingPlanName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-si-hp')]" + }, + "cmHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm-hp')]" + }, + "cdHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cd-hp')]" + }, + "prcHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc-hp')]" + }, + "repHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep-hp')]" + }, + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + "xcResourceIntensiveHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-resourceintensive-hp')]" + }, + "exmDdsHostingPlanName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-exm-dds-hp')]" + }, + + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "cmWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm')]" + }, + "cdWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cd')]" + }, + "prcWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc')]" + }, + "repWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep')]" + }, + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + "cortexProcessingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-processing')]" + }, + "cortexReportingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-reporting')]" + }, + "exmDdsWebAppName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-exm-dds')]" + }, + + "siMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "cmMsDeployPackageUrl": { + "type": "securestring" + }, + "cdMsDeployPackageUrl": { + "type": "securestring" + }, + "prcMsDeployPackageUrl": { + "type": "securestring" + }, + "repMsDeployPackageUrl": { + "type": "securestring" + }, + "xcRefDataMsDeployPackageUrl": { + "type": "securestring" + }, + "xcCollectMsDeployPackageUrl": { + "type": "securestring" + }, + "xcSearchMsDeployPackageUrl": { + "type": "securestring" + }, + "maOpsMsDeployPackageUrl": { + "type": "securestring" + }, + "maRepMsDeployPackageUrl": { + "type": "securestring" + }, + "cortexProcessingMsDeployPackageUrl": { + "type": "securestring" + }, + "cortexReportingMsDeployPackageUrl": { + "type": "securestring" + }, + "exmDdsMsDeployPackageUrl": { + "type": "securestring", + "defaultValue": "" + }, + "exmCmMsDeployPackageUrl": { + "type": "securestring", + "defaultValue": "" + }, + "bootloaderMsDeployPackageUrl": { + "type": "securestring", + "defaultValue": "" + }, + + "exmCryptographicKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmCryptographicKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmCryptographicKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + "exmAuthenticationKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmAuthenticationKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmAuthenticationKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + "exmInternalApiKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmInternalApiKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmInternalApiKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + + "securityClientIp": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + "securityClientIpMask": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + + "siClientSecret": { + "type": "securestring", + "minLength": 6, + "defaultValue": "[toUpper(replace(guid(uniqueString('siClientSecret', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '-',''))]" + }, + + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1, + "defaultValue": "" + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1, + "defaultValue": "" + }, + "exmEdsProvider": { + "type": "string", + "minLength": 1, + "allowedValues": [ "CustomSMTP", "EmailCloud" ], + "defaultValue": "CustomSMTP" + }, + + "deployPlatform": { + "type": "bool", + "defaultValue": true + }, + "deployXConnect": { + "type": "bool", + "defaultValue": true + }, + "deployExmDds": { + "type": "bool", + "defaultValue": false + }, + "aseName":{ + "type": "string", + "defaultValue": "" + }, + "aseResourceGroupName":{ + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "cmNodeJsVersion":{ + "type": "string", + "defaultValue": "8.11.1" + }, + "cdNodeJsVersion":{ + "type": "string", + "defaultValue": "8.11.1" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusQueues": { + "type": "array", + "defaultValue": [ + "error", + "Sitecore_CT_ModelTrainingTaskStatusSubscriber", + "Sitecore_EXM_AutomatedMessagesQueue", + "Sitecore_EXM_ClearSuppressionListQueue", + "Sitecore_EXM_ConfirmSubscriptionMessagesQueue", + "Sitecore_EXM_EmailAddressHistoryMessagesQueue", + "Sitecore_EXM_EmailOpenedMessagesQueue", + "Sitecore_EXM_SentMessagesQueue", + "Sitecore_EXM_UpdateListSubscriptionMessagesQueue", + "Sitecore_MA_PurgeFromCampaignMessages", + "Sitecore_PE_TaskRegistrationProducer", + "Sitecore_PE_TaskProgressProducer", + "Sitecore_PE_TaskStatusPublisher", + "Sitecore_PE_TaskRegistrationConsumer", + "Sitecore_PE_TaskProgressConsumer" + ] + }, + "azureServiceBusTopics": { + "type": "array", + "defaultValue": [ + "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions" + ] + }, + "azureServiceBusSubscriptions": { + "type": "array", + "defaultValue": [ + { + "topic": "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions", + "subscription": "Sitecore_CT_ModelTrainingTaskStatusSubscriber" + } + ] + }, + "azureServiceBusSkuName": { + "type": "string", + "defaultValue": "standard" + }, + "azureServiceBusManageSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootManageSharedAccessKey" + }, + "azureServiceBusSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootSharedAccessKey" + }, + "azureServiceBusNamespaceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-asb')]" + } + }, + "resources": [ + { + "copy": { + "name": "[concat(parameters('deploymentId'), '-prerequisites')]", + "count": "[length(parameters('prerequisites').items)]", + "mode": "Serial", + "batchSize": 1 + }, + "name": "[concat(parameters('deploymentId'), '-', parameters('prerequisites').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('prerequisites').items[copyIndex()].templateLink]" + }, + "parameters": "[parameters('prerequisites').items[copyIndex()].parameters]" + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "sqlServerVersion": { + "value": "[parameters('sqlServerVersion')]" + }, + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "tasksSqlDatabaseName": { + "value": "[parameters('tasksSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + "exmMasterSqlDatabaseName": { + "value": "[parameters('exmMasterSqlDatabaseName')]" + }, + + "deployAzureSearch": { + "value": "[empty(parameters('solrConnectionString'))]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "searchServiceLocation": { + "value": "[parameters('searchServiceLocation')]" + }, + "searchServiceReplicaCount": { + "value": "[parameters('searchServiceReplicaCount')]" + }, + "redisCacheName": { + "value": "[parameters('redisCacheName')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "applicationInsightsLocation": { + "value": "[parameters('applicationInsightsLocation')]" + }, + "applicationInsightsPricePlan": { + "value": "[parameters('applicationInsightsPricePlan')]" + }, + + "siHostingPlanName": { + "value": "[parameters('siHostingPlanName')]" + }, + "cmHostingPlanName": { + "value": "[parameters('cmHostingPlanName')]" + }, + "cdHostingPlanName": { + "value": "[parameters('cdHostingPlanName')]" + }, + "prcHostingPlanName": { + "value": "[parameters('prcHostingPlanName')]" + }, + "repHostingPlanName": { + "value": "[parameters('repHostingPlanName')]" + }, + + "siWebAppName": { + "value": "[parameters('siWebAppName')]" + }, + "cmWebAppName": { + "value": "[parameters('cmWebAppName')]" + }, + "cdWebAppName": { + "value": "[parameters('cdWebAppName')]" + }, + "prcWebAppName": { + "value": "[parameters('prcWebAppName')]" + }, + "repWebAppName": { + "value": "[parameters('repWebAppName')]" + }, + + "authCertificateName": { + "value": "[parameters('authCertificateName')]" + }, + "authCertificateBlob": { + "value": "[parameters('authCertificateBlob')]" + }, + "authCertificatePassword": { + "value": "[parameters('authCertificatePassword')]" + }, + + "aseName": { + "value": "[parameters('aseName')]" + }, + "aseResourceGroupName":{ + "value": "[parameters('aseResourceGroupName')]" + } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-prerequisites')]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-asb')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-asb.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "azureServiceBusQueues": { + "value": "[parameters('azureServiceBusQueues')]" + }, + "azureServiceBusTopics": { + "value": "[parameters('azureServiceBusTopics')]" + }, + "azureServiceBusSubscriptions": { + "value": "[parameters('azureServiceBusSubscriptions')]" + }, + "azureServiceBusSkuName": { + "value": "[parameters('azureServiceBusSkuName')]" + }, + "azureServiceBusManageSharedAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "azureServiceBusSharedAccessKeyName": { + "value": "[parameters('azureServiceBusSharedAccessKeyName')]" + }, + "azureServiceBusNamespaceName": { + "value": "[parameters('azureServiceBusNamespaceName')]" + } + } + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-xc')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-xc.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + + "xcBasicHostingPlanName": { + "value": "[parameters('xcBasicHostingPlanName')]" + }, + "xcResourceIntensiveHostingPlanName": { + "value": "[parameters('xcResourceIntensiveHostingPlanName')]" + }, + + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + + "aseName": { + "value": "[parameters('aseName')]" + }, + "aseResourceGroupName":{ + "value": "[parameters('aseResourceGroupName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-exm')]", + "condition": "[parameters('deployExmDds')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-exm.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "exmDdsHostingPlanName": { + "value": "[parameters('exmDdsHostingPlanName')]" + }, + + "exmDdsWebAppName": { + "value": "[parameters('exmDdsWebAppName')]" + }, + + "aseName": { + "value": "[parameters('aseName')]" + }, + "aseResourceGroupName":{ + "value": "[parameters('aseResourceGroupName')]" + } + } + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-ma')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-ma.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + + "xcBasicHostingPlanName": { + "value": "[parameters('xcBasicHostingPlanName')]" + }, + + "maOpsWebAppName": { + "value": "[parameters('maOpsWebAppName')]" + }, + "maRepWebAppName": { + "value": "[parameters('maRepWebAppName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments',concat(parameters('deploymentId'), '-infrastructure-xc'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-cortex-prc-rep')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-cortex-prc-rep.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + + "xcBasicHostingPlanName": { + "value": "[parameters('xcBasicHostingPlanName')]" + }, + "xcResourceIntensiveHostingPlanName": { + "value": "[parameters('xcResourceIntensiveHostingPlanName')]" + }, + + "cortexProcessingWebAppName": { + "value": "[parameters('cortexProcessingWebAppName')]" + }, + "cortexReportingWebAppName": { + "value": "[parameters('cortexReportingWebAppName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments',concat(parameters('deploymentId'), '-infrastructure-xc'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application')]", + "condition": "[parameters('deployPlatform')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + "infrastructureExm": { + "value": "[if(parameters('deployExmDds'), reference(concat(parameters('deploymentId'), '-infrastructure-exm')).outputs.infrastructureExm.value, json('{}'))]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + "repAuthenticationApiKey": { + "value": "[parameters('repAuthenticationApiKey')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "securitySqlDatabaseName": { + "value": "[parameters('securitySqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "tasksSqlDatabaseName": { + "value": "[parameters('tasksSqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + "exmMasterSqlDatabaseName": { + "value": "[parameters('exmMasterSqlDatabaseName')]" + }, + + "coreSqlDatabaseUserName": { + "value": "[parameters('coreSqlDatabaseUserName')]" + }, + "coreSqlDatabasePassword": { + "value": "[parameters('coreSqlDatabasePassword')]" + }, + "securitySqlDatabaseUserName": { + "value": "[parameters('securitySqlDatabaseUserName')]" + }, + "securitySqlDatabasePassword": { + "value": "[parameters('securitySqlDatabasePassword')]" + }, + "masterSqlDatabaseUserName": { + "value": "[parameters('masterSqlDatabaseUserName')]" + }, + "masterSqlDatabasePassword": { + "value": "[parameters('masterSqlDatabasePassword')]" + }, + "webSqlDatabaseUserName": { + "value": "[parameters('webSqlDatabaseUserName')]" + }, + "webSqlDatabasePassword": { + "value": "[parameters('webSqlDatabasePassword')]" + }, + "formsSqlDatabaseUserName": { + "value": "[parameters('formsSqlDatabaseUserName')]" + }, + "formsSqlDatabasePassword": { + "value": "[parameters('formsSqlDatabasePassword')]" + }, + "exmMasterSqlDatabaseUserName": { + "value": "[parameters('exmMasterSqlDatabaseUserName')]" + }, + "exmMasterSqlDatabasePassword": { + "value": "[parameters('exmMasterSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "tasksSqlDatabaseUserName": { + "value": "[parameters('tasksSqlDatabaseUserName')]" + }, + "tasksSqlDatabasePassword": { + "value": "[parameters('tasksSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + + "redisCacheName": { + "value": "[parameters('redisCacheName')]" + }, + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + + "solrConnectionString": { + "value": "[parameters('solrConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "value": "[parameters('storeSitecoreCountersInApplicationInsights')]" + }, + + "siWebAppName": { + "value": "[parameters('siWebAppName')]" + }, + "cmWebAppName": { + "value": "[parameters('cmWebAppName')]" + }, + "cdWebAppName": { + "value": "[parameters('cdWebAppName')]" + }, + "prcWebAppName": { + "value": "[parameters('prcWebAppName')]" + }, + "repWebAppName": { + "value": "[parameters('repWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + "maOpsWebAppName": { + "value": "[parameters('maOpsWebAppName')]" + }, + "maRepWebAppName": { + "value": "[parameters('maRepWebAppName')]" + }, + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "cortexReportingWebAppName": { + "value": "[parameters('cortexReportingWebAppName')]" + }, + + "siMsDeployPackageUrl": { + "value": "[parameters('siMsDeployPackageUrl')]" + }, + "cmMsDeployPackageUrl": { + "value": "[parameters('cmMsDeployPackageUrl')]" + }, + "cdMsDeployPackageUrl": { + "value": "[parameters('cdMsDeployPackageUrl')]" + }, + "prcMsDeployPackageUrl": { + "value": "[parameters('prcMsDeployPackageUrl')]" + }, + "repMsDeployPackageUrl": { + "value": "[parameters('repMsDeployPackageUrl')]" + }, + + "securityClientIp": { + "value": "[parameters('securityClientIp')]" + }, + "securityClientIpMask": { + "value": "[parameters('securityClientIpMask')]" + }, + + "exmCryptographicKey": { + "value": "[parameters('exmCryptographicKey')]" + }, + "exmAuthenticationKey": { + "value": "[parameters('exmAuthenticationKey')]" + }, + + "siClientSecret": { + "value": "[parameters('siClientSecret')]" + }, + "telerikEncryptionKey": { + "value": "[parameters('telerikEncryptionKey')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "exmEdsProvider": { + "value": "[parameters('exmEdsProvider')]" + }, + + "cmNodeJsVersion": { + "value": "[parameters('cmNodeJsVersion')]" + }, + + "cdNodeJsVersion": { + "value": "[parameters('cdNodeJsVersion')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-exm'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-application-ma'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc')]", + "condition": "[parameters('deployXConnect')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-xc.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "templateLinkAccessToken": { + "value": "[parameters('templateLinkAccessToken')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "xcSolrConnectionString": { + "value": "[parameters('xcSolrConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + + "xcRefDataMsDeployPackageUrl": { + "value": "[parameters('xcRefDataMsDeployPackageUrl')]" + }, + "xcCollectMsDeployPackageUrl": { + "value": "[parameters('xcCollectMsDeployPackageUrl')]" + }, + "xcSearchMsDeployPackageUrl": { + "value": "[parameters('xcSearchMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-ma'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-asb'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-ma')]", + "condition": "[parameters('deployXConnect')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-ma.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + "maOpsWebAppName": { + "value": "[parameters('maOpsWebAppName')]" + }, + "maRepWebAppName": { + "value": "[parameters('maRepWebAppName')]" + }, + + "maOpsMsDeployPackageUrl": { + "value": "[parameters('maOpsMsDeployPackageUrl')]" + }, + "maRepMsDeployPackageUrl": { + "value": "[parameters('maRepMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-application-xc'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-asb'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-cortex-prc-rep')]", + "condition": "[parameters('deployXConnect')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-cortex-prc-rep.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + + "processingEngineSqlDatabaseUserName": { + "value": "[parameters('processingEngineSqlDatabaseUserName')]" + }, + "processingEngineSqlDatabasePassword": { + "value": "[parameters('processingEngineSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + "cortexProcessingWebAppName": { + "value": "[parameters('cortexProcessingWebAppName')]" + }, + "cortexReportingWebAppName": { + "value": "[parameters('cortexReportingWebAppName')]" + }, + + "machineLearningServerConnectionString": { + "value": "[parameters('machineLearningServerConnectionString')]" + }, + + "cortexProcessingMsDeployPackageUrl": { + "value": "[parameters('cortexProcessingMsDeployPackageUrl')]" + }, + "cortexReportingMsDeployPackageUrl": { + "value": "[parameters('cortexReportingMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePath')]" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePath')]" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePassword')]" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-cortex-prc-rep'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-application-ma'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-exm')]", + "condition": "[parameters('deployExmDds')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-exm.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + "repAuthenticationApiKey": { + "value": "[parameters('repAuthenticationApiKey')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "securitySqlDatabaseName": { + "value": "[parameters('securitySqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + "coreSqlDatabaseUserName": { + "value": "[parameters('coreSqlDatabaseUserName')]" + }, + "coreSqlDatabasePassword": { + "value": "[parameters('coreSqlDatabasePassword')]" + }, + "securitySqlDatabaseUserName": { + "value": "[parameters('securitySqlDatabaseUserName')]" + }, + "securitySqlDatabasePassword": { + "value": "[parameters('securitySqlDatabasePassword')]" + }, + "masterSqlDatabaseUserName": { + "value": "[parameters('masterSqlDatabaseUserName')]" + }, + "masterSqlDatabasePassword": { + "value": "[parameters('masterSqlDatabasePassword')]" + }, + "webSqlDatabaseUserName": { + "value": "[parameters('webSqlDatabaseUserName')]" + }, + "webSqlDatabasePassword": { + "value": "[parameters('webSqlDatabasePassword')]" + }, + "formsSqlDatabaseUserName": { + "value": "[parameters('formsSqlDatabaseUserName')]" + }, + "formsSqlDatabasePassword": { + "value": "[parameters('formsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + + "solrConnectionString": { + "value": "[parameters('solrConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "cmWebAppName": { + "value": "[parameters('cmWebAppName')]" + }, + "prcWebAppName": { + "value": "[parameters('prcWebAppName')]" + }, + "repWebAppName": { + "value": "[parameters('repWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + "maOpsWebAppName": { + "value": "[parameters('maOpsWebAppName')]" + }, + "maRepWebAppName": { + "value": "[parameters('maRepWebAppName')]" + }, + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "exmDdsWebAppName": { + "value": "[parameters('exmDdsWebAppName')]" + }, + + "exmDdsMsDeployPackageUrl": { + "value": "[parameters('exmDdsMsDeployPackageUrl')]" + }, + "exmCmMsDeployPackageUrl": { + "value": "[parameters('exmCmMsDeployPackageUrl')]" + }, + "bootloaderMsDeployPackageUrl": { + "value": "[parameters('bootloaderMsDeployPackageUrl')]" + }, + + "securityClientIp": { + "value": "[parameters('securityClientIp')]" + }, + "securityClientIpMask": { + "value": "[parameters('securityClientIpMask')]" + }, + + "exmCryptographicKey": { + "value": "[parameters('exmCryptographicKey')]" + }, + "exmAuthenticationKey": { + "value": "[parameters('exmAuthenticationKey')]" + }, + "exmInternalApiKey": { + "value": "[parameters('exmInternalApiKey')]" + }, + + "exmEdsProvider": { + "value": "[parameters('exmEdsProvider')]" + }, + + "siClientSecret": { + "value": "[parameters('siClientSecret')]" + }, + "telerikEncryptionKey": { + "value": "[parameters('telerikEncryptionKey')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-exm'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-application'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-asb'))]" + ] + }, + { + "copy": { + "name": "modules", + "count": "[length(parameters('modules').items)]" + }, + "name": "[concat(parameters('deploymentId'), '-', parameters('modules').items[copyIndex()].name)]", + "condition": "[parameters('deployPlatform')]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('modules').items[copyIndex()].templateLink]" + }, + "parameters": { + "standard": { + "value": { + "infrastructure": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]", + + "deploymentId": "[parameters('deploymentId')]", + "location": "[parameters('location')]", + + "sitecoreAdminPassword": "[parameters('sitecoreAdminPassword')]", + "licenseXml": "[parameters('licenseXml')]", + "sitecoreSKU": "[parameters('sitecoreSKU')]", + "repAuthenticationApiKey": "[parameters('repAuthenticationApiKey')]", + + "sqlServerName": "[parameters('sqlServerName')]", + "sqlServerLogin": "[parameters('sqlServerLogin')]", + "sqlServerPassword": "[parameters('sqlServerPassword')]", + "sqlServerVersion": "[parameters('sqlServerVersion')]", + "sqlDatabaseCollation": "[parameters('sqlDatabaseCollation')]", + + "coreSqlDatabaseName": "[parameters('coreSqlDatabaseName')]", + "securitySqlDatabaseName": "[parameters('securitySqlDatabaseName')]", + "masterSqlDatabaseName": "[parameters('masterSqlDatabaseName')]", + "webSqlDatabaseName": "[parameters('webSqlDatabaseName')]", + "reportingSqlDatabaseName": "[parameters('reportingSqlDatabaseName')]", + "poolsSqlDatabaseName": "[parameters('poolsSqlDatabaseName')]", + "tasksSqlDatabaseName": "[parameters('tasksSqlDatabaseName')]", + "shardMapManagerSqlDatabaseName": "[parameters('shardMapManagerSqlDatabaseName')]", + "shard0SqlDatabaseName": "[parameters('shard0SqlDatabaseName')]", + "shard1SqlDatabaseName": "[parameters('shard1SqlDatabaseName')]", + "refDataSqlDatabaseName": "[parameters('refDataSqlDatabaseName')]", + "processingEngineTasksSqlDatabaseName": "[parameters('processingEngineTasksSqlDatabaseName')]", + "processingEngineStorageSqlDatabaseName": "[parameters('processingEngineStorageSqlDatabaseName')]", + + "maSqlDatabaseName": "[parameters('maSqlDatabaseName')]", + + "coreSqlDatabaseUserName": "[parameters('coreSqlDatabaseUserName')]", + "coreSqlDatabasePassword": "[parameters('coreSqlDatabasePassword')]", + "securitySqlDatabaseUserName": "[parameters('securitySqlDatabaseUserName')]", + "securitySqlDatabasePassword": "[parameters('securitySqlDatabasePassword')]", + "masterSqlDatabaseUserName": "[parameters('masterSqlDatabaseUserName')]", + "masterSqlDatabasePassword": "[parameters('masterSqlDatabasePassword')]", + "webSqlDatabaseUserName": "[parameters('webSqlDatabaseUserName')]", + "webSqlDatabasePassword": "[parameters('webSqlDatabasePassword')]", + "reportingSqlDatabaseUserName": "[parameters('reportingSqlDatabaseUserName')]", + "reportingSqlDatabasePassword": "[parameters('reportingSqlDatabasePassword')]", + "poolsSqlDatabaseUserName": "[parameters('poolsSqlDatabaseUserName')]", + "poolsSqlDatabasePassword": "[parameters('poolsSqlDatabasePassword')]", + "tasksSqlDatabaseUserName": "[parameters('tasksSqlDatabaseUserName')]", + "tasksSqlDatabasePassword": "[parameters('tasksSqlDatabasePassword')]", + "xcRefDataSqlDatabaseUserName": "[parameters('xcRefDataSqlDatabaseUserName')]", + "xcRefDataSqlDatabasePassword": "[parameters('xcRefDataSqlDatabasePassword')]", + "xcShardMapManagerSqlDatabaseUserName": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "xcShardMapManagerSqlDatabasePassword": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "xcMaSqlDatabaseUserName": "[parameters('xcMaSqlDatabaseUserName')]", + "xcMaSqlDatabasePassword": "[parameters('xcMaSqlDatabasePassword')]", + "processingEngineSqlDatabaseUserName": "[parameters('processingEngineSqlDatabaseUserName')]", + "processingEngineSqlDatabasePassword": "[parameters('processingEngineSqlDatabasePassword')]", + + "searchServiceName": "[parameters('searchServiceName')]", + "searchServiceLocation": "[parameters('searchServiceLocation')]", + "xcSearchIndexName": "[parameters('xcSearchIndexName')]", + + "solrConnectionString": "[parameters('solrConnectionString')]", + "xcSolrConnectionString": "[parameters('xcSolrConnectionString')]", + "machineLearningServerConnectionString": "[parameters('machineLearningServerConnectionString')]", + + "redisCacheName": "[parameters('redisCacheName')]", + + "useApplicationInsights": "[parameters('useApplicationInsights')]", + "applicationInsightsName": "[parameters('applicationInsightsName')]", + "applicationInsightsLocation": "[parameters('applicationInsightsLocation')]", + "storeSitecoreCountersInApplicationInsights": "[parameters('storeSitecoreCountersInApplicationInsights')]", + + "cmHostingPlanName": "[parameters('cmHostingPlanName')]", + "cdHostingPlanName": "[parameters('cdHostingPlanName')]", + "prcHostingPlanName": "[parameters('prcHostingPlanName')]", + "repHostingPlanName": "[parameters('repHostingPlanName')]", + "xcBasicHostingPlanName": "[parameters('xcBasicHostingPlanName')]", + "xcResourceIntensiveHostingPlanName": "[parameters('xcResourceIntensiveHostingPlanName')]", + + "cmWebAppName": "[parameters('cmWebAppName')]", + "cdWebAppName": "[parameters('cdWebAppName')]", + "prcWebAppName": "[parameters('prcWebAppName')]", + "repWebAppName": "[parameters('repWebAppName')]", + "xcRefDataWebAppName": "[parameters('xcRefDataWebAppName')]", + "xcCollectWebAppName": "[parameters('xcCollectWebAppName')]", + "xcSearchWebAppName": "[parameters('xcSearchWebAppName')]", + "cortexProcessingWebAppName": "[parameters('cortexProcessingWebAppName')]", + "cortexReportingWebAppName": "[parameters('cortexReportingWebAppName')]", + "maOpsWebAppName": "[parameters('maOpsWebAppName')]", + "maRepWebAppName": "[parameters('maRepWebAppName')]", + + "securityClientIp": "[parameters('securityClientIp')]", + "securityClientIpMask": "[parameters('securityClientIpMask')]", + + "passwordSalt": "[parameters('passwordSalt')]", + + "xcServerConfigurationEnvironment": "[parameters('xcServerConfigurationEnvironment')]", + + "authCertificateBlob": "[parameters('authCertificateBlob')]", + "authCertificatePassword": "[parameters('authCertificatePassword')]", + + "machineLearningServerBlobEndpointCertificatePath": "[parameters('machineLearningServerBlobEndpointCertificatePath')]", + "machineLearningServerBlobEndpointCertificatePassword": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]", + "machineLearningServerTableEndpointCertificatePath": "[parameters('machineLearningServerTableEndpointCertificatePath')]", + "machineLearningServerTableEndpointCertificatePassword": "[parameters('machineLearningServerTableEndpointCertificatePassword')]", + + "machineLearningServerEndpointCertificationAuthorityCertificatePath": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]", + + "environmentType": "[parameters('environmentType')]" + } + }, + "extension": { "value": "[parameters('modules').items[copyIndex()].parameters]" } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-' , variables('dependencies')[copyIndex()].name)]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XP/azuredeploy.parameters.json b/Sitecore 9.3.0/XP/azuredeploy.parameters.json new file mode 100644 index 00000000..b48aba75 --- /dev/null +++ b/Sitecore 9.3.0/XP/azuredeploy.parameters.json @@ -0,0 +1,87 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "value": "" + }, + "location": { + "value": "" + }, + "sitecoreAdminPassword": { + "value": "" + }, + "licenseXml": { + "value": "" + }, + "repAuthenticationApiKey": { + "value": "" + }, + "sqlServerLogin": { + "value": "" + }, + "sqlServerPassword": { + "value": "" + }, + "siMsDeployPackageUrl": { + "value": "" + }, + "cmMsDeployPackageUrl": { + "value": "" + }, + "cdMsDeployPackageUrl": { + "value": "" + }, + "prcMsDeployPackageUrl": { + "value": "" + }, + "repMsDeployPackageUrl": { + "value": "" + }, + "xcRefDataMsDeployPackageUrl": { + "value": "" + }, + "xcCollectMsDeployPackageUrl": { + "value": "" + }, + "xcSearchMsDeployPackageUrl": { + "value": "" + }, + "cortexProcessingMsDeployPackageUrl": { + "value": "" + }, + "cortexReportingMsDeployPackageUrl": { + "value": "" + }, + "maOpsMsDeployPackageUrl": { + "value": "" + }, + "maRepMsDeployPackageUrl": { + "value": "" + }, + "authCertificateBlob": { + "value": "" + }, + "authCertificatePassword": { + "value": "" + }, + "machineLearningServerConnectionString": { + "value": "" + }, + "machineLearningServerBlobEndpointCertificatePath": { + "value": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "" + } + } +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XP/nested/application-cortex-prc-rep.json b/Sitecore 9.3.0/XP/nested/application-cortex-prc-rep.json new file mode 100644 index 00000000..cc4dae87 --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/application-cortex-prc-rep.json @@ -0,0 +1,308 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + "processingEngineTasksSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineTasksSqlDatabaseName')))]", + "processingEngineStorageSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineStorageSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "cortexProcessingWebAppNameTidy": "[toLower(trim(parameters('cortexProcessingWebAppName')))]", + "cortexReportingWebAppNameTidy": "[toLower(trim(parameters('cortexReportingWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "machineLearningServerConnectionStringTidy": "[trim(parameters('machineLearningServerConnectionString'))]", + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "machineLearningServerConnectionString": { + "type": "securestring", + "minLength": 0, + "defaultValue": "" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "cortexProcessingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-processing')]" + }, + "cortexReportingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-reporting')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "cortexProcessingMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "cortexReportingMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('cortexReportingWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('cortexReportingMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('cortexReportingWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Reporting Database Name": "[variables('reportingSqlDatabaseNameTidy')]", + "Reporting Database Application User Name": "[parameters('reportingSqlDatabaseUserName')]", + "Reporting Database Application User Password": "[parameters('reportingSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "Reporting", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('cortexReportingWebAppNameTidy'), 'appsettings')]" + ] + }, + { + "name": "[concat(variables('cortexReportingWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + } + }, + { + "name": "[concat(variables('cortexProcessingWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('cortexProcessingMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('cortexProcessingWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Processing Engine Tasks Database Name": "[variables('processingEngineTasksSqlDatabaseNameTidy')]", + "Processing Engine Storage Database Name": "[variables('processingEngineStorageSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Reporting Database Name": "[variables('reportingSqlDatabaseNameTidy')]", + "Processing Engine Database Application User Name": "[parameters('processingEngineSqlDatabaseUserName')]", + "Processing Engine Database Application User Password": "[parameters('processingEngineSqlDatabasePassword')]", + "Reporting Database Application User Name": "[parameters('reportingSqlDatabaseUserName')]", + "Reporting Database Application User Password": "[parameters('reportingSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Search Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSearchWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Search Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Blob Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('cortexProcessingWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Table Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('cortexProcessingWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Machine Learning Server Endpoint": "[variables('machineLearningServerConnectionStringTidy')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerBlobEndpointCertificatePath')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerTableEndpointCertificatePath')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerTableEndpointCertificatePassword')]", + "Machine Learning Server Storage WebApi Endpoint Certification Authority Certificate Path": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "Processing", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('cortexProcessingWebAppNameTidy'), 'appsettings')]" + ] + }, + { + "name": "[concat(variables('cortexProcessingWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('cortexReportingWebAppNameTidy'), 'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XP/nested/application-exm.json b/Sitecore 9.3.0/XP/nested/application-exm.json new file mode 100644 index 00000000..624ee85f --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/application-exm.json @@ -0,0 +1,451 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "searchApiVersion": "2015-08-19", + "searchRestApiVersion": "2017-11-11", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "securitySqlDatabaseNameTidy": "[toLower(trim(parameters('securitySqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + "exmMasterSqlDatabaseNameTidy": "[toLower(trim(parameters('exmMasterSqlDatabaseName')))]", + + "cmWebAppNameTidy": "[toLower(trim(parameters('cmWebAppName')))]", + "prcWebAppNameTidy": "[toLower(trim(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[toLower(trim(parameters('repWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + "maOpsWebAppNameTidy": "[toLower(trim(parameters('maOpsWebAppName')))]", + "maRepWebAppNameTidy": "[toLower(trim(parameters('maRepWebAppName')))]", + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "exmDdsWebAppNameTidy": "[toLower(trim(parameters('exmDdsWebAppName')))]", + + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + + "searchProvider": "[if(empty(parameters('solrConnectionString')), 'Azure', 'Solr')]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + + "dedicatedDispatchService": "/sitecore%20modules/web/exm/dedicateddispatchservice.asmx", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "siWebAppHostName": null, + "authCertificateThumbprint": null + } + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "repAuthenticationApiKey": { + "type": "securestring", + "minLength": 32 + }, + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + "exmMasterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-exmmaster-db')]" + }, + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "exmMasterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "exmmasteruser" + }, + "exmMasterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('exmmaster', parameters('passwordSalt'))), uniqueString('exmmaster', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('exmmaster', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + + "solrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "cmWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm')]" + }, + "prcWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc')]" + }, + "repWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "exmDdsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-exm-dds')]" + }, + + "siWebAppHostName": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').siWebAppHostName]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "exmDdsMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "exmCmMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "bootloaderMsDeployPackageUrl": { + "type": "securestring", + "defaultValue": "" + }, + + "securityClientIp": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + "securityClientIpMask": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + + "exmCryptographicKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmCryptographicKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmCryptographicKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + "exmAuthenticationKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmAuthenticationKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmAuthenticationKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + "exmInternalApiKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmInternalApiKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmInternalApiKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + + "exmEdsProvider": { + "type": "string", + "allowedValues": [ "CustomSMTP", "EmailCloud" ], + "defaultValue": "CustomSMTP" + }, + + "siClientSecret": { + "type": "securestring", + "minLength": 6, + "defaultValue": "[toUpper(replace(guid(uniqueString('siClientSecret', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '-',''))]" + }, + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + } + }, + "resources": [ + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('exmCmMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]", + "EXM Cryptographic Key": "[parameters('exmCryptographicKey')]", + "EXM Authentication Key": "[parameters('exmAuthenticationKey')]", + "EXM Internal Api Key": "[parameters('exmInternalApiKey')]", + "Dedicated Dispatch Service": "[variables('dedicatedDispatchService')]", + "Dedicated Server Host Name": "[concat('https://', reference(concat('Microsoft.Web/sites/', variables('exmDdsWebAppNameTidy')), variables('webApiVersion')).defaultHostName)]" + } + }, + { + "packageUri": "[parameters('bootloaderMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('exmDdsWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('exmDdsMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('exmDdsWebAppNameTidy')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "EXM Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('exmMasterSqlDatabaseNameTidy'),';User Id=', parameters('exmMasterSqlDatabaseUserName'), ';Password=', parameters('exmMasterSqlDatabasePassword'), ';')]", + "XDB Reference Data Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('refDataSqlDatabaseNameTidy'),';User Id=', parameters('xcRefDataSqlDatabaseUserName'), ';Password=', parameters('xcRefDataSqlDatabasePassword'), ';')]", + "Experience Forms Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('formsSqlDatabaseUserName'), ';Password=', parameters('formsSqlDatabasePassword'), ';')]", + "Processing Service Url": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('prcWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Reporting Service Url": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('repWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Reporting Service Api Key": "[parameters('repAuthenticationApiKey')]", + "XConnect Collection": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XConnect Search": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSearchWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB Reference Data Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcRefDataWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB MA Reporting Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('maRepWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB MA Ops Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('maOpsWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Search Provider": "[variables('searchProvider')]", + "Cloud Search Connection String": "[if(equals(variables('searchProvider'), 'Azure'), concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchRestApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey), '')]", + "SOLR Connection String": "[parameters('solrConnectionString')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'DDS', '')]", + "IP Security Client IP": "[parameters('securityClientIp')]", + "IP Security Client IP Mask": "[parameters('securityClientIpMask')]", + "Sitecore Identity Authority": "[concat('https://', parameters('siWebAppHostName'))]", + "Sitecore Identity Secret": "[parameters('siClientSecret')]", + "Telerik Encryption Key": "[parameters('telerikEncryptionKey')]", + "XConnect Collection Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB Reference Data Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB MA Reporting Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB MA Ops Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "EXM Cryptographic Key": "[parameters('exmCryptographicKey')]", + "EXM Authentication Key": "[parameters('exmAuthenticationKey')]", + "EXM Internal Api Key": "[parameters('exmInternalApiKey')]", + "License Xml": "[parameters('licenseXml')]", + "EXM EDS Provider": "[parameters('exmEdsProvider')]" + } + } + ] + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('cmWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('exmDdsWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('exmDdsWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XP/nested/application-ma.json b/Sitecore 9.3.0/XP/nested/application-ma.json new file mode 100644 index 00000000..be6117f6 --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/application-ma.json @@ -0,0 +1,311 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + "maOpsWebAppNameTidy": "[toLower(trim(parameters('maOpsWebAppName')))]", + "maRepWebAppNameTidy": "[toLower(trim(parameters('maRepWebAppName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "maOpsMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "maRepMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('maOpsWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('maOpsMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('maOpsWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xconnect Search Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSearchWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xconnect Search Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xdb Reference Data Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcRefDataWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xdb Reference Data Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "MarketingAutomation", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('maOpsWebAppNameTidy'),'appsettings')]" + ] + }, + { + "name": "[concat(variables('maRepWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('maRepMsDeployPackageUrl')]", + "setParameters": { + "IIS Web Application Name": "[variables('maRepWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "MarketingAutomationReporting", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('maRepWebAppNameTidy'),'appsettings')]" + ] + }, + { + "name": "[concat(variables('maOpsWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + } + }, + { + "name": "[concat(variables('maRepWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('maOpsWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XP/nested/application-xc-search-as.json b/Sitecore 9.3.0/XP/nested/application-xc-search-as.json new file mode 100644 index 00000000..4c4418e8 --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/application-xc-search-as.json @@ -0,0 +1,236 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "searchApiVersion": "2015-08-19", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "xcSearchIndexNameTidy": "[toLower(trim(parameters('xcSearchIndexName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "searchServiceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcSearchMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('xcSearchWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcSearchMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcSearchWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "Collection Search Service Url": "[concat('https://', variables('searchServiceNameTidy'), '.search.windows.net')]", + "Collection Search Index Name": "[variables('xcSearchIndexNameTidy')]", + "Collection Search Query Api Key": "[listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey]", + "Collection Search Worker Api Key": "[listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "CollectionSearch", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('xcSearchWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcSearchWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XP/nested/application-xc-search-solr.json b/Sitecore 9.3.0/XP/nested/application-xc-search-solr.json new file mode 100644 index 00000000..2cce77d0 --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/application-xc-search-solr.json @@ -0,0 +1,237 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + + "xcSearchIndexNameTidy": "[toLower(trim(parameters('xcSearchIndexName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + + "xcSolrConnectionStringTidy": "[trim(parameters('xcSolrConnectionString'))]", + "xcSolrConnectionStringBaseUri": "[trim(first(split(variables('xcSolrConnectionStringTidy'), ';')))]", + "xcSolrConnectionStringBaseUriTidy": "[replace(replace(concat(variables('xcSolrConnectionStringBaseUri'), '/'), '//', '/'), ':/', '://')]", + "xcSolrConnectionStringParameters": "[replace(variables('xcSolrConnectionStringTidy'), variables('xcSolrConnectionStringBaseUri'), '')]", + "xcSolrConnectionString": "[uri(variables('xcSolrConnectionStringBaseUriTidy'), concat(variables('xcSearchIndexNameTidy'), variables('xcSolrConnectionStringParameters')))]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "xcSolrConnectionString": { + "type": "securestring", + "minLength": 1 + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcSearchMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('xcSearchWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcSearchMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcSearchWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "CollectionSearch", + "License Xml": "[parameters('licenseXml')]", + "Search SOLR Core Application Connection String": "[variables('xcSolrConnectionString')]" + } + } + }, + { + "name": "[concat(variables('xcSearchWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcSearchWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XP/nested/application-xc.json b/Sitecore 9.3.0/XP/nested/application-xc.json new file mode 100644 index 00000000..051b3d9f --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/application-xc.json @@ -0,0 +1,572 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2018-05-01", + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + + "searchProvider": "[if(empty(parameters('xcSolrConnectionString')), 'Azure', 'Solr')]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "templateLinkBase": { + "type": "string", + "minLength": 1, + "defaultValue": "[uri(replace(json(string(deployment().properties.templateLink)).uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "xcSolrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcRefDataMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "xcCollectMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "xcSearchMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('xcRefDataWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcRefDataMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcRefDataWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XConnect Server Instance Name": "ReferenceData", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('xcCollectWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcCollectMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcCollectWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Collection Shard 0 Database Name": "[variables('shard0SqlDatabaseNameTidy')]", + "Collection Shard 1 Database Name": "[variables('shard1SqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "Collection", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcRefDataWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('xcRefDataWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcCollectWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('xcCollectWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('xcRefDataWebAppNameTidy'),'appsettings')]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc-search-as')]", + "condition": "[equals(variables('searchProvider'), 'Azure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'application-xc-search-as.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[parameters('infrastructure')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + + "xcSearchMsDeployPackageUrl": { + "value": "[parameters('xcSearchMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('xcCollectWebAppNameTidy'),'appsettings')]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc-search-solr')]", + "condition": "[not(equals(variables('searchProvider'), 'Azure'))]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'application-xc-search-solr.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[parameters('infrastructure')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "xcSolrConnectionString": { + "value": "[parameters('xcSolrConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcSearchMsDeployPackageUrl": { + "value": "[parameters('xcSearchMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('xcCollectWebAppNameTidy'),'appsettings')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XP/nested/application.json b/Sitecore 9.3.0/XP/nested/application.json new file mode 100644 index 00000000..a8e5fad0 --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/application.json @@ -0,0 +1,744 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "searchApiVersion": "2015-08-19", + "searchRestApiVersion": "2017-11-11", + "redisApiVersion": "2016-04-01", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "securitySqlDatabaseNameTidy": "[toLower(trim(parameters('securitySqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "tasksSqlDatabaseNameTidy": "[toLower(trim(parameters('tasksSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + "exmMasterSqlDatabaseNameTidy": "[toLower(trim(parameters('exmMasterSqlDatabaseName')))]", + + "siWebAppNameTidy": "[toLower(trim(parameters('siWebAppName')))]", + "cmWebAppNameTidy": "[toLower(trim(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[toLower(trim(parameters('cdWebAppName')))]", + "prcWebAppNameTidy": "[toLower(trim(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[toLower(trim(parameters('repWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + "maOpsWebAppNameTidy": "[toLower(trim(parameters('maOpsWebAppName')))]", + "maRepWebAppNameTidy": "[toLower(trim(parameters('maRepWebAppName')))]", + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "cortexReportingWebAppNameTidy": "[toLower(trim(parameters('cortexReportingWebAppName')))]", + + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + + "cmWebAppHostUrl": "[concat('https://', parameters('cmWebAppHostName'))]", + "exmDdsWebAppHostUrl": "[concat('https://', parameters('exmDdsWebAppHostName'))]", + + "searchProvider": "[if(empty(parameters('solrConnectionString')), 'Azure', 'Solr')]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "redisCacheNameTidy": "[toLower(trim(parameters('redisCacheName')))]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "siWebAppHostName": null, + "cmWebAppHostName": null, + "authCertificateThumbprint": null + } + }, + "infrastructureExm": { + "type": "secureObject", + "defaultValue": { + "exmDdsWebAppHostName": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "repAuthenticationApiKey": { + "type": "securestring", + "minLength": 32 + }, + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + "exmMasterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-exmmaster-db')]" + }, + + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "exmMasterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "exmmasteruser" + }, + "exmMasterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('exmmaster', parameters('passwordSalt'))), uniqueString('exmmaster', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('exmmaster', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "tasksSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "tasksuser" + }, + "tasksSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('tasks', parameters('passwordSalt'))), uniqueString('tasks', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('tasks', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "redisCacheName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-redis')]" + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + + "solrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + + "siWebAppHostName": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').siWebAppHostName]" + }, + "cmWebAppHostName": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').cmWebAppHostName]" + }, + "exmDdsWebAppHostName": { + "type": "string", + "defaultValue": "[if(empty(parameters('infrastructureExm')), '', parameters('infrastructureExm').exmDdsWebAppHostName)]" + }, + + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "cmWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm')]" + }, + "cdWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cd')]" + }, + "prcWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc')]" + }, + "repWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "cortexReportingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-reporting')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "siMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "cmMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "cdMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "prcMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "repMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "securityClientIp": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + "securityClientIpMask": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + + "exmCryptographicKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmCryptographicKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmCryptographicKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + "exmAuthenticationKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmAuthenticationKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmAuthenticationKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + + "exmEdsProvider": { + "type": "string", + "allowedValues": [ "CustomSMTP", "EmailCloud" ], + "defaultValue": "CustomSMTP" + }, + + "siClientSecret": { + "type": "securestring", + "minLength": 6, + "defaultValue": "[toUpper(replace(guid(uniqueString('siClientSecret', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '-',''))]" + }, + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + "cmNodeJsVersion":{ + "type": "string", + "defaultValue": "8.11.1" + }, + "cdNodeJsVersion":{ + "type": "string", + "defaultValue": "8.11.1" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + } + }, + "resources": [ + { + "name": "[concat(variables('siWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('siMsDeployPackageUrl')]", + "setParameters": { + "IIS Web Application Name": "[variables('siWebAppNameTidy')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "CertificateThumbprint": "[parameters('authCertificateThumbprint')]", + "CertificateStoreLocation": "CurrentUser", + "PasswordRecoveryUrl": "[concat('https://', parameters('cmWebAppHostName'))]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "License Xml": "[parameters('licenseXml')]", + "AllowedCorsOrigins": "[concat(variables('cmWebAppHostUrl'), '|', variables('exmDdsWebAppHostUrl'))]", + "ClientSecret": "[parameters('siClientSecret')]" + } + } + ] + } + }, + { + "name": "[concat(variables('siWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('siWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('cmMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]", + "Sitecore Admin New Password": "[parameters('sitecoreAdminPassword')]", + "Core DB User Name": "[parameters('coreSqlDatabaseUserName')]", + "Core DB Password": "[parameters('coreSqlDatabasePassword')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Security DB User Name": "[parameters('securitySqlDatabaseUserName')]", + "Security DB Password": "[parameters('securitySqlDatabasePassword')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Security Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master DB User Name": "[parameters('masterSqlDatabaseUserName')]", + "Master DB Password": "[parameters('masterSqlDatabasePassword')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Web DB User Name": "[parameters('webSqlDatabaseUserName')]", + "Web DB Password": "[parameters('webSqlDatabasePassword')]", + "Web Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "XDB Reference Data Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('refDataSqlDatabaseNameTidy'),';User Id=', parameters('xcRefDataSqlDatabaseUserName'), ';Password=', parameters('xcRefDataSqlDatabasePassword'), ';')]", + "Experience Forms DB User Name": "[parameters('formsSqlDatabaseUserName')]", + "Experience Forms DB Password": "[parameters('formsSqlDatabasePassword')]", + "Experience Forms Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Experience Forms Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('formsSqlDatabaseUserName'), ';Password=', parameters('formsSqlDatabasePassword'), ';')]", + "EXM Master DB User Name": "[parameters('exmMasterSqlDatabaseUserName')]", + "EXM Master DB Password": "[parameters('exmMasterSqlDatabasePassword')]", + "EXM Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('exmMasterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "EXM Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('exmMasterSqlDatabaseNameTidy'),';User Id=', parameters('exmMasterSqlDatabaseUserName'), ';Password=', parameters('exmMasterSqlDatabasePassword'), ';')]", + "Processing Service Url": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('prcWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Reporting Service Url": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('repWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Reporting Service Api Key": "[parameters('repAuthenticationApiKey')]", + "XConnect Collection": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XConnect Search": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSearchWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB Reference Data Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcRefDataWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB MA Reporting Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('maRepWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB MA Ops Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('maOpsWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Cortex Reporting Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('cortexReportingWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Search Provider": "[variables('searchProvider')]", + "Cloud Search Connection String": "[if(equals(variables('searchProvider'), 'Azure'), concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchRestApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey), '')]", + "SOLR Connection String": "[parameters('solrConnectionString')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'CM', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "IP Security Client IP": "[parameters('securityClientIp')]", + "IP Security Client IP Mask": "[parameters('securityClientIpMask')]", + "Sitecore Identity Authority": "[concat('https://', parameters('siWebAppHostName'))]", + "Sitecore Identity Secret": "[parameters('siClientSecret')]", + "EXM Cryptographic Key": "[parameters('exmCryptographicKey')]", + "EXM Authentication Key": "[parameters('exmAuthenticationKey')]", + "Telerik Encryption Key": "[parameters('telerikEncryptionKey')]", + "EXM EDS Provider": "[parameters('exmEdsProvider')]", + "XConnect Collection Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB Reference Data Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB MA Reporting Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB MA Ops Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Cortex Reporting Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "License Xml": "[parameters('licenseXml')]" + } + } + ] + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('siWebAppNameTidy'),'appsettings')]" + ] + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('cdMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('cdWebAppNameTidy')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "Reference Data Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('refDataSqlDatabaseNameTidy'),';User Id=', parameters('xcRefDataSqlDatabaseUserName'), ';Password=', parameters('xcRefDataSqlDatabasePassword'), ';')]", + "Experience Forms Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('formsSqlDatabaseUserName'), ';Password=', parameters('formsSqlDatabasePassword'), ';')]", + "EXM Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('exmMasterSqlDatabaseNameTidy'),';User Id=', parameters('exmMasterSqlDatabaseUserName'), ';Password=', parameters('exmMasterSqlDatabasePassword'), ';')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "XConnect Collection": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB Reference Data Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcRefDataWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB MA Ops Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('maOpsWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Redis Sessions": "[concat(reference(resourceId('Microsoft.Cache/Redis', variables('redisCacheNameTidy')), variables('redisApiVersion')).hostName, ':', reference(resourceId('Microsoft.Cache/Redis', variables('redisCacheNameTidy')), variables('redisApiVersion')).sslPort, ',password=', listKeys(resourceId('Microsoft.Cache/Redis', variables('redisCacheNameTidy')), variables('redisApiVersion')).primaryKey, ',ssl=True,abortConnect=False')]", + "Search Provider": "[variables('searchProvider')]", + "Cloud Search Connection String": "[if(equals(variables('searchProvider'), 'Azure'), concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchRestApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey), '')]", + "SOLR Connection String": "[parameters('solrConnectionString')]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'CD', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "EXM Cryptographic Key": "[parameters('exmCryptographicKey')]", + "EXM Authentication Key": "[parameters('exmAuthenticationKey')]", + "XConnect Collection Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB Reference Data Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB MA Ops Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "License Xml": "[parameters('licenseXml')]" + } + } + ] + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('cmWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('prcMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('prcWebAppNameTidy')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Reporting Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('reportingSqlDatabaseUserName'), ';Password=', parameters('reportingSqlDatabasePassword'), ';')]", + "XDB Processing Pools Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('poolsSqlDatabaseNameTidy'),';User Id=', parameters('poolsSqlDatabaseUserName'), ';Password=', parameters('poolsSqlDatabasePassword'), ';')]", + "XDB Processing Tasks DB User Name": "[parameters('tasksSqlDatabaseUserName')]", + "XDB Processing Tasks DB Password": "[parameters('tasksSqlDatabasePassword')]", + "XDB Processing Tasks Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('tasksSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "XDB Processing Tasks Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('tasksSqlDatabaseNameTidy'),';User Id=', parameters('tasksSqlDatabaseUserName'), ';Password=', parameters('tasksSqlDatabasePassword'), ';')]", + "XDB Reference Data Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('refDataSqlDatabaseNameTidy'),';User Id=', parameters('xcRefDataSqlDatabaseUserName'), ';Password=', parameters('xcRefDataSqlDatabasePassword'), ';')]", + "Reporting Service Api Key": "[parameters('repAuthenticationApiKey')]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'Processing', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "XConnect Collection": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "IP Security Client IP": "[parameters('securityClientIp')]", + "IP Security Client IP Mask": "[parameters('securityClientIpMask')]", + "XConnect Collection Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "License Xml": "[parameters('licenseXml')]" + } + } + ] + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('cdWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('repMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('repWebAppNameTidy')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Reporting Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('reportingSqlDatabaseUserName'), ';Password=', parameters('reportingSqlDatabasePassword'), ';')]", + "Reporting Service Api Key": "[parameters('repAuthenticationApiKey')]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'Reporting', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "License Xml": "[parameters('licenseXml')]" + } + } + ] + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('prcWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_NODE_DEFAULT_VERSION":"[parameters('cdNodeJsVersion')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('repWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_NODE_DEFAULT_VERSION":"[parameters('cmNodeJsVersion')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('cdWebAppNameTidy'),'appsettings')]" + ] + }, + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('cmWebAppNameTidy'),'appsettings')]" + ] + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/config', variables('prcWebAppNameTidy'),'appsettings')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XP/nested/emptyAddon.json b/Sitecore 9.3.0/XP/nested/emptyAddon.json new file mode 100644 index 00000000..18909e4e --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/emptyAddon.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": {} + }, + "extension": { + "type": "secureObject", + "defaultValue": {} + } + }, + "resources": [] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XP/nested/infrastructure-asb.json b/Sitecore 9.3.0/XP/nested/infrastructure-asb.json new file mode 100644 index 00000000..536831c3 --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/infrastructure-asb.json @@ -0,0 +1,193 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "azureServiceBusQueues": { + "type": "array", + "defaultValue": [ + "error", + "Sitecore_CT_ModelTrainingTaskStatusSubscriber", + "Sitecore_EXM_AutomatedMessagesQueue", + "Sitecore_EXM_ClearSuppressionListQueue", + "Sitecore_EXM_ConfirmSubscriptionMessagesQueue", + "Sitecore_EXM_EmailAddressHistoryMessagesQueue", + "Sitecore_EXM_EmailOpenedMessagesQueue", + "Sitecore_EXM_SentMessagesQueue", + "Sitecore_EXM_UpdateListSubscriptionMessagesQueue", + "Sitecore_MA_PurgeFromCampaignMessages", + "Sitecore_PE_TaskRegistrationProducer", + "Sitecore_PE_TaskProgressProducer", + "Sitecore_PE_TaskStatusPublisher", + "Sitecore_PE_TaskRegistrationConsumer", + "Sitecore_PE_TaskProgressConsumer" + ] + }, + "azureServiceBusTopics": { + "type": "array", + "defaultValue": [ + "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions" + ] + }, + "azureServiceBusSubscriptions": { + "type": "array", + "defaultValue": [ + { + "topic": "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions", + "subscription": "Sitecore_CT_ModelTrainingTaskStatusSubscriber" + } + ] + }, + "azureServiceBusSkuName": { + "type": "string", + "defaultValue": "standard" + }, + "azureServiceBusManageSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootManageSharedAccessKey" + }, + "azureServiceBusSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootSharedAccessKey" + }, + "azureServiceBusNamespaceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-asb')]" + } + }, + "variables": { + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "resources": [ + { + "apiVersion": "[variables('azureServiceBusVersion')]", + "name": "[variables('azureServiceBusNamespaceNameTidy')]", + "type": "Microsoft.ServiceBus/namespaces", + "location": "[parameters('location')]", + "sku": { + "name": "[parameters('azureServiceBusSkuName')]" + } + }, + { + "type": "Microsoft.ServiceBus/namespaces/authorizationRules", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'),'/',parameters('azureServiceBusManageSharedAccessKeyName'))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "properties": { + "rights": [ + "Listen", + "Manage", + "Send" + ] + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "type": "Microsoft.ServiceBus/namespaces/authorizationRules", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'),'/', parameters('azureServiceBusSharedAccessKeyName'))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "properties": { + "rights": [ + "Listen", + "Send" + ] + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "copy": { + "name": "topics", + "count": "[length(parameters('azureServiceBusTopics'))]" + }, + "type": "Microsoft.ServiceBus/namespaces/topics", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusTopics')[copyIndex()]))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "scale": null, + "properties": { + "defaultMessageTimeToLive": "P14D", + "maxSizeInMegabytes": 1024, + "requiresDuplicateDetection": false, + "duplicateDetectionHistoryTimeWindow": "PT10M", + "enableBatchedOperations": true, + "status": "Active", + "supportOrdering": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": false, + "enableExpress": false + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "copy": { + "name": "subscriptions", + "count": "[length(parameters('azureServiceBusSubscriptions'))]" + }, + "type": "Microsoft.ServiceBus/namespaces/topics/subscriptions", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].topic), '/', toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "scale": null, + "properties": { + "lockDuration": "PT1M", + "requiresSession": false, + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": false, + "deadLetteringOnFilterEvaluationExceptions": true, + "maxDeliveryCount": 10, + "status": "Active", + "enableBatchedOperations": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "forwardTo": "[toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription)]" + }, + "dependsOn": [ + "[resourceId('Microsoft.ServiceBus/namespaces', variables('azureServiceBusNamespaceNameTidy'))]", + "[resourceId('Microsoft.ServiceBus/namespaces/topics', variables('azureServiceBusNamespaceNameTidy'), toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].topic))]", + "[resourceId('Microsoft.ServiceBus/namespaces/queues', variables('azureServiceBusNamespaceNameTidy'), toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription))]" + ] + }, + { + "copy": { + "name": "queues", + "count": "[length(parameters('azureServiceBusQueues'))]" + }, + "apiVersion": "[variables('azureServiceBusVersion')]", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusQueues')[copyIndex()]))]", + "type": "Microsoft.ServiceBus/Namespaces/Queues", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.ServiceBus/namespaces', variables('azureServiceBusNamespaceNameTidy'))]" + ], + "properties": { + "lockDuration": "PT5M", + "maxSizeInMegabytes": "1024", + "requiresDuplicateDetection": "false", + "requiresSession": "false", + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": "false", + "duplicateDetectionHistoryTimeWindow": "PT10M", + "maxDeliveryCount": "10", + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": "false", + "enableExpress": "false" + } + } + ] +} diff --git a/Sitecore 9.3.0/XP/nested/infrastructure-cortex-prc-rep.json b/Sitecore 9.3.0/XP/nested/infrastructure-cortex-prc-rep.json new file mode 100644 index 00000000..898eb6d2 --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/infrastructure-cortex-prc-rep.json @@ -0,0 +1,326 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "processingEngineTasksSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineTasksSqlDatabaseName')))]", + "processingEngineStorageSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineStorageSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + + "xcBasicHostingPlanNameTidy": "[toLower(trim(parameters('xcBasicHostingPlanName')))]", + "xcResourceIntensiveHostingPlanNameTidy": "[toLower(trim(parameters('xcResourceIntensiveHostingPlanName')))]", + + "cortexProcessingWebAppNameTidy": "[toLower(trim(parameters('cortexProcessingWebAppName')))]", + "cortexReportingWebAppNameTidy": "[toLower(trim(parameters('cortexReportingWebAppName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "cortexProcessing": "cortex-processing", + "cortexReporting": "cortex-reporting", + "cortexProcessingEngineTasks": "processingenginetasks", + "cortexProcessingEngineStorage": "processingenginestorage", + "reporting": "reporting" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + "xcResourceIntensiveHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-resourceintensive-hp')]" + }, + + "cortexProcessingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-processing')]" + }, + "cortexReportingWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cortex-reporting')]" + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "processingEngineTasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "processingEngineStorageSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Small": { + "processingEngineTasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "processingEngineStorageSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Medium": { + "processingEngineTasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "processingEngineStorageSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + } + }, + "Large": { + "processingEngineTasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "processingEngineStorageSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + } + }, + "Extra Large": { + "processingEngineTasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "processingEngineStorageSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + } + }, + "resources": [ + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('processingEngineTasksSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').processingEngineTasksSqlDataBase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').processingEngineTasksSqlDataBase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').processingEngineTasksSqlDataBase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('processingEngineTasksSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexProcessingEngineTasks]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('processingEngineStorageSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').processingEngineStorageSqlDataBase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').processingEngineStorageSqlDataBase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').processingEngineStorageSqlDataBase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('processingEngineStorageSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexProcessingEngineStorage]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('reportingSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').reportingSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').reportingSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').reportingSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('reportingSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').reporting]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('cortexProcessingWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexProcessing]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('cortexReportingWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexReporting]" + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XP/nested/infrastructure-exm.json b/Sitecore 9.3.0/XP/nested/infrastructure-exm.json new file mode 100644 index 00000000..453f34d4 --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/infrastructure-exm.json @@ -0,0 +1,166 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + + "exmDdsHostingPlanNameTidy": "[toLower(trim(parameters('exmDdsHostingPlanName')))]", + "exmDdsWebAppNameTidy": "[toLower(trim(parameters('exmDdsWebAppName')))]", + "useAse": "[not(empty(parameters('aseName')))]", + "aseResourceId": "[resourceId(parameters('aseResourceGroupName'), 'Microsoft.Web/hostingEnvironments', parameters('aseName'))]", + "aseHostingEnvironmentProfile": { + "id": "[variables('aseResourceId')]" + }, + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "dds": "dds" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + "exmDdsHostingPlanName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-exm-dds-hp')]" + }, + "exmDdsWebAppName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-exm-dds')]" + }, + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "exmDdsHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "exmDdsHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + } + }, + "Small": { + "exmDdsHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "exmDdsHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + } + }, + "Medium": { + "exmDdsHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "exmDdsHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + } + }, + "Large": { + "exmDdsHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "exmDdsHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + } + }, + "Extra Large": { + "exmDdsHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "exmDdsHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + }, + "aseName":{ + "type": "string", + "defaultValue": "" + }, + "aseResourceGroupName":{ + "type": "string", + "defaultValue": "[resourceGroup().name]" + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('exmDdsHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').exmDdsHostingPlan.SkuName, parameters('resourceSizes').exmDdsHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').exmDdsHostingPlan.SkuCapacity, parameters('resourceSizes').exmDdsHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('exmDdsHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').dds]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('exmDdsWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('exmDdsHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('exmDdsHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').dds]" + } + } + ], + "outputs": { + "infrastructureExm": { + "type": "object", + "value": { + "exmDdsWebAppHostName": "[reference(concat('Microsoft.Web/sites/', variables('exmDdsWebAppNameTidy')), variables('webApiVersion')).defaultHostName]" + } + } + } +} diff --git a/Sitecore 9.3.0/XP/nested/infrastructure-ma.json b/Sitecore 9.3.0/XP/nested/infrastructure-ma.json new file mode 100644 index 00000000..d1320f3e --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/infrastructure-ma.json @@ -0,0 +1,198 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + + "xcBasicHostingPlanNameTidy": "[toLower(trim(parameters('xcBasicHostingPlanName')))]", + + "maOpsWebAppNameTidy": "[toLower(trim(parameters('maOpsWebAppName')))]", + "maRepWebAppNameTidy": "[toLower(trim(parameters('maRepWebAppName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "maOps": "ma-ops", + "maRep": "ma-rep", + "ma": "ma" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + } + }, + "Small": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + } + }, + "Medium": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Large": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Extra Large": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + } + }, + "resources": [ + { + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('maSqlDatabaseNameTidy'))]", + "type": "Microsoft.Sql/servers/databases", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').maSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').maSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').maSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('maSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').ma]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('maRepWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "location": "[parameters('location')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').maRep]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('maOpsWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').maOps]" + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XP/nested/infrastructure-xc.json b/Sitecore 9.3.0/XP/nested/infrastructure-xc.json new file mode 100644 index 00000000..207ca82c --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/infrastructure-xc.json @@ -0,0 +1,560 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + + "xcBasicHostingPlanNameTidy": "[toLower(trim(parameters('xcBasicHostingPlanName')))]", + "xcResourceIntensiveHostingPlanNameTidy": "[toLower(trim(parameters('xcResourceIntensiveHostingPlanName')))]", + + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "xc": "xc", + "xcSearch": "xc-search", + "xcCollect": "xc-collect", + "xcRefData": "xc-refdata", + "xcShard0": "xc-shard-0", + "xcShard1": "xc-shard-1", + "xcShardMapManager": "xc-smm", + "messaging": "messaging" + }, + + "useAse": "[not(empty(parameters('aseName')))]", + "aseResourceId": "[resourceId(parameters('aseResourceGroupName'), 'Microsoft.Web/hostingEnvironments', parameters('aseName'))]", + "aseHostingEnvironmentProfile": { + "id": "[variables('aseResourceId')]" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + "xcResourceIntensiveHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-resourceintensive-hp')]" + }, + + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "xcBasicHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "xcBasicHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard1SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + } + }, + "Small": { + "xcBasicHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "xcBasicHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "xcShard1SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Medium": { + "xcBasicHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "xcBasicHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "xcShard1SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + } + }, + "Large": { + "xcBasicHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "xcBasicHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 2 + }, + "xcResourceIntensiveHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 2 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P1" + }, + "xcShard1SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P1" + } + }, + "Extra Large": { + "xcBasicHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 2 + }, + "xcBasicHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 2 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 4 + }, + "xcResourceIntensiveHostingPlanIsolated": { + "SkuName": "I3", + "SkuCapacity": 2 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P2" + }, + "xcShard1SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P2" + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + }, + "aseName":{ + "type": "string", + "defaultValue": "" + }, + "aseResourceGroupName":{ + "type": "string", + "defaultValue": "[resourceGroup().name]" + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('xcBasicHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').xcBasicHostingPlan.SkuName, parameters('resourceSizes').xcBasicHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').xcBasicHostingPlan.SkuCapacity, parameters('resourceSizes').xcBasicHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('xcBasicHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xc]" + } + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('xcResourceIntensiveHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').xcResourceIntensiveHostingPlan.SkuName, parameters('resourceSizes').xcResourceIntensiveHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').xcResourceIntensiveHostingPlan.SkuCapacity, parameters('resourceSizes').xcResourceIntensiveHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('xcResourceIntensiveHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xc]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]" + ] + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcRefDataWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcRefData]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('refDataSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').refDataSqlDataBase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').refDataSqlDataBase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').refDataSqlDataBase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('refDataSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcRefData]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcCollectWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcCollect]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'),'/',variables('shardMapManagerSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').shardMapManagerSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').shardMapManagerSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').shardMapManagerSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shardMapManagerSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShardMapManager]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'),'/',variables('shard0SqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').xcShard0SqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').xcShard0SqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').xcShard0SqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shard0SqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShard0]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'),'/',variables('shard1SqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').xcShard1SqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').xcShard1SqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').xcShard1SqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shard1SqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShard1]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcSearchWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcSearch]" + } + } + ] +} diff --git a/Sitecore 9.3.0/XP/nested/infrastructure.json b/Sitecore 9.3.0/XP/nested/infrastructure.json new file mode 100644 index 00000000..d0268934 --- /dev/null +++ b/Sitecore 9.3.0/XP/nested/infrastructure.json @@ -0,0 +1,1299 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + "searchApiVersion": "2015-08-19", + "redisApiVersion": "2016-04-01", + "appInsightsApiVersion": "2015-05-01", + "certificateApiVersion": "2014-11-01", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "tasksSqlDatabaseNameTidy": "[toLower(trim(parameters('tasksSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + "exmMasterSqlDatabaseNameTidy": "[toLower(trim(parameters('exmMasterSqlDatabaseName')))]", + + "siHostingPlanNameTidy": "[toLower(trim(parameters('siHostingPlanName')))]", + "cmHostingPlanNameTidy": "[toLower(trim(parameters('cmHostingPlanName')))]", + "cdHostingPlanNameTidy": "[toLower(trim(parameters('cdHostingPlanName')))]", + "prcHostingPlanNameTidy": "[toLower(trim(parameters('prcHostingPlanName')))]", + "repHostingPlanNameTidy": "[toLower(trim(parameters('repHostingPlanName')))]", + + "siWebAppNameTidy": "[toLower(trim(parameters('siWebAppName')))]", + "cmWebAppNameTidy": "[toLower(trim(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[toLower(trim(parameters('cdWebAppName')))]", + "prcWebAppNameTidy": "[toLower(trim(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[toLower(trim(parameters('repWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "redisCacheNameTidy": "[toLower(trim(parameters('redisCacheName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "applicationInsightsPricePlanTidy": "[toLower(trim(parameters('applicationInsightsPricePlan')))]", + "authCertificateNameTidy": "[toLower(trim(parameters('authCertificateName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "si": "si", + "cm": "cm", + "cd": "cd", + "rep": "rep", + "prc": "prc", + "core": "core", + "master": "master", + "web": "web", + "pools": "prc-pools", + "tasks": "prc-tasks", + "forms": "forms", + "exmmaster" : "exmmaster" + }, + + "useAse": "[not(empty(parameters('aseName')))]", + "aseResourceId": "[resourceId(parameters('aseResourceGroupName'), 'Microsoft.Web/hostingEnvironments', parameters('aseName'))]", + "aseHostingEnvironmentProfile": { + "id": "[variables('aseResourceId')]" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + "exmMasterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-exmmaster-db')]" + }, + + "deployAzureSearch": { + "type": "bool", + "defaultValue": true + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + + "redisCacheName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-redis')]" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + + "siHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si-hp')]" + }, + "cmHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm-hp')]" + }, + "cdHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cd-hp')]" + }, + "prcHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc-hp')]" + }, + "repHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep-hp')]" + }, + + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "cmWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm')]" + }, + "cdWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cd')]" + }, + "prcWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc')]" + }, + "repWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep')]" + }, + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1 + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1 + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "siHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "siHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "cmHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "cmHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "cdHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "prcHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "prcHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "repHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "exmMasterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Small": { + "siHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "siHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "cmHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "cmHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 2 + }, + "cdHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "prcHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "prcHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "repHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "exmMasterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Medium": { + "siHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "siHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "cmHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "cmHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 3 + }, + "cdHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 2 + }, + "prcHostingPlan": { + "SkuName": "S1", + "SkuCapacity": 1 + }, + "prcHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "repHostingPlanIsolated": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "exmMasterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 2, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Large": { + "siHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "siHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cmHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "cmHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 4 + }, + "cdHostingPlanIsolated": { + "SkuName": "I3", + "SkuCapacity": 2 + }, + "prcHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "prcHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "repHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "exmMasterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 3, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Application Insights Enterprise", + "DataVolumeCap": { + "Cap": 1.8 + } + } + }, + "Extra Large": { + "siHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "siHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cmHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 1 + }, + "cmHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "S3", + "SkuCapacity": 8 + }, + "cdHostingPlanIsolated": { + "SkuName": "I3", + "SkuCapacity": 4 + }, + "prcHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "prcHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "S2", + "SkuCapacity": 1 + }, + "repHostingPlanIsolated": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "exmMasterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 3, + "Replicas": "[parameters('searchServiceReplicaCount')]" + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 2 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Application Insights Enterprise", + "DataVolumeCap": { + "Cap": 1.8 + } + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + }, + "aseName":{ + "type": "string", + "defaultValue": "" + }, + "aseResourceGroupName":{ + "type": "string", + "defaultValue": "[resourceGroup().name]" + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('siHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').siHostingPlan.SkuName, parameters('resourceSizes').siHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').siHostingPlan.SkuCapacity, parameters('resourceSizes').siHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('siHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').si]" + } + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('cmHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').cmHostingPlan.SkuName, parameters('resourceSizes').cmHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').cmHostingPlan.SkuCapacity, parameters('resourceSizes').cmHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('cmHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cm]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('siHostingPlanNameTidy'))]" + ] + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('cdHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').cdHostingPlan.SkuName, parameters('resourceSizes').cdHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').cdHostingPlan.SkuCapacity, parameters('resourceSizes').cdHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('cdHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cd]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]" + ] + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('prcHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').prcHostingPlan.SkuName, parameters('resourceSizes').prcHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').prcHostingPlan.SkuCapacity, parameters('resourceSizes').prcHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('prcHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').prc]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('cdHostingPlanNameTidy'))]" + ] + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('repHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[if(not(variables('useAse')), parameters('resourceSizes').repHostingPlan.SkuName, parameters('resourceSizes').repHostingPlanIsolated.SkuName)]", + "capacity": "[if(not(variables('useAse')), parameters('resourceSizes').repHostingPlan.SkuCapacity, parameters('resourceSizes').repHostingPlanIsolated.SkuCapacity)]" + }, + "properties": { + "name": "[variables('repHostingPlanNameTidy')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').rep]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]" + ] + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('siWebAppNameTidy')]", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('siHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ], + "metadata": [ + { + "name": "CURRENT_STACK", + "value": "dotnetcore" + } + ] + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('siHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').si]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('cmWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cm]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('cdWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('cdHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('cdHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cd]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('prcWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').prc]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('repWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('repHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('repHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').rep]" + } + }, + { + "type": "Microsoft.Sql/servers", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "administratorLogin": "[parameters('sqlServerLogin')]", + "administratorLoginPassword": "[parameters('sqlServerPassword')]", + "version": "[parameters('sqlServerVersion')]" + }, + "name": "[variables('sqlServerNameTidy')]", + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]" + }, + "resources": [ + { + "type": "firewallrules", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "endIpAddress": "0.0.0.0", + "startIpAddress": "0.0.0.0" + }, + "name": "AllowAllAzureIps", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ] + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').coreSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').coreSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').coreSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('coreSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('coreSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').core]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').masterSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').masterSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').masterSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('masterSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('masterSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').master]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').webSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').webSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').webSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('webSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('webSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').web]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').poolsSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').poolsSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').poolsSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('poolsSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('poolsSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').pools]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').tasksSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').tasksSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').tasksSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('tasksSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('tasksSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').tasks]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').formsSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').formsSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').formsSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('formsSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('formsSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').forms]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').exmMasterSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').exmMasterSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').exmMasterSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('exmMasterSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('exmMasterSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').exmmaster]" + } + } + ] + }, + { + "type": "Microsoft.Search/searchServices", + "condition": "[parameters('deployAzureSearch')]", + "apiVersion": "[variables('searchApiVersion')]", + "name": "[variables('searchServiceNameTidy')]", + "location": "[if(parameters('deployAzureSearch'), parameters('searchServiceLocation'), 'westus')]", + "sku": { + "name": "[toLower(parameters('resourceSizes').searchService.SkuName)]" + }, + "properties": { + "replicaCount": "[parameters('resourceSizes').searchService.Replicas]", + "partitionCount": "[parameters('resourceSizes').searchService.Partitions]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Cache/Redis", + "name": "[variables('redisCacheNameTidy')]", + "apiVersion": "[variables('redisApiVersion')]", + "location": "[parameters('location')]", + "properties": { + "sku": { + "name": "[parameters('resourceSizes').redisCache.SkuName]", + "family": "[parameters('resourceSizes').redisCache.SkuFamily]", + "capacity": "[parameters('resourceSizes').redisCache.SkuCapacity]" + }, + "enableNonSslPort": false + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components", + "condition": "[parameters('useApplicationInsights')]", + "name": "[variables('appInsightsNameTidy')]", + "apiVersion": "[variables('appInsightsApiVersion')]", + "location": "[parameters('applicationInsightsLocation')]", + "properties": { + "ApplicationId": "[variables('appInsightsNameTidy')]", + "Application_Type": "web" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components/CurrentBillingFeatures", + "condition": "[parameters('useApplicationInsights')]", + "name": "[concat(variables('appInsightsNameTidy'), '/', variables('applicationInsightsPricePlanTidy'))]", + "location": "[parameters('applicationInsightsLocation')]", + "apiVersion": "[variables('appInsightsApiVersion')]", + "properties": { + "CurrentBillingFeatures": "[parameters('resourceSizes').applicationInsightsPricePlan.CurrentBillingFeatures]", + "DataVolumeCap": { + "Cap": "[parameters('resourceSizes').applicationInsightsPricePlan.DataVolumeCap.Cap]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Web/certificates", + "name": "[variables('authCertificateNameTidy')]", + "apiVersion": "[variables('certificateApiVersion')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('siHostingPlanNameTidy'))]", + "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]", + "[resourceId('Microsoft.Web/serverfarms', variables('cdHostingPlanNameTidy'))]", + "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]", + "[resourceId('Microsoft.Web/serverfarms', variables('repHostingPlanNameTidy'))]" + ], + "properties": { + "password": "[parameters('authCertificatePassword')]", + "pfxBlob": "[parameters('authCertificateBlob')]", + "hostingEnvironmentProfile": "[if(variables('useAse'), variables('aseHostingEnvironmentProfile'), '')]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + } + ], + "outputs": { + "infrastructure": { + "type": "object", + "value": { + "sqlServerFqdn": "[reference(concat('Microsoft.Sql/servers/', variables('sqlServerNameTidy'))).fullyQualifiedDomainName]", + "siWebAppHostName": "[reference(concat('Microsoft.Web/sites/', variables('siWebAppNameTidy')), variables('webApiVersion')).defaultHostName]", + "cmWebAppHostName": "[reference(concat('Microsoft.Web/sites/', variables('cmWebAppNameTidy')), variables('webApiVersion')).defaultHostName]", + "authCertificateThumbprint": "[reference(resourceId('Microsoft.Web/certificates', variables('authCertificateNameTidy'))).thumbprint]" + } + } + } +} diff --git a/Sitecore 9.3.0/XPSingle/README.md b/Sitecore 9.3.0/XPSingle/README.md new file mode 100644 index 00000000..e4d5c123 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/README.md @@ -0,0 +1,57 @@ +# Sitecore XP Single Environment + +Visualize: +[Infrastructure](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxpsingle%2Fnested%2Finfrastructure.json), +[Application deployment](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxpsingle%2Fnested%2Fapplication.json) + +This template creates a Sitecore XP Single Environment using a minimal set of Azure resources while still ensuring Sitecore will run. It is best practice to use this configuration for development and testing rather than production environments. + +Resources provisioned: + + * Azure SQL databases : core, master, web, reporting, pools, tasks, forms, refdata, smm, shard0, shard1, ma + * Sitecore roles: Content Delivery, Content Management, Processing, Reporting as a single WebApp instance + * Hosting plans: single hosting plan + * Preconfigured Web Application, based on the provided WebDeploy package + * XConnect services: Search, Collection, Reference data, Marketing Automation, Marketing Automation Reporting as a single WebApp instance + * Hosting plans: single hosting plan + * Preconfigured Web Application, based on the provided WebDeploy package + * Azure Search Service + * (optional) Application Insights for diagnostics and monitoring + +## Parameters + +The **deploymentId** and **licenseXml** parameters in azuredeploy.parameters.json are filled in by the PowerShell script using **Name** and **LicenseXmlPath** parameters respectively. + +|Parameter | Description +|-------------------------------------------|--------------------------------------------------------------------------------------------- +| location | The geographical region of the current deployment. +| sitecoreAdminPassword | The new password for the Sitecore **admin** account. +| sqlServerLogin | The name of the administrator account for Azure SQL server that will be created. +| sqlServerPassword | The password for the administrator account for Azure SQL server. +| siMsDeployPackageUrl | The HTTP(s) URL to a Sitecore Identity Server Web Deploy package. +| singleMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XP Single Web Deploy package. +| xcSingleMsDeployPackageUrl | The HTTP(s) URL to a XConnect Single Web Deploy package. +| authCertificateBlob | A Base64-encoded blob of the authentication certificate in PKCS #12 format. +| authCertificatePassword | A password to the authentication certificate. + +> **Note:** +> * The **searchServiceLocation** parameter can be added to the `azuredeploy.parameters.json` +> to specify geographical region to deploy Azure Search Service. Default value is the resource +> group location. +> * The **applicationInsightsLocation** parameter can be added to the`azuredeploy.parameters.json` +> to specify geographical region to deploy Application Insights. Default value is **East US**. +> * The **useApplicationInsights** parameter can be added to the`azuredeploy.parameters.json` +> to control whether Application Insights will be used for diagnostics and monitoring. Default value is **true**. + +## Deploying with Solr Search + +> Sitecore Solr PaaS deployment requires the following parameters to be specified in `azuredeploy.parameters.json`: + +| Parameter | Description +--------------------------------------------|------------------------------------------------ +| solrConnectionString | Connection string to existing Solr server that will be passed to Sitecore Platform Roles. +| xcSolrConnectionString | Not mandatory. Connection string to existing Solr server that will be passed to XConnect Roles. If the parameter is not specified, the default value equals to solrConnectionString. +| xcSingleMsDeployPackageUrl | The HTTP(s) URL to a **Solr XConnect Single** Web Deploy package. + +> **solrConnectionString** parameter is used to identify whether Solr search provider is to be used for the deployment or not. +> The default value is empty which means that Azure Search will be used. \ No newline at end of file diff --git a/Sitecore 9.3.0/XPSingle/addons/bootloader.json b/Sitecore 9.3.0/XPSingle/addons/bootloader.json new file mode 100644 index 00000000..d890d3d1 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/addons/bootloader.json @@ -0,0 +1,84 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "singleWebAppNameTidy": "[toLower(trim(parameters('singleWebAppName')))]", + "xcSingleWebAppNameTidy": "[toLower(trim(parameters('xcSingleWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "deploymentId": null, + "location": null, + "singleWebAppName": null, + "xcSingleWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "msDeployPackageUrl": null + } + }, + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').singleWebAppName, concat(parameters('deploymentId'), '-single'))]" + }, + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').xcSingleWebAppName, concat(parameters('deploymentId'), '-xc-single'))]" + }, + "msDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').msDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('singleWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('xcSingleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('xcSingleWebAppNameTidy')]" + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XPSingle/addons/generic.json b/Sitecore 9.3.0/XPSingle/addons/generic.json new file mode 100644 index 00000000..03ccf730 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/addons/generic.json @@ -0,0 +1,118 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + + "singleWebAppNameTidy": "[trim(toLower(parameters('singleWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "infrastructure": { "sqlServerFqdn":null }, + "deploymentId": null, + "location": null, + "sqlServerLogin": null, + "sqlServerPassword": null, + "coreSqlDatabaseName": null, + "masterSqlDatabaseName": null, + "reportingSqlDatabaseName": null, + "singleWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "singleMsDeployPackageUrl": null + } + }, + "infrastructure": { + "type": "secureObject", + "defaultValue": "[parameters('standard').infrastructure]" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('standard').sqlServerLogin]" + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[parameters('standard').sqlServerPassword]" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').coreSqlDatabaseName, concat(parameters('deploymentId'), '-core-db'))]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').masterSqlDatabaseName, concat(parameters('deploymentId'), '-master-db'))]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').reportingSqlDatabaseName, concat(parameters('deploymentId'), '-reporting-db'))]" + }, + + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').singleWebAppName, concat(parameters('deploymentId'), '-single'))]" + }, + + "singleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').singleMsDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('singleMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('singleWebAppNameTidy')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Reporting Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XPSingle/azuredeploy.json b/Sitecore 9.3.0/XPSingle/azuredeploy.json new file mode 100644 index 00000000..328180c8 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/azuredeploy.json @@ -0,0 +1,1375 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2018-05-01", + "defaultDependency": [ + { + "name": "application" + } + ], + "dependencies": "[concat(variables('defaultDependency'), parameters('modules').items)]" + }, + "parameters": { + "modules": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + "prerequisites": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty-prerequisite", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + + "templateLinkBase": { + "type": "string", + "minLength": 1, + "defaultValue": "[uri(replace(json(string(deployment().properties.templateLink)).uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + "sqlDatabaseEdition": { + "type": "string", + "minLength": 1, + "defaultValue": "Standard" + }, + "sqlDatabaseMaxSize": { + "type": "string", + "minLength": 1, + "defaultValue": "268435456000" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S0" + }, + "sqlDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S1" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + "exmMasterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-exmmaster-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "exmMasterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "exmmasteruser" + }, + "exmMasterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('exmmaster', parameters('passwordSalt'))), uniqueString('exmmaster', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('exmmaster', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "tasksSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "tasksuser" + }, + "tasksSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('tasks', parameters('passwordSalt'))), uniqueString('tasks', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('tasks', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceSkuName": { + "type": "string", + "defaultValue": "Standard" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + "searchServicePartitionCount": { + "type": "int", + "defaultValue": 1 + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "solrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + "xcSolrConnectionString": { + "type": "securestring", + "defaultValue": "[parameters('solrConnectionString')]" + }, + "machineLearningServerConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "[if(parameters('storeSitecoreCountersInApplicationInsights'), 'ApplicationInsights', 'Disable')]" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + "applicationInsightsCurrentBillingFeatures": { + "type": "string", + "defaultValue": "Basic", + "allowedValues": [ "Basic", "Application Insights Enterprise" ] + }, + "applicationInsightsDataVolumeCap": { + "type": "string", + "defaultValue": "0.33" + }, + + "xcSingleHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single-hp')]" + }, + "xcSingleHostingPlanSkuName": { + "type": "string", + "defaultValue": "S1" + }, + "xcSingleHostingPlanSkuCapacity": { + "type": "int", + "defaultValue": 1 + }, + + "singleHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single-hp')]" + }, + "singleHostingPlanSkuName": { + "type": "string", + "defaultValue": "S3" + }, + "singleHostingPlanSkuCapacity": { + "type": "int", + "defaultValue": 1 + }, + + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single')]" + }, + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + }, + + "siMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "singleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "xcSingleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1, + "defaultValue": "" + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1, + "defaultValue": "" + }, + + "siClientSecret": { + "type": "securestring", + "minLength": 6, + "defaultValue": "[toUpper(replace(guid(uniqueString('siClientSecret', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '-',''))]" + }, + + "exmEdsProvider": { + "type": "string", + "allowedValues": [ "CustomSMTP", "EmailCloud" ], + "defaultValue": "CustomSMTP" + }, + + "exmCryptographicKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmCryptographicKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmCryptographicKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + "exmAuthenticationKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmAuthenticationKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmAuthenticationKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "nodeJsVersion": { + "type" : "string", + "defaultValue" : "8.11.1" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusQueues": { + "type": "array", + "defaultValue": [ + "error", + "Sitecore_CT_ModelTrainingTaskStatusSubscriber", + "Sitecore_EXM_AutomatedMessagesQueue", + "Sitecore_EXM_ClearSuppressionListQueue", + "Sitecore_EXM_ConfirmSubscriptionMessagesQueue", + "Sitecore_EXM_EmailAddressHistoryMessagesQueue", + "Sitecore_EXM_EmailOpenedMessagesQueue", + "Sitecore_EXM_SentMessagesQueue", + "Sitecore_EXM_UpdateListSubscriptionMessagesQueue", + "Sitecore_MA_PurgeFromCampaignMessages", + "Sitecore_PE_TaskRegistrationProducer", + "Sitecore_PE_TaskProgressProducer", + "Sitecore_PE_TaskStatusPublisher", + "Sitecore_PE_TaskRegistrationConsumer", + "Sitecore_PE_TaskProgressConsumer" + ] + }, + "azureServiceBusTopics": { + "type": "array", + "defaultValue": [ + "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions" + ] + }, + "azureServiceBusSubscriptions": { + "type": "array", + "defaultValue": [ + { + "topic": "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions", + "subscription": "Sitecore_CT_ModelTrainingTaskStatusSubscriber" + } + ] + }, + "azureServiceBusSkuName": { + "type": "string", + "defaultValue": "standard" + }, + "azureServiceBusManageSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootManageSharedAccessKey" + }, + "azureServiceBusSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootSharedAccessKey" + }, + "azureServiceBusNamespaceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-asb')]" + } + }, + "resources": [ + { + "copy": { + "name": "[concat(parameters('deploymentId'), '-prerequisites')]", + "count": "[length(parameters('prerequisites').items)]", + "mode": "Serial", + "batchSize": 1 + }, + "name": "[concat(parameters('deploymentId'), '-', parameters('prerequisites').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('prerequisites').items[copyIndex()].templateLink]" + }, + "parameters": "[parameters('prerequisites').items[copyIndex()].parameters]" + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "sqlServerVersion": { + "value": "[parameters('sqlServerVersion')]" + }, + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + "sqlDatabaseEdition": { + "value": "[parameters('sqlDatabaseEdition')]" + }, + "sqlDatabaseMaxSize": { + "value": "[parameters('sqlDatabaseMaxSize')]" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "value": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "sqlDatabaseServiceObjectiveLevel": { + "value": "[parameters('sqlDatabaseServiceObjectiveLevel')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "tasksSqlDatabaseName": { + "value": "[parameters('tasksSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + "exmMasterSqlDatabaseName": { + "value": "[parameters('exmMasterSqlDatabaseName')]" + }, + + "deployAzureSearch": { + "value": "[empty(parameters('solrConnectionString'))]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "searchServiceLocation": { + "value": "[parameters('searchServiceLocation')]" + }, + "searchServiceSkuName": { + "value": "[parameters('searchServiceSkuName')]" + }, + "searchServiceReplicaCount": { + "value": "[parameters('searchServiceReplicaCount')]" + }, + "searchServicePartitionCount": { + "value": "[parameters('searchServicePartitionCount')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "applicationInsightsLocation": { + "value": "[parameters('applicationInsightsLocation')]" + }, + "applicationInsightsPricePlan": { + "value": "[parameters('applicationInsightsPricePlan')]" + }, + "applicationInsightsCurrentBillingFeatures": { + "value": "[parameters('applicationInsightsCurrentBillingFeatures')]" + }, + "applicationInsightsDataVolumeCap": { + "value": "[parameters('applicationInsightsDataVolumeCap')]" + }, + + "singleHostingPlanName": { + "value": "[parameters('singleHostingPlanName')]" + }, + "singleHostingPlanSkuCapacity": { + "value": "[parameters('singleHostingPlanSkuCapacity')]" + }, + "singleHostingPlanSkuName": { + "value": "[parameters('singleHostingPlanSkuName')]" + }, + + "siWebAppName": { + "value": "[parameters('siWebAppName')]" + }, + "singleWebAppName": { + "value": "[parameters('singleWebAppName')]" + }, + + "authCertificateName": { + "value": "[parameters('authCertificateName')]" + }, + "authCertificateBlob": { + "value": "[parameters('authCertificateBlob')]" + }, + "authCertificatePassword": { + "value": "[parameters('authCertificatePassword')]" + } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-prerequisites')]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-asb')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-asb.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "azureServiceBusQueues": { + "value": "[parameters('azureServiceBusQueues')]" + }, + "azureServiceBusTopics": { + "value": "[parameters('azureServiceBusTopics')]" + }, + "azureServiceBusSubscriptions": { + "value": "[parameters('azureServiceBusSubscriptions')]" + }, + "azureServiceBusSkuName": { + "value": "[parameters('azureServiceBusSkuName')]" + }, + "azureServiceBusManageSharedAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "azureServiceBusSharedAccessKeyName": { + "value": "[parameters('azureServiceBusSharedAccessKeyName')]" + }, + "azureServiceBusNamespaceName": { + "value": "[parameters('azureServiceBusNamespaceName')]" + } + } + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-infrastructure-xc')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-xc.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + "sqlDatabaseEdition": { + "value": "[parameters('sqlDatabaseEdition')]" + }, + "sqlDatabaseMaxSize": { + "value": "[parameters('sqlDatabaseMaxSize')]" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "value": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + + "xcSingleHostingPlanName": { + "value": "[parameters('xcSingleHostingPlanName')]" + }, + "xcSingleHostingPlanSkuName": { + "value": "[parameters('xcSingleHostingPlanSkuName')]" + }, + "xcSingleHostingPlanSkuCapacity": { + "value": "[parameters('xcSingleHostingPlanSkuCapacity')]" + }, + + "xcSingleWebAppName": { + "value": "[parameters('xcSingleWebAppName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "securitySqlDatabaseName": { + "value": "[parameters('securitySqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "tasksSqlDatabaseName": { + "value": "[parameters('tasksSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + "exmMasterSqlDatabaseName": { + "value": "[parameters('exmMasterSqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "coreSqlDatabaseUserName": { + "value": "[parameters('coreSqlDatabaseUserName')]" + }, + "coreSqlDatabasePassword": { + "value": "[parameters('coreSqlDatabasePassword')]" + }, + "masterSqlDatabaseUserName": { + "value": "[parameters('masterSqlDatabaseUserName')]" + }, + "masterSqlDatabasePassword": { + "value": "[parameters('masterSqlDatabasePassword')]" + }, + "webSqlDatabaseUserName": { + "value": "[parameters('webSqlDatabaseUserName')]" + }, + "webSqlDatabasePassword": { + "value": "[parameters('webSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + "formsSqlDatabaseUserName": { + "value": "[parameters('formsSqlDatabaseUserName')]" + }, + "formsSqlDatabasePassword": { + "value": "[parameters('formsSqlDatabasePassword')]" + }, + "exmMasterSqlDatabaseUserName": { + "value": "[parameters('exmMasterSqlDatabaseUserName')]" + }, + "exmMasterSqlDatabasePassword": { + "value": "[parameters('exmMasterSqlDatabasePassword')]" + }, + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "tasksSqlDatabaseUserName": { + "value": "[parameters('tasksSqlDatabaseUserName')]" + }, + "tasksSqlDatabasePassword": { + "value": "[parameters('tasksSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + + "solrConnectionString": { + "value": "[parameters('solrConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "value": "[parameters('storeSitecoreCountersInApplicationInsights')]" + }, + + "siWebAppName": { + "value": "[parameters('siWebAppName')]" + }, + "singleWebAppName": { + "value": "[parameters('singleWebAppName')]" + }, + "xcSingleWebAppName": { + "value": "[parameters('xcSingleWebAppName')]" + }, + + "siMsDeployPackageUrl": { + "value": "[parameters('siMsDeployPackageUrl')]" + }, + "singleMsDeployPackageUrl": { + "value": "[parameters('singleMsDeployPackageUrl')]" + }, + + "exmEdsProvider": { + "value": "[parameters('exmEdsProvider')]" + }, + "exmCryptographicKey": { + "value": "[parameters('exmCryptographicKey')]" + }, + "exmAuthenticationKey": { + "value": "[parameters('exmAuthenticationKey')]" + }, + + "siClientSecret": { + "value": "[parameters('siClientSecret')]" + }, + "telerikEncryptionKey": { + "value": "[parameters('telerikEncryptionKey')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "nodeJsVersion": { + "value": "[parameters('nodeJsVersion')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-application-xc'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-asb'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-xc.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]" + }, + + "templateLinkAccessToken": { + "value": "[parameters('templateLinkAccessToken')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "processingEngineSqlDatabaseUserName": { + "value": "[parameters('processingEngineSqlDatabaseUserName')]" + }, + "processingEngineSqlDatabasePassword": { + "value": "[parameters('processingEngineSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "xcSolrConnectionString": { + "value": "[parameters('xcSolrConnectionString')]" + }, + + "machineLearningServerConnectionString": { + "value": "[parameters('machineLearningServerConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcSingleWebAppName": { + "value": "[parameters('xcSingleWebAppName')]" + }, + + "xcSingleMsDeployPackageUrl": { + "value": "[parameters('xcSingleMsDeployPackageUrl')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePath')]" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePath')]" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePassword')]" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusManageSharedAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-xc'))]", + "[resourceId('Microsoft.Resources/deployments', concat(parameters('deploymentId'), '-infrastructure-asb'))]" + ] + }, + { + "copy": { + "name": "modules", + "count": "[length(parameters('modules').items)]" + }, + "name": "[concat(parameters('deploymentId'), '-', parameters('modules').items[copyIndex()].name)]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('modules').items[copyIndex()].templateLink]" + }, + "parameters": { + "standard": { + "value": { + "infrastructure": "[reference(concat(parameters('deploymentId'), '-infrastructure')).outputs.infrastructure.value]", + + "deploymentId": "[parameters('deploymentId')]", + "location": "[parameters('location')]", + + "sitecoreAdminPassword": "[parameters('sitecoreAdminPassword')]", + "licenseXml": "[parameters('licenseXml')]", + + "sqlServerName": "[parameters('sqlServerName')]", + "sqlServerLogin": "[parameters('sqlServerLogin')]", + "sqlServerPassword": "[parameters('sqlServerPassword')]", + "sqlServerVersion": "[parameters('sqlServerVersion')]", + "sqlDatabaseCollation": "[parameters('sqlDatabaseCollation')]", + "sqlDatabaseEdition": "[parameters('sqlDatabaseEdition')]", + "sqlDatabaseMaxSize": "[parameters('sqlDatabaseMaxSize')]", + "sqlBasicDatabaseServiceObjectiveLevel": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]", + "sqlDatabaseServiceObjectiveLevel": "[parameters('sqlDatabaseServiceObjectiveLevel')]", + + "coreSqlDatabaseName": "[parameters('coreSqlDatabaseName')]", + "masterSqlDatabaseName": "[parameters('masterSqlDatabaseName')]", + "webSqlDatabaseName": "[parameters('webSqlDatabaseName')]", + "reportingSqlDatabaseName": "[parameters('reportingSqlDatabaseName')]", + "formsSqlDatabaseName": "[parameters('formsSqlDatabaseName')]", + "exmMasterSqlDatabaseName": "[parameters('exmMasterSqlDatabaseName')]", + "poolsSqlDatabaseName": "[parameters('poolsSqlDatabaseName')]", + "tasksSqlDatabaseName": "[parameters('tasksSqlDatabaseName')]", + "shardMapManagerSqlDatabaseName": "[parameters('shardMapManagerSqlDatabaseName')]", + "shard0SqlDatabaseName": "[parameters('shard0SqlDatabaseName')]", + "shard1SqlDatabaseName": "[parameters('shard1SqlDatabaseName')]", + "refDataSqlDatabaseName": "[parameters('refDataSqlDatabaseName')]", + "maSqlDatabaseName": "[parameters('maSqlDatabaseName')]", + "processingEngineTasksSqlDatabaseName": "[parameters('processingEngineTasksSqlDatabaseName')]", + "processingEngineStorageSqlDatabaseName": "[parameters('processingEngineStorageSqlDatabaseName')]", + + "coreSqlDatabaseUserName": "[parameters('coreSqlDatabaseUserName')]", + "coreSqlDatabasePassword": "[parameters('coreSqlDatabasePassword')]", + "masterSqlDatabaseUserName": "[parameters('masterSqlDatabaseUserName')]", + "masterSqlDatabasePassword": "[parameters('masterSqlDatabasePassword')]", + "webSqlDatabaseUserName": "[parameters('webSqlDatabaseUserName')]", + "webSqlDatabasePassword": "[parameters('webSqlDatabasePassword')]", + "reportingSqlDatabaseUserName": "[parameters('reportingSqlDatabaseUserName')]", + "reportingSqlDatabasePassword": "[parameters('reportingSqlDatabasePassword')]", + "formsSqlDatabaseUserName": "[parameters('formsSqlDatabaseUserName')]", + "formsSqlDatabasePassword": "[parameters('formsSqlDatabasePassword')]", + "exmMasterSqlDatabaseUserName": "[parameters('exmMasterSqlDatabaseUserName')]", + "exmMasterSqlDatabasePassword": "[parameters('exmMasterSqlDatabasePassword')]", + "poolsSqlDatabaseUserName": "[parameters('poolsSqlDatabaseUserName')]", + "poolsSqlDatabasePassword": "[parameters('poolsSqlDatabasePassword')]", + "tasksSqlDatabaseUserName": "[parameters('tasksSqlDatabaseUserName')]", + "tasksSqlDatabasePassword": "[parameters('tasksSqlDatabasePassword')]", + "xcRefDataSqlDatabaseUserName": "[parameters('xcRefDataSqlDatabaseUserName')]", + "xcRefDataSqlDatabasePassword": "[parameters('xcRefDataSqlDatabasePassword')]", + "xcShardMapManagerSqlDatabaseUserName": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "xcShardMapManagerSqlDatabasePassword": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "xcMaSqlDatabaseUserName": "[parameters('xcMaSqlDatabaseUserName')]", + "xcMaSqlDatabasePassword": "[parameters('xcMaSqlDatabasePassword')]", + "processingEngineSqlDatabaseUserName": "[parameters('processingEngineSqlDatabaseUserName')]", + "processingEngineSqlDatabasePassword": "[parameters('processingEngineSqlDatabasePassword')]", + + "searchServiceName": "[parameters('searchServiceName')]", + "searchServiceLocation": "[parameters('searchServiceLocation')]", + "searchServiceSkuName": "[parameters('searchServiceSkuName')]", + "searchServiceReplicaCount": "[parameters('searchServiceReplicaCount')]", + "searchServicePartitionCount": "[parameters('searchServicePartitionCount')]", + "xcSearchIndexName": "[parameters('xcSearchIndexName')]", + + "solrConnectionString": "[parameters('solrConnectionString')]", + "xcSolrConnectionString": "[parameters('xcSolrConnectionString')]", + "machineLearningServerConnectionString": "[parameters('machineLearningServerConnectionString')]", + + "useApplicationInsights": "[parameters('useApplicationInsights')]", + "applicationInsightsName": "[parameters('applicationInsightsName')]", + "applicationInsightsLocation": "[parameters('applicationInsightsLocation')]", + "storeSitecoreCountersInApplicationInsights": "[parameters('storeSitecoreCountersInApplicationInsights')]", + + "xcSingleHostingPlanName": "[parameters('xcSingleHostingPlanName')]", + "singleHostingPlanName": "[parameters('singleHostingPlanName')]", + + "xcSingleWebAppName": "[parameters('xcSingleWebAppName')]", + "singleWebAppName": "[parameters('singleWebAppName')]", + + "passwordSalt": "[parameters('passwordSalt')]", + + "xcServerConfigurationEnvironment": "[parameters('xcServerConfigurationEnvironment')]", + + "authCertificateBlob": "[parameters('authCertificateBlob')]", + "authCertificatePassword": "[parameters('authCertificatePassword')]", + + "machineLearningServerBlobEndpointCertificatePath": "[parameters('machineLearningServerBlobEndpointCertificatePath')]", + "machineLearningServerBlobEndpointCertificatePassword": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]", + "machineLearningServerTableEndpointCertificatePath": "[parameters('machineLearningServerTableEndpointCertificatePath')]", + "machineLearningServerTableEndpointCertificatePassword": "[parameters('machineLearningServerTableEndpointCertificatePassword')]", + + "machineLearningServerEndpointCertificationAuthorityCertificatePath": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]", + + "environmentType": "[parameters('environmentType')]" + } + }, + "extension": { "value": "[parameters('modules').items[copyIndex()].parameters]" } + } + }, + "dependsOn": [ + "[concat(parameters('deploymentId'), '-' , variables('dependencies')[copyIndex()].name)]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XPSingle/azuredeploy.parameters.json b/Sitecore 9.3.0/XPSingle/azuredeploy.parameters.json new file mode 100644 index 00000000..05c41dab --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/azuredeploy.parameters.json @@ -0,0 +1,57 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "value": "" + }, + "location": { + "value": "" + }, + "sitecoreAdminPassword": { + "value": "" + }, + "licenseXml": { + "value": "" + }, + "sqlServerLogin": { + "value": "" + }, + "sqlServerPassword": { + "value": "" + }, + "siMsDeployPackageUrl": { + "value": "" + }, + "singleMsDeployPackageUrl": { + "value": "" + }, + "xcSingleMsDeployPackageUrl": { + "value": "" + }, + "authCertificateBlob": { + "value": "" + }, + "authCertificatePassword": { + "value": "" + }, + "machineLearningServerConnectionString": { + "value": "" + }, + "machineLearningServerBlobEndpointCertificatePath": { + "value": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "" + } + } +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XPSingle/nested/application-xc-as.json b/Sitecore 9.3.0/XPSingle/nested/application-xc-as.json new file mode 100644 index 00000000..0f749927 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/nested/application-xc-as.json @@ -0,0 +1,363 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "searchApiVersion": "2015-08-19", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + "processingEngineTasksSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineTasksSqlDatabaseName')))]", + "processingEngineStorageSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineStorageSqlDatabaseName')))]", + + "xcSingleWebAppNameTidy": "[toLower(trim(parameters('xcSingleWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "xcSearchIndexNameTidy": "[toLower(trim(parameters('xcSearchIndexName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "machineLearningServerConnectionStringTidy": "[trim(parameters('machineLearningServerConnectionString'))]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "searchServiceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "machineLearningServerConnectionString": { + "type": "securestring", + "minLength": 0, + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcSingleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('xcSingleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcSingleMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcSingleWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Collection Shard 0 Database Name": "[variables('shard0SqlDatabaseNameTidy')]", + "Collection Shard 1 Database Name": "[variables('shard1SqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Processing Engine Tasks Database Name": "[variables('processingEngineTasksSqlDatabaseNameTidy')]", + "Processing Engine Storage Database Name": "[variables('processingEngineStorageSqlDatabaseNameTidy')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reporting Database Name": "[variables('reportingSqlDatabaseNameTidy')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xdb Reference Data Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xdb Reference Data Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Search Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Search Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Blob Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Table Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Machine Learning Server Endpoint": "[variables('machineLearningServerConnectionStringTidy')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerBlobEndpointCertificatePath')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerTableEndpointCertificatePath')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerTableEndpointCertificatePassword')]", + "Machine Learning Server Storage WebApi Endpoint Certification Authority Certificate Path": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "Reporting Database Application User Name": "[parameters('reportingSqlDatabaseUserName')]", + "Reporting Database Application User Password": "[parameters('reportingSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "Processing Engine Database Application User Name": "[parameters('processingEngineSqlDatabaseUserName')]", + "Processing Engine Database Application User Password": "[parameters('processingEngineSqlDatabasePassword')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "Collection Search Service Url": "[concat('https://', variables('searchServiceNameTidy'), '.search.windows.net')]", + "Collection Search Index Name": "[variables('xcSearchIndexNameTidy')]", + "Collection Search Query Api Key": "[listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey]", + "Collection Search Worker Api Key": "[listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "XConnectSingle", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('xcSingleWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcSingleWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XPSingle/nested/application-xc-solr.json b/Sitecore 9.3.0/XPSingle/nested/application-xc-solr.json new file mode 100644 index 00000000..436dac96 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/nested/application-xc-solr.json @@ -0,0 +1,363 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + "processingEngineTasksSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineTasksSqlDatabaseName')))]", + "processingEngineStorageSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineStorageSqlDatabaseName')))]", + + "xcSingleWebAppNameTidy": "[toLower(trim(parameters('xcSingleWebAppName')))]", + + "xcSearchIndexNameTidy": "[toLower(trim(parameters('xcSearchIndexName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "xcSolrConnectionStringTidy": "[trim(parameters('xcSolrConnectionString'))]", + "machineLearningServerConnectionStringTidy": "[trim(parameters('machineLearningServerConnectionString'))]", + "xcSolrConnectionStringBaseUri": "[trim(first(split(variables('xcSolrConnectionStringTidy'), ';')))]", + "xcSolrConnectionStringBaseUriTidy": "[replace(replace(concat(variables('xcSolrConnectionStringBaseUri'), '/'), '//', '/'), ':/', '://')]", + "xcSolrConnectionStringParameters": "[replace(variables('xcSolrConnectionStringTidy'), variables('xcSolrConnectionStringBaseUri'), '')]", + "xcSolrConnectionString": "[uri(variables('xcSolrConnectionStringBaseUriTidy'), concat(variables('xcSearchIndexNameTidy'), variables('xcSolrConnectionStringParameters')))]", + + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "xcSolrConnectionString": { + "type": "securestring", + "minLength": 1 + }, + + "machineLearningServerConnectionString": { + "type": "securestring", + "minLength": 0, + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcSingleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "name": "[concat(variables('xcSingleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcSingleMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcSingleWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Collection Shard 0 Database Name": "[variables('shard0SqlDatabaseNameTidy')]", + "Collection Shard 1 Database Name": "[variables('shard1SqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Processing Engine Tasks Database Name": "[variables('processingEngineTasksSqlDatabaseNameTidy')]", + "Processing Engine Storage Database Name": "[variables('processingEngineStorageSqlDatabaseNameTidy')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reporting Database Name": "[variables('reportingSqlDatabaseNameTidy')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xdb Reference Data Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xdb Reference Data Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Xconnect Search Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Xconnect Search Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Processing Engine Blob Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Table Storage WebApi Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Processing Engine Machine Learning Server Endpoint": "[variables('machineLearningServerConnectionStringTidy')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerBlobEndpointCertificatePath')]", + "Machine Learning Server Blob Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Path": "[parameters('machineLearningServerTableEndpointCertificatePath')]", + "Machine Learning Server Table Storage WebApi Endpoint Certificate Password": "[parameters('machineLearningServerTableEndpointCertificatePassword')]", + "Machine Learning Server Storage WebApi Endpoint Certification Authority Certificate Path": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "Reporting Database Application User Name": "[parameters('reportingSqlDatabaseUserName')]", + "Reporting Database Application User Password": "[parameters('reportingSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "Processing Engine Database Application User Name": "[parameters('processingEngineSqlDatabaseUserName')]", + "Processing Engine Database Application User Password": "[parameters('processingEngineSqlDatabasePassword')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey, '')]", + "XP Performance Counters Type": "[if(parameters('useApplicationInsights'), concat('Sitecore:XConnect:Diagnostics:PerformanceCounters:', parameters('xpPerformanceCountersType')), 'Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable')]", + "XConnect Server Instance Name": "XConnectSingle", + "License Xml": "[parameters('licenseXml')]", + "Search SOLR Core Application Connection String": "[variables('xcSolrConnectionString')]" + } + } + }, + { + "name": "[concat(variables('xcSingleWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcSingleWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XPSingle/nested/application-xc.json b/Sitecore 9.3.0/XPSingle/nested/application-xc.json new file mode 100644 index 00000000..884f4396 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/nested/application-xc.json @@ -0,0 +1,605 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2018-05-01", + + "searchProvider": "[if(empty(parameters('xcSolrConnectionString')), 'Azure', 'Solr')]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "templateLinkBase": { + "type": "string", + "minLength": 1, + "defaultValue": "[uri(replace(json(string(deployment().properties.templateLink)).uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "processingEngineSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "processingengineuser" + }, + "processingEngineSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('processingengine', parameters('passwordSalt'))), uniqueString('processingengine', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('processingengine', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "xcSolrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "machineLearningServerConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + }, + + "xcSingleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePath": { + "type": "string", + "defaultValue": "" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "type": "securestring", + "defaultValue": "" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "type": "string", + "defaultValue": "" + }, + + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + }, + "xpPerformanceCountersType": { + "type": "string", + "allowedValues": [ "Disable", "ApplicationInsights" ], + "defaultValue": "Disable" + } + }, + "resources": [ + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc-as')]", + "condition": "[equals(variables('searchProvider'), 'Azure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'application-xc-as.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[parameters('infrastructure')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "processingEngineSqlDatabaseUserName": { + "value": "[parameters('processingEngineSqlDatabaseUserName')]" + }, + "processingEngineSqlDatabasePassword": { + "value": "[parameters('processingEngineSqlDatabasePassword')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "machineLearningServerConnectionString": { + "value": "[parameters('machineLearningServerConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcSingleWebAppName": { + "value": "[parameters('xcSingleWebAppName')]" + }, + + "xcSingleMsDeployPackageUrl": { + "value": "[parameters('xcSingleMsDeployPackageUrl')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePath')]" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePath')]" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePassword')]" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(parameters('deploymentId'), '-application-xc-solr')]", + "condition": "[not(equals(variables('searchProvider'), 'Azure'))]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'application-xc-solr.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[parameters('infrastructure')]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "processingEngineTasksSqlDatabaseName": { + "value": "[parameters('processingEngineTasksSqlDatabaseName')]" + }, + "processingEngineStorageSqlDatabaseName": { + "value": "[parameters('processingEngineStorageSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "processingEngineSqlDatabaseUserName": { + "value": "[parameters('processingEngineSqlDatabaseUserName')]" + }, + "processingEngineSqlDatabasePassword": { + "value": "[parameters('processingEngineSqlDatabasePassword')]" + }, + + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "xcSolrConnectionString": { + "value": "[parameters('xcSolrConnectionString')]" + }, + + "machineLearningServerConnectionString": { + "value": "[parameters('machineLearningServerConnectionString')]" + }, + + "useApplicationInsights": { + "value": "[parameters('useApplicationInsights')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcSingleWebAppName": { + "value": "[parameters('xcSingleWebAppName')]" + }, + + "xcSingleMsDeployPackageUrl": { + "value": "[parameters('xcSingleMsDeployPackageUrl')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "machineLearningServerBlobEndpointCertificatePath": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePath')]" + }, + "machineLearningServerBlobEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerBlobEndpointCertificatePassword')]" + }, + "machineLearningServerTableEndpointCertificatePath": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePath')]" + }, + "machineLearningServerTableEndpointCertificatePassword": { + "value": "[parameters('machineLearningServerTableEndpointCertificatePassword')]" + }, + "machineLearningServerEndpointCertificationAuthorityCertificatePath": { + "value": "[parameters('machineLearningServerEndpointCertificationAuthorityCertificatePath')]" + }, + + "environmentType": { + "value": "[parameters('environmentType')]" + }, + + "azureServiceBusNamespaceName": { + "value" : "[parameters('azureServiceBusNamespaceName')]" + }, + "azureServiceBusAccessKeyName": { + "value": "[parameters('azureServiceBusAccessKeyName')]" + }, + "xpPerformanceCountersType": { + "value": "[parameters('xpPerformanceCountersType')]" + } + } + } + } + ] +} diff --git a/Sitecore 9.3.0/XPSingle/nested/application.json b/Sitecore 9.3.0/XPSingle/nested/application.json new file mode 100644 index 00000000..93a45098 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/nested/application.json @@ -0,0 +1,464 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-03-01", + "searchApiVersion": "2015-08-19", + "searchRestApiVersion": "2017-11-11", + "applicationInsightsApiVersion": "2015-05-01", + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "securitySqlDatabaseNameTidy": "[toLower(trim(parameters('securitySqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "repSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + "exmMasterSqlDatabaseNameTidy": "[toLower(trim(parameters('exmMasterSqlDatabaseName')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "tasksSqlDatabaseNameTidy": "[toLower(trim(parameters('tasksSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "siWebAppNameTidy": "[toLower(trim(parameters('siWebAppName')))]", + "singleWebAppNameTidy": "[toLower(trim(parameters('singleWebAppName')))]", + "xcSingleWebAppNameTidy": "[toLower(trim(parameters('xcSingleWebAppName')))]", + "searchProvider": "[if(empty(parameters('solrConnectionString')), 'Azure', 'Solr')]", + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "applicationInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "siWebAppHostName": null, + "singleWebAppHostName": null, + "authCertificateThumbprint": null + } + }, + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "sqlServerFqdn": { + "type": "string", + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "securitySqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + "exmMasterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-exmmaster-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "securitySqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "securityuser" + }, + "securitySqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('security', parameters('passwordSalt'))), uniqueString('security', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('security', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "exmMasterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "exmmasteruser" + }, + "exmMasterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('exmmaster', parameters('passwordSalt'))), uniqueString('exmmaster', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('exmmaster', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "tasksSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "tasksuser" + }, + "tasksSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('tasks', parameters('passwordSalt'))), uniqueString('tasks', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('tasks', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "solrConnectionString": { + "type": "securestring", + "defaultValue": "" + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "storeSitecoreCountersInApplicationInsights": { + "type": "bool", + "defaultValue": false + }, + "siWebAppHostName":{ + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').siWebAppHostName]" + }, + "singleWebAppHostName":{ + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').singleWebAppHostName]" + }, + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single')]" + }, + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + }, + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + "singleMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "siMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "siClientSecret": { + "type": "securestring", + "minLength": 6, + "defaultValue": "[toUpper(replace(guid(uniqueString('siClientSecret', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '-',''))]" + }, + "exmEdsProvider": { + "type": "string", + "minLength": 1, + "allowedValues": [ + "CustomSMTP", + "EmailCloud" + ], + "defaultValue": "CustomSMTP" + }, + "exmCryptographicKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmCryptographicKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmCryptographicKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + "exmAuthenticationKey": { + "type": "securestring", + "minLength": 64, + "defaultValue": "[toUpper(replace(concat(guid(uniqueString('exmAuthenticationKey', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), guid(uniqueString('exmAuthenticationKey', parameters('sqlServerPassword'), parameters('passwordSalt')))), '-',''))]" + }, + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue": false + }, + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + "nodeJsVersion": { + "type": "string", + "defaultValue": "8.11.1" + }, + "environmentType": { + "type": "string", + "defaultValue": "Non-Production" + }, + "azureServiceBusNamespaceName" : { + "type": "string", + "minLength": 1 + }, + "azureServiceBusAccessKeyName" : { + "type": "string", + "minLength": 1 + } + }, + "resources": [ + { + "name": "[concat(variables('siWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('siMsDeployPackageUrl')]", + "setParameters": { + "IIS Web Application Name": "[variables('siWebAppNameTidy')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "CertificateThumbprint": "[parameters('authCertificateThumbprint')]", + "CertificateStoreLocation": "CurrentUser", + "PasswordRecoveryUrl": "[concat('https://', parameters('singleWebAppHostName'))]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy')), variables('applicationInsightsApiVersion')).InstrumentationKey, '')]", + "License Xml": "[parameters('licenseXml')]", + "AllowedCorsOrigins": "[concat('https://', parameters('singleWebAppHostName'))]", + "ClientSecret": "[parameters('siClientSecret')]" + } + } + ] + } + }, + { + "name": "[concat(variables('siWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('siWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "mode": "Incremental", + "addOnPackages": [ + { + "packageUri": "[parameters('singleMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('singleWebAppNameTidy')]", + "Sitecore Admin New Password": "[parameters('sitecoreAdminPassword')]", + "Core DB User Name": "[parameters('coreSqlDatabaseUserName')]", + "Core DB Password": "[parameters('coreSqlDatabasePassword')]", + "Security DB User Name": "[parameters('securitySqlDatabaseUserName')]", + "Security DB Password": "[parameters('securitySqlDatabasePassword')]", + "Master DB User Name": "[parameters('masterSqlDatabaseUserName')]", + "Master DB Password": "[parameters('masterSqlDatabasePassword')]", + "Web DB User Name": "[parameters('webSqlDatabaseUserName')]", + "Web DB Password": "[parameters('webSqlDatabasePassword')]", + "Experience Forms DB User Name": "[parameters('formsSqlDatabaseUserName')]", + "Experience Forms DB Password": "[parameters('formsSqlDatabasePassword')]", + "EXM Master DB User Name": "[parameters('exmMasterSqlDatabaseUserName')]", + "EXM Master DB Password": "[parameters('exmMasterSqlDatabasePassword')]", + "XDB Processing Tasks DB User Name": "[parameters('tasksSqlDatabaseUserName')]", + "XDB Processing Tasks DB Password": "[parameters('tasksSqlDatabasePassword')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Security Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Web Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Experience Forms Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "EXM Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('exmMasterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "XDB Processing Tasks Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('tasksSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Security Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('securitySqlDatabaseNameTidy'),';User Id=', parameters('securitySqlDatabaseUserName'), ';Password=', parameters('securitySqlDatabasePassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "Reporting Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('repSqlDatabaseNameTidy'),';User Id=', parameters('reportingSqlDatabaseUserName'), ';Password=', parameters('reportingSqlDatabasePassword'), ';')]", + "Experience Forms Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('formsSqlDatabaseUserName'), ';Password=', parameters('formsSqlDatabasePassword'), ';')]", + "EXM Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('exmMasterSqlDatabaseNameTidy'),';User Id=', parameters('exmMasterSqlDatabaseUserName'), ';Password=', parameters('exmMasterSqlDatabasePassword'), ';')]", + "XDB Processing Pools Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('poolsSqlDatabaseNameTidy'),';User Id=', parameters('poolsSqlDatabaseUserName'), ';Password=', parameters('poolsSqlDatabasePassword'), ';')]", + "XDB Processing Tasks Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('tasksSqlDatabaseNameTidy'),';User Id=', parameters('tasksSqlDatabaseUserName'), ';Password=', parameters('tasksSqlDatabasePassword'), ';')]", + "XDB Reference Data Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('refDataSqlDatabaseNameTidy'),';User Id=', parameters('xcRefDataSqlDatabaseUserName'), ';Password=', parameters('xcRefDataSqlDatabasePassword'), ';')]", + "Search Provider": "[variables('searchProvider')]", + "Cloud Search Connection String": "[if(equals(variables('searchProvider'), 'Azure'), concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchRestApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey), '')]", + "SOLR Connection String": "[parameters('solrConnectionString')]", + "Messaging Connection String": "[listkeys(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.ServiceBus/namespaces/authorizationRules', variables('azureServiceBusNamespaceNameTidy'), parameters('azureServiceBusAccessKeyName')), variables('azureServiceBusVersion')).primaryConnectionString]", + "Application Insights Instrumentation Key": "[if(parameters('useApplicationInsights'), reference(resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy')), variables('applicationInsightsApiVersion')).InstrumentationKey, '')]", + "Application Insights Role": "[if(parameters('useApplicationInsights'), 'Single', '')]", + "Store Sitecore Counters In Application Insights": "[if(parameters('useApplicationInsights'), string(parameters('storeSitecoreCountersInApplicationInsights')), 'false')]", + "Use Application Insights": "[string(parameters('useApplicationInsights'))]", + "XConnect Collection": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB Reference Data Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB MA Reporting Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB MA Ops Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Cortex Reporting Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSingleWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XConnect Collection Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB Reference Data Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB MA Reporting Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB MA Ops Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Cortex Reporting Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "License Xml": "[parameters('licenseXml')]", + "Sitecore Identity Authority": "[concat('https://', parameters('siWebAppHostName'))]", + "Sitecore Identity Secret": "[parameters('siClientSecret')]", + "Telerik Encryption Key": "[parameters('telerikEncryptionKey')]", + "EXM EDS Provider": "[parameters('exmEdsProvider')]", + "EXM Cryptographic Key": "[parameters('exmCryptographicKey')]", + "EXM Authentication Key": "[parameters('exmAuthenticationKey')]" + } + } + ] + } + }, + { + "name": "[concat(variables('singleWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0, + "WEBSITE_NODE_DEFAULT_VERSION":"[parameters('nodeJsVersion')]", + "SITECORE_ENVIRONMENT_TYPE": "[parameters('environmentType')]" + }, + "dependsOn": [ + "[concat('Microsoft.Web/Sites/', variables('singleWebAppNameTidy'), '/Extensions/MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.3.0/XPSingle/nested/emptyAddon.json b/Sitecore 9.3.0/XPSingle/nested/emptyAddon.json new file mode 100644 index 00000000..18909e4e --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/nested/emptyAddon.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": {} + }, + "extension": { + "type": "secureObject", + "defaultValue": {} + } + }, + "resources": [] +} \ No newline at end of file diff --git a/Sitecore 9.3.0/XPSingle/nested/infrastructure-asb.json b/Sitecore 9.3.0/XPSingle/nested/infrastructure-asb.json new file mode 100644 index 00000000..536831c3 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/nested/infrastructure-asb.json @@ -0,0 +1,193 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "azureServiceBusQueues": { + "type": "array", + "defaultValue": [ + "error", + "Sitecore_CT_ModelTrainingTaskStatusSubscriber", + "Sitecore_EXM_AutomatedMessagesQueue", + "Sitecore_EXM_ClearSuppressionListQueue", + "Sitecore_EXM_ConfirmSubscriptionMessagesQueue", + "Sitecore_EXM_EmailAddressHistoryMessagesQueue", + "Sitecore_EXM_EmailOpenedMessagesQueue", + "Sitecore_EXM_SentMessagesQueue", + "Sitecore_EXM_UpdateListSubscriptionMessagesQueue", + "Sitecore_MA_PurgeFromCampaignMessages", + "Sitecore_PE_TaskRegistrationProducer", + "Sitecore_PE_TaskProgressProducer", + "Sitecore_PE_TaskStatusPublisher", + "Sitecore_PE_TaskRegistrationConsumer", + "Sitecore_PE_TaskProgressConsumer" + ] + }, + "azureServiceBusTopics": { + "type": "array", + "defaultValue": [ + "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions" + ] + }, + "azureServiceBusSubscriptions": { + "type": "array", + "defaultValue": [ + { + "topic": "sitecore_processing_engine_abstractions_messages_taskstatus__sitecore_processing_engine_abstractions", + "subscription": "Sitecore_CT_ModelTrainingTaskStatusSubscriber" + } + ] + }, + "azureServiceBusSkuName": { + "type": "string", + "defaultValue": "standard" + }, + "azureServiceBusManageSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootManageSharedAccessKey" + }, + "azureServiceBusSharedAccessKeyName": { + "type": "string", + "defaultValue": "RootSharedAccessKey" + }, + "azureServiceBusNamespaceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-asb')]" + } + }, + "variables": { + "azureServiceBusVersion": "2017-04-01", + "azureServiceBusNamespaceNameTidy": "[toLower(trim(parameters('azureServiceBusNamespaceName')))]" + }, + "resources": [ + { + "apiVersion": "[variables('azureServiceBusVersion')]", + "name": "[variables('azureServiceBusNamespaceNameTidy')]", + "type": "Microsoft.ServiceBus/namespaces", + "location": "[parameters('location')]", + "sku": { + "name": "[parameters('azureServiceBusSkuName')]" + } + }, + { + "type": "Microsoft.ServiceBus/namespaces/authorizationRules", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'),'/',parameters('azureServiceBusManageSharedAccessKeyName'))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "properties": { + "rights": [ + "Listen", + "Manage", + "Send" + ] + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "type": "Microsoft.ServiceBus/namespaces/authorizationRules", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'),'/', parameters('azureServiceBusSharedAccessKeyName'))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "properties": { + "rights": [ + "Listen", + "Send" + ] + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "copy": { + "name": "topics", + "count": "[length(parameters('azureServiceBusTopics'))]" + }, + "type": "Microsoft.ServiceBus/namespaces/topics", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusTopics')[copyIndex()]))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "scale": null, + "properties": { + "defaultMessageTimeToLive": "P14D", + "maxSizeInMegabytes": 1024, + "requiresDuplicateDetection": false, + "duplicateDetectionHistoryTimeWindow": "PT10M", + "enableBatchedOperations": true, + "status": "Active", + "supportOrdering": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": false, + "enableExpress": false + }, + "dependsOn": [ + "[concat('Microsoft.ServiceBus/namespaces/', variables('azureServiceBusNamespaceNameTidy'))]" + ] + }, + { + "copy": { + "name": "subscriptions", + "count": "[length(parameters('azureServiceBusSubscriptions'))]" + }, + "type": "Microsoft.ServiceBus/namespaces/topics/subscriptions", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].topic), '/', toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription))]", + "apiVersion": "[variables('azureServiceBusVersion')]", + "location": "[parameters('location')]", + "scale": null, + "properties": { + "lockDuration": "PT1M", + "requiresSession": false, + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": false, + "deadLetteringOnFilterEvaluationExceptions": true, + "maxDeliveryCount": 10, + "status": "Active", + "enableBatchedOperations": true, + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "forwardTo": "[toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription)]" + }, + "dependsOn": [ + "[resourceId('Microsoft.ServiceBus/namespaces', variables('azureServiceBusNamespaceNameTidy'))]", + "[resourceId('Microsoft.ServiceBus/namespaces/topics', variables('azureServiceBusNamespaceNameTidy'), toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].topic))]", + "[resourceId('Microsoft.ServiceBus/namespaces/queues', variables('azureServiceBusNamespaceNameTidy'), toLower(parameters('azureServiceBusSubscriptions')[copyIndex()].subscription))]" + ] + }, + { + "copy": { + "name": "queues", + "count": "[length(parameters('azureServiceBusQueues'))]" + }, + "apiVersion": "[variables('azureServiceBusVersion')]", + "name": "[concat(variables('azureServiceBusNamespaceNameTidy'), '/', toLower(parameters('azureServiceBusQueues')[copyIndex()]))]", + "type": "Microsoft.ServiceBus/Namespaces/Queues", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.ServiceBus/namespaces', variables('azureServiceBusNamespaceNameTidy'))]" + ], + "properties": { + "lockDuration": "PT5M", + "maxSizeInMegabytes": "1024", + "requiresDuplicateDetection": "false", + "requiresSession": "false", + "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S", + "deadLetteringOnMessageExpiration": "false", + "duplicateDetectionHistoryTimeWindow": "PT10M", + "maxDeliveryCount": "10", + "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S", + "enablePartitioning": "false", + "enableExpress": "false" + } + } + ] +} diff --git a/Sitecore 9.3.0/XPSingle/nested/infrastructure-xc.json b/Sitecore 9.3.0/XPSingle/nested/infrastructure-xc.json new file mode 100644 index 00000000..126833a4 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/nested/infrastructure-xc.json @@ -0,0 +1,413 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + "processingEngineTasksSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineTasksSqlDatabaseName')))]", + "processingEngineStorageSqlDatabaseNameTidy": "[toLower(trim(parameters('processingEngineStorageSqlDatabaseName')))]", + + "xcSingleHostingPlanNameTidy": "[toLower(trim(parameters('xcSingleHostingPlanName')))]", + + "xcSingleWebAppNameTidy": "[toLower(trim(parameters('xcSingleWebAppName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "xcSingle": "xc-single", + "xcRefData": "xc-refdata", + "reporting": "reporting", + "xcShard0": "xc-shard-0", + "xcShard1": "xc-shard-1", + "xcShardMapManager": "xc-smm", + "ma": "ma", + "messaging": "messaging", + "cortexProcessingEngineTasks": "processingenginetasks", + "cortexProcessingEngineStorage": "processingenginestorage" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + "sqlDatabaseEdition": { + "type": "string", + "minLength": 1, + "defaultValue": "Standard" + }, + "sqlDatabaseMaxSize": { + "type": "string", + "minLength": 1, + "defaultValue": "268435456000" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S0" + }, + + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "processingEngineTasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginetasks-db')]" + }, + "processingEngineStorageSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-processingenginestorage-db')]" + }, + + "xcSingleHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single-hp')]" + }, + "xcSingleHostingPlanSkuName": { + "type": "string", + "defaultValue": "S1" + }, + "xcSingleHostingPlanSkuCapacity": { + "type": "int", + "defaultValue": 1 + }, + + "xcSingleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-single')]" + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('xcSingleHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('xcSingleHostingPlanSkuName')]", + "capacity": "[parameters('xcSingleHostingPlanSkuCapacity')]" + }, + "properties": { + "name": "[variables('xcSingleHostingPlanNameTidy')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcSingle]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcSingleWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcSingleHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcSingleHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcSingle]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('refDataSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('refDataSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcRefData]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('reportingSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('reportingSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').reporting]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('shardMapManagerSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shardMapManagerSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShardMapManager]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('shard0SqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shard0SqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShard0]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('shard1SqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shard1SqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShard1]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('maSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('maSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').ma]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('processingEngineTasksSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('processingEngineTasksSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexProcessingEngineTasks]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('processingEngineStorageSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('processingEngineStorageSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cortexProcessingEngineStorage]" + } + } + ] +} diff --git a/Sitecore 9.3.0/XPSingle/nested/infrastructure.json b/Sitecore 9.3.0/XPSingle/nested/infrastructure.json new file mode 100644 index 00000000..271b9031 --- /dev/null +++ b/Sitecore 9.3.0/XPSingle/nested/infrastructure.json @@ -0,0 +1,616 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2018-02-01", + "serverFarmApiVersion": "2018-02-01", + "dbApiVersion": "2014-04-01-preview", + "searchApiVersion": "2015-08-19", + "applicationInsightsApiVersion": "2015-05-01", + "certificateApiVersion": "2014-11-01", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "tasksSqlDatabaseNameTidy": "[toLower(trim(parameters('tasksSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + "exmMasterSqlDatabaseNameTidy": "[toLower(trim(parameters('exmMasterSqlDatabaseName')))]", + + "singleHostingPlanNameTidy": "[toLower(trim(parameters('singleHostingPlanName')))]", + + "siWebAppNameTidy": "[toLower(trim(parameters('siWebAppName')))]", + "singleWebAppNameTidy": "[toLower(trim(parameters('singleWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "applicationInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "applicationInsightsPricePlanTidy": "[toLower(trim(parameters('applicationInsightsPricePlan')))]", + + "authCertificateNameTidy": "[toLower(trim(parameters('authCertificateName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "si": "si", + "single": "single", + "core": "core", + "master": "master", + "web": "web", + "pools": "prc-pools", + "tasks": "prc-tasks", + "forms": "forms", + "exmmaster" : "exmmaster" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + "sqlDatabaseEdition": { + "type": "string", + "minLength": 1, + "defaultValue": "Standard" + }, + "sqlDatabaseMaxSize": { + "type": "string", + "minLength": 1, + "defaultValue": "268435456000" + }, + "sqlBasicDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S0" + }, + "sqlDatabaseServiceObjectiveLevel": { + "type": "string", + "minLength": 1, + "defaultValue": "S1" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + "exmMasterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-exmmaster-db')]" + }, + + "deployAzureSearch": { + "type": "bool", + "defaultValue": true + }, + + "searchServiceName": { + "type": "string", + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "searchServiceLocation": { + "type": "string", + "defaultValue": "[parameters('location')]" + }, + "searchServiceSkuName": { + "type": "string", + "defaultValue": "Standard" + }, + "searchServiceReplicaCount": { + "type": "int", + "defaultValue": 1 + }, + "searchServicePartitionCount": { + "type": "int", + "defaultValue": 1 + }, + + "useApplicationInsights": { + "type": "bool", + "defaultValue": true + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + "applicationInsightsCurrentBillingFeatures": { + "type": "string", + "defaultValue": "Basic", + "allowedValues": [ "Basic", "Application Insights Enterprise" ] + }, + "applicationInsightsDataVolumeCap": { + "type": "string", + "defaultValue": "0.33" + }, + + "singleHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single-hp')]" + }, + "singleHostingPlanSkuName": { + "type": "string", + "defaultValue": "S3" + }, + "singleHostingPlanSkuCapacity": { + "type": "int", + "defaultValue": 1 + }, + + "siWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-si')]" + }, + "singleWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-single')]" + }, + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1 + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1 + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('singleHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('singleHostingPlanSkuName')]", + "capacity": "[parameters('singleHostingPlanSkuCapacity')]" + }, + "properties": { + "name": "[variables('singleHostingPlanNameTidy')]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').single]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('siWebAppNameTidy')]", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ], + "metadata": [ + { + "name": "CURRENT_STACK", + "value": "dotnetcore" + } + ] + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').si]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('singleWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').single]" + } + }, + { + "type": "Microsoft.Sql/servers", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "administratorLogin": "[parameters('sqlServerLogin')]", + "administratorLoginPassword": "[parameters('sqlServerPassword')]", + "version": "[parameters('sqlServerVersion')]" + }, + "name": "[variables('sqlServerNameTidy')]", + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]" + }, + "resources": [ + { + "type": "firewallrules", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "endIpAddress": "0.0.0.0", + "startIpAddress": "0.0.0.0" + }, + "name": "AllowAllAzureIps", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ] + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('coreSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('coreSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').core]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('masterSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('masterSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').master]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('webSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('webSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').web]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('poolsSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('poolsSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').pools]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('tasksSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('tasksSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').tasks]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('formsSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('formsSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').forms]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('sqlDatabaseEdition')]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('sqlDatabaseMaxSize')]", + "requestedServiceObjectiveName": "[parameters('sqlBasicDatabaseServiceObjectiveLevel')]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('exmMasterSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('exmMasterSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').exmmaster]" + } + } + ] + }, + { + "type": "Microsoft.Search/searchServices", + "condition": "[parameters('deployAzureSearch')]", + "apiVersion": "[variables('searchApiVersion')]", + "name": "[variables('searchServiceNameTidy')]", + "location": "[if(parameters('deployAzureSearch'), parameters('searchServiceLocation'), 'westus')]", + "sku": { + "name": "[toLower(parameters('searchServiceSkuName'))]" + }, + "properties": { + "replicaCount": "[parameters('searchServiceReplicaCount')]", + "partitionCount": "[parameters('searchServicePartitionCount')]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components", + "condition": "[parameters('useApplicationInsights')]", + "name": "[variables('applicationInsightsNameTidy')]", + "apiVersion": "[variables('applicationInsightsApiVersion')]", + "location": "[parameters('applicationInsightsLocation')]", + "properties": { + "ApplicationId": "[variables('applicationInsightsNameTidy')]", + "Application_Type": "web" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components/CurrentBillingFeatures", + "condition": "[parameters('useApplicationInsights')]", + "name": "[concat(variables('applicationInsightsNameTidy'), '/', variables('applicationInsightsPricePlanTidy'))]", + "location": "[parameters('applicationInsightsLocation')]", + "apiVersion": "[variables('applicationInsightsApiVersion')]", + "properties": { + "CurrentBillingFeatures": "[parameters('applicationInsightsCurrentBillingFeatures')]", + "DataVolumeCap": { + "Cap": "[float(parameters('applicationInsightsDataVolumeCap'))]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Insights/Components', variables('applicationInsightsNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Web/certificates", + "name": "[variables('authCertificateNameTidy')]", + "apiVersion": "[variables('certificateApiVersion')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('singleHostingPlanNameTidy'))]" + ], + "properties": { + "password": "[parameters('authCertificatePassword')]", + "pfxBlob": "[parameters('authCertificateBlob')]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + } + ], + "outputs": { + "infrastructure": { + "type": "object", + "value": { + "sqlServerFqdn": "[reference(concat('Microsoft.Sql/servers/', variables('sqlServerNameTidy'))).fullyQualifiedDomainName]", + "siWebAppHostName": "[reference(concat('Microsoft.Web/sites/', variables('siWebAppNameTidy')), variables('webApiVersion')).defaultHostName]", + "singleWebAppHostName": "[reference(concat('Microsoft.Web/sites/', variables('singleWebAppNameTidy')), variables('webApiVersion')).defaultHostName]", + "authCertificateThumbprint": "[reference(resourceId('Microsoft.Web/certificates', variables('authCertificateNameTidy'))).thumbprint]" + } + } + } +} \ No newline at end of file