Failed deployment SFPTgo from marketplace, with AKS cluster creation
Trying to deploy SFPTgo + AKS cluster but deployment fails. The details of the error are below...
Any thoughts?
The storageProfile is set to ManagedDisks
"agentPoolProfiles": [
{
"availabilityZones": [],
"count": "[parameters('vmCount')]",
"enableAutoScaling": "[parameters('vmEnableAutoScale')]",
"enableNodePublicIP": false,
"maxCount": 10,
"maxPods": 110,
"minCount": 1,
"mode": "System",
"name": "agentpool",
"osDiskSizeGB": "[parameters('osDiskSizeGB')]",
"osType": "Linux",
"storageProfile": "ManagedDisks",
"tags": {},
"type": "VirtualMachineScaleSets",
"vmSize": "[parameters('vmSize')]"
{"code":"DeploymentFailed","target":"/subscriptions/a815951c-0d91-4893-8b43-84af6f876d6f/resourceGroups/sftpgo/providers/Microsoft.Resources/deployments/eliamarzia1667381463185.sftpgo_aks-20250422105224","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usage details.","details":[{"code":"UnmarshalError","target":"/subscriptions/a815951c-0d91-4893-8b43-84af6f876d6f/resourceGroups/sftpgo/providers/Microsoft.ContainerService/managedClusters/sftpgo","message":"Invalid request body. Converting request body to a managed cluster encountered error: json: unknown field "storageProfile" Check that the field is in the right location, is spelled correctly, and is supported in the API version. Visit aka.ms/aks/apiversions for more API version information.."}]}
Azure Kubernetes Service (AKS)
-
Markapuram Sudheer Reddy • 1,670 Reputation points • Microsoft External Staff
2025-04-22T18:01:33.05+00:00 Hi Dwight Wheeler,
Based on the error description shared above, I understood you are using Azure Custom deployment Template to perform deployment and facing issue. Could you please share your template to better assist you on your query.
Thank You
-
Dwight Wheeler • 20 Reputation points
2025-04-22T22:28:28.3366667+00:00 I am trying to install fstpgo from the marketplace with the AKS cluster. so I changed nothing. So I am not too technical but seems like there is something wrong with this deployment.
-
Dwight Wheeler • 20 Reputation points
2025-04-22T22:34:53.9133333+00:00 wait I did change the database to point to a postgres/flexible server that I stood up previous to the install.
-
Dwight Wheeler • 20 Reputation points
2025-04-24T14:32:02.3533333+00:00 Below is the template generated as part of the deployment process. You will notice under resources/agentpool the storageProfile is set to managedDisk and appears to be formated correctly. Any thoughts would be greatly appreciated!
Dwight
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.1", "parameters": { "clusterResourceName": { "type": "String", "metadata": { "description": "The name of the Managed Cluster resource." } }, "createNewCluster": { "defaultValue": true, "type": "Bool", "metadata": { "description": "When set to 'true', creates new AKS cluster. Otherwise, an existing cluster is used." } }, "dnsPrefix": { "defaultValue": "[concat(parameters('clusterResourceName'),'-dns')]", "type": "String", "metadata": { "description": "Optional DNS prefix to use with hosted Kubernetes API server FQDN." } }, "enableAzurePolicy": { "defaultValue": false, "type": "Bool", "metadata": { "description": "Boolean flag to turn on and off Azure Policy addon." } }, "enableHttpApplicationRouting": { "defaultValue": true, "type": "Bool", "metadata": { "description": "Boolean flag to turn on and off http application routing." } }, "enablePrivateCluster": { "defaultValue": false, "type": "Bool", "metadata": { "description": "Enable private network access to the Kubernetes cluster." } }, "enableRBAC": { "defaultValue": true, "type": "Bool", "metadata": { "description": "Boolean flag to turn on and off of RBAC." } }, "enableSecretStoreCSIDriver": { "defaultValue": false, "type": "Bool", "metadata": { "description": "Boolean flag to turn on and off secret store CSI driver." } }, "extensionResourceName": { "type": "String", "metadata": { "description": "The name of the extension." } }, "kubernetesVersion": { "defaultValue": "1.24.0", "type": "String", "metadata": { "description": "The version of Kubernetes." } }, "location": { "type": "String", "metadata": { "description": "The location of AKS resource." } }, "networkPlugin": { "defaultValue": "kubenet", "allowedValues": [ "azure", "kubenet" ], "type": "String", "metadata": { "description": "Network plugin used for building Kubernetes network." } }, "osDiskSizeGB": { "defaultValue": 0, "minValue": 0, "maxValue": 1023, "type": "Int", "metadata": { "description": "Disk size (in GiB) to provision for each of the agent pool nodes. This value ranges from 0 to 1023. Specifying 0 will apply the default disk size for that agentVMSize." } }, "sftpgoDatabaseDriver": { "defaultValue": "sqlite", "allowedValues": [ "sqlite", "postgresql", "mysql", "cockroachdb", "bolt" ], "type": "String" }, "sftpgoDatabaseHost": { "type": "String" }, "sftpgoDatabaseName": { "defaultValue": "sftpgo.db", "type": "String" }, "sftpgoDatabasePassword": { "type": "SecureString" }, "sftpgoDatabasePort": { "defaultValue": "0", "type": "String" }, "sftpgoDatabaseSSLMode": { "defaultValue": "0", "type": "String" }, "sftpgoDatabaseUsername": { "type": "String" }, "sftpgoReplicaCount": { "defaultValue": 1, "type": "Int" }, "vmCount": { "defaultValue": 3, "type": "Int", "metadata": { "description": "VM count" } }, "vmEnableAutoScale": { "defaultValue": true, "type": "Bool", "metadata": { "description": "enable auto scaling" } }, "vmSize": { "defaultValue": "Standard_B2s", "type": "String", "metadata": { "description": "VM size" } } }, "variables": { "clusterExtensionTypeName": "sftpgo.sftpgo-standard", "plan-name": "standard", "plan-offerID": "sftpgo_aks", "plan-publisher": "eliamarzia1667381463185", "releaseTrain": "stable" }, "resources": [ { "type": "Microsoft.ContainerService/managedClusters", "apiVersion": "2024-05-01", "name": "[parameters('clusterResourceName')]", "location": "[parameters('location')]", "dependsOn": [], "tags": {}, "sku": { "name": "Basic", "tier": "Free" }, "identity": { "type": "SystemAssigned" }, "properties": { "addonProfiles": { "azureKeyvaultSecretsProvider": { "enabled": "[parameters('enableSecretStoreCSIDriver')]" }, "azurepolicy": { "enabled": "[parameters('enableAzurePolicy')]" }, "httpApplicationRouting": { "enabled": "[parameters('enableHttpApplicationRouting')]" } }, "agentPoolProfiles": [ { "availabilityZones": [], "count": "[parameters('vmCount')]", "enableAutoScaling": "[parameters('vmEnableAutoScale')]", "enableNodePublicIP": false, "maxCount": 10, "maxPods": 110, "minCount": 1, "mode": "System", "name": "agentpool", "osDiskSizeGB": "[parameters('osDiskSizeGB')]", "osType": "Linux", "storageProfile": "ManagedDisks", "tags": {}, "type": "VirtualMachineScaleSets", "vmSize": "[parameters('vmSize')]" } ], "apiServerAccessProfile": { "enablePrivateCluster": "[parameters('enablePrivateCluster')]" }, "dnsPrefix": "[parameters('dnsPrefix')]", "enableRBAC": "[parameters('enableRBAC')]", "kubernetesVersion": "[parameters('kubernetesVersion')]", "networkProfile": { "loadBalancerSku": "standard", "networkPlugin": "[parameters('networkPlugin')]" } }, "condition": "[parameters('createNewCluster')]" }, { "type": "Microsoft.KubernetesConfiguration/extensions", "apiVersion": "2023-05-01", "name": "[parameters('extensionResourceName')]", "dependsOn": [ "[resourceId('Microsoft.ContainerService/managedClusters/', parameters('clusterResourceName'))]" ], "plan": { "name": "[variables('plan-name')]", "product": "[variables('plan-offerID')]", "publisher": "[variables('plan-publisher')]" }, "properties": { "configurationProtectedSettings": {}, "configurationSettings": { "database.driver": "[parameters('sftpgoDatabaseDriver')]", "database.host": "[parameters('sftpgoDatabaseHost')]", "database.name": "[parameters('sftpgoDatabaseName')]", "database.password": "[parameters('sftpgoDatabasePassword')]", "database.port": "[parameters('sftpgoDatabasePort')]", "database.sslMode": "[parameters('sftpgoDatabaseSSLMode')]", "database.username": "[parameters('sftpgoDatabaseUsername')]", "replicaCount": "[parameters('sftpgoReplicaCount')]" }, "extensionType": "[variables('clusterExtensionTypeName')]", "releaseTrain": "[variables('releaseTrain')]" }, "scope": "[concat('Microsoft.ContainerService/managedClusters/', parameters('clusterResourceName'))]" } ], "outputs": {}
}{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.1", "parameters": { "clusterResourceName": { "type": "String", "metadata": { "description": "The name of the Managed Cluster resource." } }, "createNewCluster": { "defaultValue": true, "type": "Bool", "metadata": { "description": "When set to 'true', creates new AKS cluster. Otherwise, an existing cluster is used." } }, "dnsPrefix": { "defaultValue": "[concat(parameters('clusterResourceName'),'-dns')]", "type": "String", "metadata": { "description": "Optional DNS prefix to use with hosted Kubernetes API server FQDN." } }, "enableAzurePolicy": { "defaultValue": false, "type": "Bool", "metadata": { "description": "Boolean flag to turn on and off Azure Policy addon." } }, "enableHttpApplicationRouting": { "defaultValue": true, "type": "Bool", "metadata": { "description": "Boolean flag to turn on and off http application routing." } }, "enablePrivateCluster": { "defaultValue": false, "type": "Bool", "metadata": { "description": "Enable private network access to the Kubernetes cluster." } }, "enableRBAC": { "defaultValue": true, "type": "Bool", "metadata": { "description": "Boolean flag to turn on and off of RBAC." } }, "enableSecretStoreCSIDriver": { "defaultValue": false, "type": "Bool", "metadata": { "description": "Boolean flag to turn on and off secret store CSI driver." } }, "extensionResourceName": { "type": "String", "metadata": { "description": "The name of the extension." } }, "kubernetesVersion": { "defaultValue": "1.24.0", "type": "String", "metadata": { "description": "The version of Kubernetes." } }, "location": { "type": "String", "metadata": { "description": "The location of AKS resource." } }, "networkPlugin": { "defaultValue": "kubenet", "allowedValues": [ "azure", "kubenet" ], "type": "String", "metadata": { "description": "Network plugin used for building Kubernetes network." } }, "osDiskSizeGB": { "defaultValue": 0, "minValue": 0, "maxValue": 1023, "type": "Int", "metadata": { "description": "Disk size (in GiB) to provision for each of the agent pool nodes. This value ranges from 0 to 1023. Specifying 0 will apply the default disk size for that agentVMSize." } }, "sftpgoDatabaseDriver": { "defaultValue": "sqlite", "allowedValues": [ "sqlite", "postgresql", "mysql", "cockroachdb", "bolt" ], "type": "String" }, "sftpgoDatabaseHost": { "type": "String" }, "sftpgoDatabaseName": { "defaultValue": "sftpgo.db", "type": "String" }, "sftpgoDatabasePassword": { "type": "SecureString" }, "sftpgoDatabasePort": { "defaultValue": "0", "type": "String" }, "sftpgoDatabaseSSLMode": { "defaultValue": "0", "type": "String" }, "sftpgoDatabaseUsername": { "type": "String" }, "sftpgoReplicaCount": { "defaultValue": 1, "type": "Int" }, "vmCount": { "defaultValue": 3, "type": "Int", "metadata": { "description": "VM count" } }, "vmEnableAutoScale": { "defaultValue": true, "type": "Bool", "metadata": { "description": "enable auto scaling" } }, "vmSize": { "defaultValue": "Standard_B2s", "type": "String", "metadata": { "description": "VM size" } } }, "variables": { "clusterExtensionTypeName": "sftpgo.sftpgo-standard", "plan-name": "standard", "plan-offerID": "sftpgo_aks", "plan-publisher": "eliamarzia1667381463185", "releaseTrain": "stable" }, "resources": [ { "type": "Microsoft.ContainerService/managedClusters", "apiVersion": "2024-05-01", "name": "[parameters('clusterResourceName')]", "location": "[parameters('location')]", "dependsOn": [], "tags": {}, "sku": { "name": "Basic", "tier": "Free" }, "identity": { "type": "SystemAssigned" }, "properties": { "addonProfiles": { "azureKeyvaultSecretsProvider": { "enabled": "[parameters('enableSecretStoreCSIDriver')]" }, "azurepolicy": { "enabled": "[parameters('enableAzurePolicy')]" }, "httpApplicationRouting": { "enabled": "[parameters('enableHttpApplicationRouting')]" } }, "agentPoolProfiles": [ { "availabilityZones": [], "count": "[parameters('vmCount')]", "enableAutoScaling": "[parameters('vmEnableAutoScale')]", "enableNodePublicIP": false, "maxCount": 10, "maxPods": 110, "minCount": 1, "mode": "System", "name": "agentpool", "osDiskSizeGB": "[parameters('osDiskSizeGB')]", "osType": "Linux", "storageProfile": "ManagedDisks", "tags": {}, "type": "VirtualMachineScaleSets", "vmSize": "[parameters('vmSize')]" } ], "apiServerAccessProfile": { "enablePrivateCluster": "[parameters('enablePrivateCluster')]" }, "dnsPrefix": "[parameters('dnsPrefix')]", "enableRBAC": "[parameters('enableRBAC')]", "kubernetesVersion": "[parameters('kubernetesVersion')]", "networkProfile": { "loadBalancerSku": "standard", "networkPlugin": "[parameters('networkPlugin')]" } }, "condition": "[parameters('createNewCluster')]" }, { "type": "Microsoft.KubernetesConfiguration/extensions", "apiVersion": "2023-05-01", "name": "[parameters('extensionResourceName')]", "dependsOn": [ "[resourceId('Microsoft.ContainerService/managedClusters/', parameters('clusterResourceName'))]" ], "plan": { "name": "[variables('plan-name')]", "product": "[variables('plan-offerID')]", "publisher": "[variables('plan-publisher')]" }, "properties": { "configurationProtectedSettings": {}, "configurationSettings": { "database.driver": "[parameters('sftpgoDatabaseDriver')]", "database.host": "[parameters('sftpgoDatabaseHost')]", "database.name": "[parameters('sftpgoDatabaseName')]", "database.password": "[parameters('sftpgoDatabasePassword')]", "database.port": "[parameters('sftpgoDatabasePort')]", "database.sslMode": "[parameters('sftpgoDatabaseSSLMode')]", "database.username": "[parameters('sftpgoDatabaseUsername')]", "replicaCount": "[parameters('sftpgoReplicaCount')]" }, "extensionType": "[variables('clusterExtensionTypeName')]", "releaseTrain": "[variables('releaseTrain')]" }, "scope": "[concat('Microsoft.ContainerService/managedClusters/', parameters('clusterResourceName'))]" } ], "outputs": {}
}
-
Markapuram Sudheer Reddy • 1,670 Reputation points • Microsoft External Staff
2025-04-28T10:59:22.71+00:00 Hi Dwight Wheeler,
To access SFTPGo, configure a LoadBalancer/Ingress if needed and simply open http://cluster IP:8080/web/admin in your browser, create the first admin user and start using SFTPGo.
Further configuration customizations can be applied from the Extensions + applications section of the Azure portal. https://sftpgo.com/aks.pdf
You can check by once AKS cluster is created, after deployment, navigate to your AKS cluster in the Azure portal. Under Extensions + applications, select SFTPGo and expand the Configuration settings section, you can view and modify parameters.
Plese check below documentation for more information.
https://github.com/drakkan/sftpgo/discussions/281
If you have any queries, please do let us know, we will help you.
Sign in to comment