diff --git a/README.md b/README.md index 3528767..ed14155 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,23 @@ Once you have an Azure account you can deploy Moodle via the Azure portal using the button below, or you can [deploy Moodle via the CLI](docs/Deploy.md). -[![Deploy to Azure](http://azuredeploy.net/deploybutton.png)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FMoodle%2Fmaster%2Fazuredeploy.json) [![Visualize](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/visualizebutton.png)](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FMoodle%2Fmaster%2Fazuredeploy.json) +## Minimal deployment + +Try the following button if you'd like to deploy our templates with minimal resources. +All configurations are fixed and you just need to pass your ssh public key to the template +for logging in to the deployed VMs. This deployment will use NFS, Microsoft SQL, and +smaller autoscale web frontend VM sku (1 core) that'll give faster deployment time (less than +30 minutes) and requires only 3 VM cores currently that'll fit even in a free trial Azure subscription. + +[![Deploy to Azure Minimally](http://azuredeploy.net/deploybutton.png)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FMoodle%2Fmaster%2Fazuredeploy-minimal.json) [![Visualize](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/visualizebutton.png)](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FMoodle%2Fmaster%2Fazuredeploy.json) + +## Scalable and fully configurable deployment + +The following button will allow you to specify various configurations for your Moodle cluster +deployment. The number of configuration options might be overwhelming, and we'll add more +detailed sizing guidelines in the future. + +[![Deploy to Azure Fully Configurable](http://azuredeploy.net/deploybutton.png)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FMoodle%2Fmaster%2Fazuredeploy.json) [![Visualize](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/visualizebutton.png)](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FMoodle%2Fmaster%2Fazuredeploy.json) ## What this stack will give you diff --git a/azuredeploy-minimal.json b/azuredeploy-minimal.json new file mode 100644 index 0000000..fb2546e --- /dev/null +++ b/azuredeploy-minimal.json @@ -0,0 +1,110 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "_artifactsLocation": { + "type": "string", + "metadata": { + "description": "The base URI where artifacts required by this template are located. When the template is deployed using the accompanying scripts, a private location in the subscription will be used and this value will be automatically generated." + }, + "defaultValue": "https://raw.githubusercontent.com/Azure/Moodle/master/" + }, + "_artifactsLocationSasToken": { + "type": "securestring", + "metadata": { + "description": "The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated." + }, + "defaultValue": "" + }, + "sshPublicKey": { + "metadata": { + "description": "ssh public key" + }, + "type": "string" + } + }, + "resources": [ + { + "type": "Microsoft.Resources/deployments", + "apiVersion": "2017-05-10", + "name": "moodleMinimalTemplate", + "properties": { + "mode": "Incremental", + "parameters": { + "sshPublicKey": { + "value": "[parameters('sshPublicKey')]" + }, + "fileServerType": { + "value": "nfs" + }, + "fileServerDiskCount": { + "value": 2 + }, + "autoscaleVmSku": { + "value": "Standard_DS1_v2" + }, + "dbServerType": { + "value": "mssql" + }, + "redisDeploySwitch": { + "value": false + } + }, + "templateLink": { + "uri": "[concat(parameters('_artifactsLocation'), 'azuredeploy.json', parameters('_artifactsLocationSasToken'))]" + } + } + } + ], + "outputs": { + "siteURL": { + "type": "string", + "value": "[reference('moodleMinimalTemplate').outputs.siteURL.value]" + }, + "controllerInstanceIP": { + "type": "string", + "value": "[reference('moodleMinimalTemplate').outputs.controllerInstanceIP.value]" + }, + "databaseDNS": { + "type": "string", + "value": "[reference('moodleMinimalTemplate').outputs.databaseDNS.value]" + }, + "databaseAdminUsername": { + "type": "string", + "value": "[reference('moodleMinimalTemplate').outputs.databaseAdminUsername.value]" + }, + "databaseAdminPassword": { + "type": "string", + "value": "[reference('moodleMinimalTemplate').outputs.databaseAdminPassword.value]" + }, + "firstFrontendVmIP": { + "type": "string", + "value": "[reference('moodleMinimalTemplate').outputs.firstFrontendVmIP.value]" + }, + "moodleAdminPassword": { + "type": "string", + "value": "[reference('moodleMinimalTemplate').outputs.moodleAdminPassword.value]" + }, + "moodleDbUsername": { + "type": "string", + "value": "[reference('moodleMinimalTemplate').outputs.moodleDbUsername.value]" + }, + "moodleDbPassword": { + "type": "string", + "value": "[reference('moodleMinimalTemplate').outputs.moodleDbPassword.value]" + }, + "loadBalancerDNS": { + "type": "string", + "value": "[reference('moodleMinimalTemplate').outputs.loadBalancerDNS.value]" + } + }, + "variables": { + "documentation01": "This wrapper template calls the main-template with bare minimum configs and the only required parameter (sshPublicKey).", + "documentation02": "To speed up deployment and consume least resources, other parameters are fixed in this tempalte and overriden as follows:", + "documentation03": " - fileServerType: nfs", + "documentation04": " - autoscaleVmSku: Standard_DS1_vs", + "documentation05": " - fileServerDiskCount: 2", + "documentation06": " - dbServerType: mssql", + "documentation07": " - redisDeploySwitch: false" + } +}