diff --git a/.github/workflows_dep/regressionparams/dapr.json b/.github/workflows_dep/regressionparams/dapr.json
new file mode 100644
index 000000000..429b073ff
--- /dev/null
+++ b/.github/workflows_dep/regressionparams/dapr.json
@@ -0,0 +1,18 @@
+{
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "resourceName": {
+ "value": "az-k8s-dapr"
+ },
+ "agentVMSize": {
+ "value": "Standard_DS3_v2"
+ },
+ "daprAddon": {
+ "value": true
+ },
+ "daprAddonHA": {
+ "value": true
+ }
+ }
+}
diff --git a/bicep/main.bicep b/bicep/main.bicep
index 2623ecb1f..274bfb72e 100644
--- a/bicep/main.bicep
+++ b/bicep/main.bicep
@@ -1183,6 +1183,32 @@ resource fluxAddon 'Microsoft.KubernetesConfiguration/extensions@2022-04-02-prev
}
output fluxReleaseNamespace string = fluxGitOpsAddon ? fluxAddon.properties.scope.cluster.releaseNamespace : ''
+@description('Add the Dapr extension')
+param daprAddon bool = false
+@description('Enable high availability (HA) mode for the Dapr control plane')
+param daprAddonHA bool = false
+
+resource daprExtension 'Microsoft.KubernetesConfiguration/extensions@2022-04-02-preview' = if(daprAddon) {
+ name: 'dapr'
+ scope: aks
+ properties: {
+ extensionType: 'Microsoft.Dapr'
+ autoUpgradeMinorVersion: true
+ releaseTrain: 'Stable'
+ configurationSettings: {
+ 'global.ha.enabled': '${daprAddonHA}'
+ }
+ scope: {
+ cluster: {
+ releaseNamespace: 'dapr-system'
+ }
+ }
+ configurationProtectedSettings: {}
+ }
+}
+
+output daprReleaseNamespace string = daprAddon ? daprExtension.properties.scope.cluster.releaseNamespace : ''
+
/*__ ___. ______ .__ __. __ .___________. ______ .______ __ .__ __. _______
| \/ | / __ \ | \ | | | | | | / __ \ | _ \ | | | \ | | / _____|
diff --git a/cspell.json b/cspell.json
index 5bf3832e6..b5a6570df 100644
--- a/cspell.json
+++ b/cspell.json
@@ -41,6 +41,8 @@
"currenttab",
"currt",
"currv",
+ "dapr",
+ "Dapr",
"Daemonset",
"demoapp",
"denydefault",
diff --git a/helper/src/components/addonsTab.js b/helper/src/components/addonsTab.js
index 01786bdcd..5f4847656 100644
--- a/helper/src/components/addonsTab.js
+++ b/helper/src/components/addonsTab.js
@@ -384,8 +384,32 @@ export default function ({ tabValues, updateFn, featureFlag, invalidArray }) {
-
-
+
- )
+
+
+
+ Enabling this option installs dapr, but doesn't apply configuration
+
+ updateFn("daprAddon", v)}
+ label="Install the Dapr AddOn"
+ />
+ updateFn("daprAddonHA", v)}
+ label="Enable high availability mode"
+ />
+
+
+ );
}
diff --git a/helper/src/components/deployTab.js b/helper/src/components/deployTab.js
index 8e64a0978..cd4a06a58 100644
--- a/helper/src/components/deployTab.js
+++ b/helper/src/components/deployTab.js
@@ -88,7 +88,9 @@ export default function DeployTab({ defaults, updateFn, tabValues, invalidArray,
...(addons.csisecret !== "none" && { keyVaultAksCSI: true }),
...(addons.csisecret === 'akvNew' && { keyVaultCreate: true, ...(deploy.kvCertSecretRole && { keyVaultOfficerRolePrincipalId: "$(az ad signed-in-user show --query id --out tsv)"}) }),
...(addons.csisecret !== "none" && addons.keyVaultAksCSIPollInterval !== defaults.addons.keyVaultAksCSIPollInterval && { keyVaultAksCSIPollInterval: addons.keyVaultAksCSIPollInterval }),
- ...(addons.fluxGitOpsAddon !== defaults.addons.fluxGitOpsAddon && { fluxGitOpsAddon: addons.fluxGitOpsAddon})
+ ...(addons.fluxGitOpsAddon !== defaults.addons.fluxGitOpsAddon && { fluxGitOpsAddon: addons.fluxGitOpsAddon}),
+ ...(addons.daprAddon !== defaults.addons.daprAddon && { daprAddon: addons.daprAddon }),
+ ...(addons.daprAddonHA !== defaults.addons.daprAddonHA && { daprAddonHA: addons.daprAddonHA }),
}
const preview_params = {
@@ -516,4 +518,4 @@ az ad sp delete --id $(az ad sp show --id \${rmId[0]} --query id -o tsv)
)
-}
\ No newline at end of file
+}
diff --git a/helper/src/config.json b/helper/src/config.json
index 153776d18..af2163c5f 100644
--- a/helper/src/config.json
+++ b/helper/src/config.json
@@ -50,6 +50,8 @@
"DefenderForContainers" : false
},
"addons": {
+ "daprAddon": false,
+ "daprAddonHA": false,
"fluxGitOpsAddon": false,
"networkPolicy": "none",
"kedaAddon": false,