Created
August 11, 2020 18:01
-
-
Save shibayan/e30fdaac0283f334d87210efd0bac9d2 to your computer and use it in GitHub Desktop.
Acmebot preview template
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", | |
| "contentVersion": "1.0.0.0", | |
| "parameters": { | |
| "appNamePrefix": { | |
| "type": "string", | |
| "maxLength": 14, | |
| "metadata": { | |
| "description": "The name of the function app that you wish to create." | |
| } | |
| }, | |
| "mailAddress": { | |
| "type": "string", | |
| "metadata": { | |
| "description": "Email address for ACME account." | |
| } | |
| }, | |
| "acmeEndpoint": { | |
| "type": "string", | |
| "allowedValues": [ | |
| "https://acme-v02.api.letsencrypt.org/", | |
| "https://api.buypass.com/acme/" | |
| ], | |
| "defaultValue": "https://acme-v02.api.letsencrypt.org/", | |
| "metadata": { | |
| "description": "Certification authority ACME Endpoint." | |
| } | |
| } | |
| }, | |
| "variables": { | |
| "functionAppName": "[concat('func-', parameters('appNamePrefix'), '-', substring(uniquestring(resourceGroup().id, deployment().name), 0, 4))]", | |
| "appServicePlanName": "[concat('plan-', parameters('appNamePrefix'), '-', substring(uniquestring(resourceGroup().id, deployment().name), 0, 4))]", | |
| "appInsightsName": "[concat('appi-', parameters('appNamePrefix'), '-', substring(uniquestring(resourceGroup().id, deployment().name), 0, 4))]", | |
| "storageAccountName": "[concat('st', uniquestring(resourceGroup().id, deployment().name), 'func')]", | |
| "storageAccountId": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]", | |
| "mailAddress": "[parameters('mailAddress')]", | |
| "acmeEndpoint": "[parameters('acmeEndpoint')]" | |
| }, | |
| "resources": [ | |
| { | |
| "type": "Microsoft.Storage/storageAccounts", | |
| "name": "[variables('storageAccountName')]", | |
| "apiVersion": "2018-11-01", | |
| "location": "[resourceGroup().location]", | |
| "kind": "Storage", | |
| "sku": { | |
| "name": "Standard_LRS" | |
| } | |
| }, | |
| { | |
| "type": "Microsoft.Web/serverfarms", | |
| "name": "[variables('appServicePlanName')]", | |
| "apiVersion": "2018-02-01", | |
| "location": "[resourceGroup().location]", | |
| "properties": { | |
| "name": "[variables('appServicePlanName')]" | |
| }, | |
| "sku": { | |
| "name": "Y1", | |
| "tier": "Dynamic", | |
| "size": "Y1", | |
| "family": "Y" | |
| } | |
| }, | |
| { | |
| "type": "Microsoft.Insights/components", | |
| "name": "[variables('appInsightsName')]", | |
| "apiVersion": "2015-05-01", | |
| "location": "[resourceGroup().location]", | |
| "tags": { | |
| "[concat('hidden-link:', resourceGroup().id, '/providers/Microsoft.Web/sites/', variables('functionAppName'))]": "Resource" | |
| }, | |
| "properties": { | |
| "Application_Type": "web", | |
| "applicationId": "[variables('appInsightsName')]" | |
| } | |
| }, | |
| { | |
| "type": "Microsoft.Web/sites", | |
| "name": "[variables('functionAppName')]", | |
| "apiVersion": "2018-02-01", | |
| "location": "[resourceGroup().location]", | |
| "kind": "functionapp", | |
| "identity": { | |
| "type": "SystemAssigned" | |
| }, | |
| "dependsOn": [ | |
| "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]", | |
| "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]", | |
| "[resourceId('Microsoft.Insights/components', variables('appInsightsName'))]" | |
| ], | |
| "properties": { | |
| "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]", | |
| "siteConfig": { | |
| "appSettings": [ | |
| { | |
| "name": "APPLICATIONINSIGHTS_CONNECTION_STRING", | |
| "value": "[concat('InstrumentationKey=', reference(resourceId('Microsoft.Insights/components', variables('appInsightsName')), '2015-05-01').InstrumentationKey)]" | |
| }, | |
| { | |
| "name": "AzureWebJobsStorage", | |
| "value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageAccountName'), ';AccountKey=', listKeys(variables('storageAccountId'), '2018-11-01').keys[0].value, ';EndpointSuffix=', environment().suffixes.storage)]" | |
| }, | |
| { | |
| "name": "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING", | |
| "value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageAccountName'), ';AccountKey=', listKeys(variables('storageAccountId'), '2018-11-01').keys[0].value, ';EndpointSuffix=', environment().suffixes.storage)]" | |
| }, | |
| { | |
| "name": "WEBSITE_CONTENTSHARE", | |
| "value": "[toLower(variables('functionAppName'))]" | |
| }, | |
| { | |
| "name": "WEBSITE_RUN_FROM_PACKAGE", | |
| "value": "https://shibayan.blob.core.windows.net/azure-appservice-letsencrypt/v3/preview.zip" | |
| }, | |
| { | |
| "name": "FUNCTIONS_EXTENSION_VERSION", | |
| "value": "~3" | |
| }, | |
| { | |
| "name": "FUNCTIONS_WORKER_RUNTIME", | |
| "value": "dotnet" | |
| }, | |
| { | |
| "name": "Acmebot:SubscriptionId", | |
| "value": "[subscription().subscriptionId]" | |
| }, | |
| { | |
| "name": "Acmebot:Contacts", | |
| "value": "[variables('mailAddress')]" | |
| }, | |
| { | |
| "name": "Acmebot:Endpoint", | |
| "value": "[variables('acmeEndpoint')]" | |
| }, | |
| { | |
| "name": "Acmebot:Environment", | |
| "value": "[environment().name]" | |
| } | |
| ], | |
| "clientAffinityEnabled": false | |
| } | |
| }, | |
| "resources": [ | |
| { | |
| "apiVersion": "2018-02-01", | |
| "name": "metadata", | |
| "type": "config", | |
| "dependsOn": [ | |
| "[resourceId('Microsoft.Web/sites', variables('functionAppName'))]" | |
| ], | |
| "properties": { | |
| "synctriggersstatus": "[listsyncfunctiontriggerstatus(resourceId('Microsoft.Web/sites', variables('functionAppName')), '2018-02-01').status]" | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment