diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c862d089..ef61c1de 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -8,7 +8,7 @@ on:
env:
DOTNET_VERSION: 6.0.x
- BICEP_VERSION: 0.26.170
+ BICEP_VERSION: 0.28.1
jobs:
build:
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index dd9afab2..4836b7db 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -6,7 +6,7 @@ on:
env:
DOTNET_VERSION: 6.0.x
- BICEP_VERSION: 0.26.170
+ BICEP_VERSION: 0.28.1
jobs:
publish:
diff --git a/KeyVault.Acmebot/KeyVault.Acmebot.csproj b/KeyVault.Acmebot/KeyVault.Acmebot.csproj
index b2549ad1..0203f294 100644
--- a/KeyVault.Acmebot/KeyVault.Acmebot.csproj
+++ b/KeyVault.Acmebot/KeyVault.Acmebot.csproj
@@ -4,13 +4,13 @@
v4
-
+
-
+
diff --git a/azuredeploy.bicep b/azuredeploy.bicep
index ebdf5724..0f2fdc01 100644
--- a/azuredeploy.bicep
+++ b/azuredeploy.bicep
@@ -75,6 +75,10 @@ var acmebotAppSettings = [
name: 'FUNCTIONS_EXTENSION_VERSION'
value: '~4'
}
+ {
+ name: 'FUNCTIONS_INPROC_NET8_ENABLED'
+ value: '1'
+ }
{
name: 'FUNCTIONS_WORKER_RUNTIME'
value: 'dotnet'
@@ -97,7 +101,7 @@ var acmebotAppSettings = [
}
]
-resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = {
+resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: storageAccountName
location: location
kind: 'Storage'
@@ -111,7 +115,7 @@ resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = {
}
}
-resource appServicePlan 'Microsoft.Web/serverfarms@2023-01-01' = {
+resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
name: appServicePlanName
location: location
sku: {
@@ -145,7 +149,7 @@ resource appInsights 'Microsoft.Insights/components@2020-02-02' = {
}
}
-resource functionApp 'Microsoft.Web/sites@2023-01-01' = {
+resource functionApp 'Microsoft.Web/sites@2023-12-01' = {
name: functionAppName
location: location
kind: 'functionapp'
@@ -158,7 +162,7 @@ resource functionApp 'Microsoft.Web/sites@2023-01-01' = {
serverFarmId: appServicePlan.id
siteConfig: {
appSettings: concat(acmebotAppSettings, additionalAppSettings)
- netFrameworkVersion: 'v6.0'
+ netFrameworkVersion: 'v8.0'
ftpsState: 'Disabled'
minTlsVersion: '1.2'
scmMinTlsVersion: '1.2'
diff --git a/azuredeploy.json b/azuredeploy.json
index 31fc0c6e..691dd26a 100644
--- a/azuredeploy.json
+++ b/azuredeploy.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.26.170.59819",
- "templateHash": "5662418896052070318"
+ "version": "0.28.1.47646",
+ "templateHash": "14872192790547142580"
}
},
"parameters": {
@@ -97,7 +97,7 @@
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
- "apiVersion": "2023-01-01",
+ "apiVersion": "2023-05-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"kind": "Storage",
@@ -112,7 +112,7 @@
},
{
"type": "Microsoft.Web/serverfarms",
- "apiVersion": "2023-01-01",
+ "apiVersion": "2023-12-01",
"name": "[variables('appServicePlanName')]",
"location": "[parameters('location')]",
"sku": {
@@ -152,7 +152,7 @@
},
{
"type": "Microsoft.Web/sites",
- "apiVersion": "2023-01-01",
+ "apiVersion": "2023-12-01",
"name": "[variables('functionAppName')]",
"location": "[parameters('location')]",
"kind": "functionapp",
@@ -164,8 +164,8 @@
"httpsOnly": true,
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]",
"siteConfig": {
- "appSettings": "[concat(createArray(createObject('name', 'APPLICATIONINSIGHTS_CONNECTION_STRING', 'value', format('InstrumentationKey={0};EndpointSuffix={1}', reference(resourceId('Microsoft.Insights/components', variables('appInsightsName')), '2020-02-02').InstrumentationKey, variables('appInsightsEndpoints')[environment().name])), createObject('name', 'AzureWebJobsStorage', 'value', format('DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1};EndpointSuffix={2}', variables('storageAccountName'), listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2023-01-01').keys[0].value, environment().suffixes.storage)), createObject('name', 'WEBSITE_CONTENTAZUREFILECONNECTIONSTRING', 'value', format('DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1};EndpointSuffix={2}', variables('storageAccountName'), listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2023-01-01').keys[0].value, environment().suffixes.storage)), createObject('name', 'WEBSITE_CONTENTSHARE', 'value', toLower(variables('functionAppName'))), createObject('name', 'WEBSITE_RUN_FROM_PACKAGE', 'value', 'https://stacmebotprod.blob.core.windows.net/keyvault-acmebot/v4/latest.zip'), createObject('name', 'FUNCTIONS_EXTENSION_VERSION', 'value', '~4'), createObject('name', 'FUNCTIONS_WORKER_RUNTIME', 'value', 'dotnet'), createObject('name', 'Acmebot:Contacts', 'value', parameters('mailAddress')), createObject('name', 'Acmebot:Endpoint', 'value', parameters('acmeEndpoint')), createObject('name', 'Acmebot:VaultBaseUrl', 'value', if(parameters('createWithKeyVault'), format('https://{0}{1}', variables('keyVaultName'), environment().suffixes.keyvaultDns), parameters('keyVaultBaseUrl'))), createObject('name', 'Acmebot:Environment', 'value', environment().name)), parameters('additionalAppSettings'))]",
- "netFrameworkVersion": "v6.0",
+ "appSettings": "[concat(createArray(createObject('name', 'APPLICATIONINSIGHTS_CONNECTION_STRING', 'value', format('InstrumentationKey={0};EndpointSuffix={1}', reference(resourceId('Microsoft.Insights/components', variables('appInsightsName')), '2020-02-02').InstrumentationKey, variables('appInsightsEndpoints')[environment().name])), createObject('name', 'AzureWebJobsStorage', 'value', format('DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1};EndpointSuffix={2}', variables('storageAccountName'), listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2023-05-01').keys[0].value, environment().suffixes.storage)), createObject('name', 'WEBSITE_CONTENTAZUREFILECONNECTIONSTRING', 'value', format('DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1};EndpointSuffix={2}', variables('storageAccountName'), listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2023-05-01').keys[0].value, environment().suffixes.storage)), createObject('name', 'WEBSITE_CONTENTSHARE', 'value', toLower(variables('functionAppName'))), createObject('name', 'WEBSITE_RUN_FROM_PACKAGE', 'value', 'https://stacmebotprod.blob.core.windows.net/keyvault-acmebot/v4/latest.zip'), createObject('name', 'FUNCTIONS_EXTENSION_VERSION', 'value', '~4'), createObject('name', 'FUNCTIONS_INPROC_NET8_ENABLED', 'value', '1'), createObject('name', 'FUNCTIONS_WORKER_RUNTIME', 'value', 'dotnet'), createObject('name', 'Acmebot:Contacts', 'value', parameters('mailAddress')), createObject('name', 'Acmebot:Endpoint', 'value', parameters('acmeEndpoint')), createObject('name', 'Acmebot:VaultBaseUrl', 'value', if(parameters('createWithKeyVault'), format('https://{0}{1}', variables('keyVaultName'), environment().suffixes.keyvaultDns), parameters('keyVaultBaseUrl'))), createObject('name', 'Acmebot:Environment', 'value', environment().name)), parameters('additionalAppSettings'))]",
+ "netFrameworkVersion": "v8.0",
"ftpsState": "Disabled",
"minTlsVersion": "1.2",
"scmMinTlsVersion": "1.2",
@@ -206,7 +206,7 @@
"name": "[guid(resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName')), variables('functionAppName'), variables('roleDefinitionId'))]",
"properties": {
"roleDefinitionId": "[variables('roleDefinitionId')]",
- "principalId": "[reference(resourceId('Microsoft.Web/sites', variables('functionAppName')), '2023-01-01', 'full').identity.principalId]",
+ "principalId": "[reference(resourceId('Microsoft.Web/sites', variables('functionAppName')), '2023-12-01', 'full').identity.principalId]",
"principalType": "ServicePrincipal"
},
"dependsOn": [
@@ -222,11 +222,11 @@
},
"principalId": {
"type": "string",
- "value": "[reference(resourceId('Microsoft.Web/sites', variables('functionAppName')), '2023-01-01', 'full').identity.principalId]"
+ "value": "[reference(resourceId('Microsoft.Web/sites', variables('functionAppName')), '2023-12-01', 'full').identity.principalId]"
},
"tenantId": {
"type": "string",
- "value": "[reference(resourceId('Microsoft.Web/sites', variables('functionAppName')), '2023-01-01', 'full').identity.tenantId]"
+ "value": "[reference(resourceId('Microsoft.Web/sites', variables('functionAppName')), '2023-12-01', 'full').identity.tenantId]"
},
"keyVaultName": {
"type": "string",