@@ -113,24 +113,44 @@ jobs:
113113 admin : " false"
114114 use-kubelogin : " true"
115115
116+ # Checks if the AKS cluster is private
117+ - name : Is private cluster
118+ id : isPrivate
119+ if : ${{ env.CLUSTER_RESOURCE_TYPE != 'Microsoft.ContainerService/fleets' }}
120+ run : |
121+ result=$(az aks show --resource-group ${{ env.CLUSTER_RESOURCE_GROUP }} --name ${{ env.CLUSTER_NAME }} --query "apiServerAccessProfile.enablePrivateCluster")
122+ echo "PRIVATE_CLUSTER=$result" >> "$GITHUB_OUTPUT"
123+
116124 # Create Namespace
117125 - name : Create Namespace
118126 if : ${{ env.ENABLENAMESPACECREATION == 'true' }}
119127 run : |
120- kubectl get namespace ${{ env.NAMESPACE }} || kubectl create namespace ${{ env.NAMESPACE }}
128+ if [ ${{ steps.isPrivate.outputs.PRIVATE_CLUSTER}} == 'true' ]; then
129+ command_id=$(az aks command invoke --resource-group ${{ env.CLUSTER_RESOURCE_GROUP }} --name ${{ env.CLUSTER_NAME }} --command "kubectl get namespace ${{ env.NAMESPACE }} || kubectl create namespace ${{ env.NAMESPACE }}" --query id -o tsv)
130+ result=$(az aks command result --resource-group ${{ env.CLUSTER_RESOURCE_GROUP }} --name ${{ env.CLUSTER_NAME }} --command-id $command_id)
131+ echo "Command Result: $result"
132+ exitCode=$(az aks command result --resource-group ${{ env.CLUSTER_RESOURCE_GROUP }} --name ${{ env.CLUSTER_NAME }} --command-id $command_id --query exitCode -o tsv)
133+ if [ $exitCode -ne 0 ]; then
134+ exit $exitCode
135+ fi
136+ else
137+ kubectl get namespace ${{ env.NAMESPACE }} || kubectl create namespace ${{ env.NAMESPACE }}
138+ fi
121139
122140 # Validate Namespace exists
123141 - name : Validate Namespace Exists
124142 run : |
125- kubectl get namespace ${{ env.NAMESPACE }}
126-
127- # Checks if the AKS cluster is private
128- - name : Is private cluster
129- id : isPrivate
130- if : ${{ env.CLUSTER_RESOURCE_TYPE != 'Microsoft.ContainerService/fleets' }}
131- run : |
132- result=$(az aks show --resource-group ${{ env.CLUSTER_RESOURCE_GROUP }} --name ${{ env.CLUSTER_NAME }} --query "apiServerAccessProfile.enablePrivateCluster")
133- echo "PRIVATE_CLUSTER=$result" >> "$GITHUB_OUTPUT"
143+ if [ ${{ steps.isPrivate.outputs.PRIVATE_CLUSTER}} == 'true' ]; then
144+ command_id=$(az aks command invoke --resource-group ${{ env.CLUSTER_RESOURCE_GROUP }} --name ${{ env.CLUSTER_NAME }} --command "kubectl get namespace ${{ env.NAMESPACE }}" --query id -o tsv)
145+ result=$(az aks command result --resource-group ${{ env.CLUSTER_RESOURCE_GROUP }} --name ${{ env.CLUSTER_NAME }} --command-id $command_id)
146+ echo "Command Result: $result"
147+ exitCode=$(az aks command result --resource-group ${{ env.CLUSTER_RESOURCE_GROUP }} --name ${{ env.CLUSTER_NAME }} --command-id $command_id --query exitCode -o tsv)
148+ if [ $exitCode -ne 0 ]; then
149+ exit $exitCode
150+ fi
151+ else
152+ kubectl get namespace ${{ env.NAMESPACE }}
153+ fi
134154
135155 # Deploys application
136156 - name : Deploy application on private cluster
@@ -140,7 +160,7 @@ jobs:
140160 result=$(az aks command result --resource-group ${{ env.CLUSTER_RESOURCE_GROUP }} --name ${{ env.CLUSTER_NAME }} --command-id $command_id)
141161 echo "Helm upgrade result: $result"
142162 exitCode=$(az aks command result --resource-group ${{ env.CLUSTER_RESOURCE_GROUP }} --name ${{ env.CLUSTER_NAME }} --command-id $command_id --query exitCode -o tsv)
143-
163+
144164 if [ $exitCode -ne 0 ]; then
145165 exit $exitCode
146166 fi
0 commit comments