diff --git a/.gitignore b/.gitignore
index 9c52e32e7795c2781e023c05c4ce8f989384c05f..da93b46aa9128ef5613f179a7e338a026a1f9100 100644
--- a/.gitignore
+++ b/.gitignore
@@ -375,3 +375,4 @@ build/
 # Dep files
 *.toml
 *.lock
+.aider*
diff --git a/infra/scripts/common_prepare.sh b/infra/scripts/common_prepare.sh
old mode 100644
new mode 100755
index 8550d1b3ac2346e4a55d30e3c58ba8343d4fb5f5..a5d1e7610049d2dca842156b62b5081795563922
--- a/infra/scripts/common_prepare.sh
+++ b/infra/scripts/common_prepare.sh
@@ -70,10 +70,13 @@ if [ -z $AZURE_AKS_USER ]; then
 fi
 
 
-
-
 ###############################
-## FUNCTIONS                 ##
+## WSL DETECTION             ##
+###############################
+if [ -f /proc/version ] && grep -qi microsoft /proc/version; then
+  export MSYS_NO_PATHCONV=1
+fi
+
 ###############################
 function CreateResourceGroup() {
   # Required Argument $1 = RESOURCE_GROUP
@@ -102,6 +105,7 @@ function CreateResourceGroup() {
       tput setaf 3;  echo "Resource Group $1 already exists."; tput sgr0
     fi
 }
+
 function CreateTfPrincipal() {
     # Required Argument $1 = PRINCIPAL_NAME
     # Required Argument $2 = VAULT_NAME
@@ -116,7 +120,7 @@ function CreateTfPrincipal() {
     if [ "$_result"  == "" ]
     then
 
-      PRINCIPAL_SECRET=$(az ad sp create-for-rbac \
+      PRINCIPAL_SECRET=$(MSYS_NO_PATHCONV=1 az ad sp create-for-rbac \
         --name $1 \
         --role owner \
         --scopes /subscriptions/${ARM_SUBSCRIPTION_ID} \
@@ -138,7 +142,7 @@ function CreateTfPrincipal() {
         --api $MS_GRAPH_API_GUID \
         --api-permissions $OWNED_BY_GUID=Role \
         -ojsonc)
-      
+
       # MS Graph API Directory.Read.All
       PERMISSION_2=$(az ad app permission add \
         --id $PRINCIPAL_ID \
@@ -160,6 +164,7 @@ function CreateTfPrincipal() {
         tput setaf 3;  echo "Service Principal $1 already exists."; tput sgr0
     fi
 }
+
 function CreatePrincipal() {
     # Required Argument $1 = PRINCIPAL_NAME
     # Required Argument $2 = VAULT_NAME
@@ -173,49 +178,47 @@ function CreatePrincipal() {
     local _result=$(az ad sp list --display-name $1 --query [].appId -otsv)
     if [ "$_result"  == "" ]
     then
-
-      PRINCIPAL_SECRET=$(az ad sp create-for-rbac \
-        --name $1 \
-        --skip-assignment \
-        --role owner \
-        --scopes /subscriptions/${ARM_SUBSCRIPTION_ID} \
-        --query password -otsv)
-
-      PRINCIPAL_ID=$(az ad sp list \
-        --display-name $1 \
-        --query [].appId -otsv)
-
-      PRINCIPAL_OID=$(az ad sp list \
-        --display-name $1 \
-        --query [].id -otsv)
-
-      MS_GRAPH_API_GUID="00000003-0000-0000-c000-000000000000"
-      AZURE_STORAGE_API_GUID="e406a681-f3d4-42a8-90b6-c2b029497af1"
-
-
-      # MS Graph API Directory.Read.All
-      PERMISSION_1=$(az ad app permission add \
-        --id $PRINCIPAL_ID \
-        --api $MS_GRAPH_API_GUID \
-        --api-permissions 7ab1d382-f21e-4acd-a863-ba3e13f7da61=Role \
-        -ojsonc)
-
-       # AzureStorage API user_impersonation scope
+        PRINCIPAL_SECRET=$(az ad sp create-for-rbac \
+            --name $1 \
+            --role owner \
+            --scopes /subscriptions/${ARM_SUBSCRIPTION_ID} \
+            --query password -otsv)
+
+        PRINCIPAL_ID=$(az ad sp list \
+            --display-name $1 \
+            --query [].appId -otsv)
+
+        PRINCIPAL_OID=$(az ad sp list \
+            --display-name $1 \
+            --query [].id -otsv)
+
+        MS_GRAPH_API_GUID="00000003-0000-0000-c000-000000000000"
+        AZURE_STORAGE_API_GUID="e406a681-f3d4-42a8-90b6-c2b029497af1"
+
+        # MS Graph API Directory.Read.All
+        PERMISSION_1=$(az ad app permission add \
+            --id $PRINCIPAL_ID \
+            --api $MS_GRAPH_API_GUID \
+            --api-permissions 7ab1d382-f21e-4acd-a863-ba3e13f7da61=Role \
+            -ojsonc)
+
+         # AzureStorage API user_impersonation scope
         PERMISSION_2=$(az ad app permission add \
                 --id $PRINCIPAL_ID \
                 --api $AZURE_STORAGE_API_GUID \
                 --api-permissions 03e0da56-190b-40ad-a80c-ea378c433f7f=Scope \
                 -ojsonc)
 
-      tput setaf 2; echo "Adding Information to Vault..." ; tput sgr0
-      AddKeyToVault $2 "${1}-id" $PRINCIPAL_ID
-      AddKeyToVault $2 "${1}-key" $PRINCIPAL_SECRET
-      AddKeyToVault $2 "${1}-oid" $PRINCIPAL_OID
+        tput setaf 2; echo "Adding Information to Vault..." ; tput sgr0
+        AddKeyToVault $2 "${1}-id" $PRINCIPAL_ID
+        AddKeyToVault $2 "${1}-key" $PRINCIPAL_SECRET
+        AddKeyToVault $2 "${1}-oid" $PRINCIPAL_OID
 
     else
         tput setaf 3;  echo "Service Principal $1 already exists."; tput sgr0
     fi
 }
+
 function CreateADApplication() {
     # Required Argument $1 = APPLICATION_NAME
     # Required Argument $2 = VAULT_NAME
@@ -228,29 +231,28 @@ function CreateADApplication() {
     local _result=$(az ad sp list --display-name $1 --query [].appId -otsv)
     if [ "$_result"  == "" ]
     then
+        APP_SECRET=$(MSYS_NO_PATHCONV=1 az ad sp create-for-rbac \
+            --name $1 \
+            --query password -otsv)
 
-      APP_SECRET=$(az ad sp create-for-rbac \
-        --name $1 \
-        --skip-assignment \
-        --query password -otsv)
-
-      APP_ID=$(az ad sp list \
-        --display-name $1 \
-        --query [].appId -otsv)
+        APP_ID=$(az ad sp list \
+            --display-name $1 \
+            --query [].appId -otsv)
 
-      APP_OID=$(az ad sp list \
-        --display-name $1 \
-        --query [].id -otsv)
+        APP_OID=$(az ad sp list \
+            --display-name $1 \
+            --query [].id -otsv)
 
-      tput setaf 2; echo "Adding AD Application to Vault..." ; tput sgr0
-      AddKeyToVault $2 "${1}-clientid" $APP_ID
-      AddKeyToVault $2 "${1}-secret" $APP_SECRET
-      AddKeyToVault $2 "${1}-oid" $APP_OID
+        tput setaf 2; echo "Adding AD Application to Vault..." ; tput sgr0
+        AddKeyToVault $2 "${1}-clientid" $APP_ID
+        AddKeyToVault $2 "${1}-secret" $APP_SECRET
+        AddKeyToVault $2 "${1}-oid" $APP_OID
 
     else
         tput setaf 3;  echo "AD Application $1 already exists."; tput sgr0
     fi
 }
+
 function CreateSSHKeysPassphrase() {
   # Required Argument $1 = SSH_USER
   # Required Argument $2 = KEY_NAME
@@ -292,6 +294,7 @@ function CreateSSHKeysPassphrase() {
   AddKeyToVault $AZURE_VAULT "${2}-pub" "~/.ssh/osdu_${UNIQUE}/${2}.pub" "file"
   AddKeyToVault $AZURE_VAULT "${2}-passphrase" $PASSPHRASE
 }
+
 function CreateSSHKeys() {
   # Required Argument $1 = SSH_USER
   # Required Argument $2 = KEY_NAME
@@ -351,11 +354,12 @@ function CreateKeyVault() {
   local _vault=$(az keyvault list --resource-group $2 --query [].name -otsv 2>/dev/null)
   if [ "$_vault"  == "" ]
     then
-      OUTPUT=$(az keyvault create --name $1 --resource-group $2 --location $3 --enable-purge-protection true --query [].name -otsv)
+      OUTPUT=$(az keyvault create --name $1 --resource-group $2 --location $3 --query [].name -otsv)
     else
       tput setaf 3;  echo "Key Vault $1 already exists."; tput sgr0
     fi
 }
+
 function CreateStorageAccount() {
   # Required Argument $1 = STORAGE_ACCOUNT
   # Required Argument $2 = RESOURCE_GROUP
@@ -389,6 +393,7 @@ function CreateStorageAccount() {
         tput setaf 3;  echo "Storage Account $1 already exists."; tput sgr0
       fi
 }
+
 function GetStorageAccountKey() {
   # Required Argument $1 = STORAGE_ACCOUNT
   # Required Argument $2 = RESOURCE_GROUP
@@ -409,6 +414,7 @@ function GetStorageAccountKey() {
     --output tsv)
   echo ${_result}
 }
+
 function CreateBlobContainer() {
   # Required Argument $1 = CONTAINER_NAME
   # Required Argument $2 = STORAGE_ACCOUNT
@@ -445,6 +451,7 @@ function CreateBlobContainer() {
         tput setaf 3;  echo "Storage Container $1 already exists."; tput sgr0
       fi
 }
+
 function AddKeyToVault() {
   # Required Argument $1 = KEY_VAULT
   # Required Argument $2 = SECRET_NAME
diff --git a/infra/scripts/keda_upgrade_and_host_encryption.sh b/infra/scripts/keda_upgrade_and_host_encryption.sh
old mode 100644
new mode 100755