Skip to content

Commit 614cb52

Browse files
committed
Refactor Azure deployment workflow to streamline AKS context setup and improve resource provisioning
1 parent 6a59979 commit 614cb52

File tree

2 files changed

+33
-9
lines changed

2 files changed

+33
-9
lines changed

.github/workflows/terraform-infra-apply.yaml

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ jobs:
1717
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
1818
ARM_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
1919

20-
2120
steps:
2221
- name: Checkout code
2322
uses: actions/checkout@v3
@@ -33,17 +32,14 @@ jobs:
3332
uses: azure/login@v1
3433
with:
3534
creds: ${{ secrets.AZURE_CREDENTIALS }}
36-
# client-id: ${{ secrets.AZURE_CLIENT_ID }}
37-
# tenant-id: ${{ secrets.AZURE_TENANT_ID }}
38-
# subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
35+
3936
- name: Show current subscription
4037
run: az account show --output json
4138

4239
- name: Register Microsoft.Storage provider
43-
run: |
44-
az provider register --namespace Microsoft.Storage
40+
run: az provider register --namespace Microsoft.Storage
4541

46-
- name: Povision backend resources
42+
- name: Provision backend resources
4743
run: |
4844
az group create --name "ecommerce-qa-rg" --location "centralus" || true
4945
az storage account create --name "qatfstateaccount" --resource-group "ecommerce-qa-rg" --location "centralus" --sku Standard_LRS || true
@@ -64,6 +60,29 @@ jobs:
6460
run: terraform apply -auto-approve -var-file="terraform.tfvars"
6561
working-directory: terraform/environments/${{ steps.env.outputs.env_name }}
6662

63+
- name: Extract AKS info from Terraform outputs
64+
id: aks
65+
run: |
66+
echo "cluster_name=$(terraform output -raw cluster_name)" >> $GITHUB_OUTPUT
67+
echo "resource_group=$(terraform output -raw resource_group_name)" >> $GITHUB_OUTPUT
68+
working-directory: terraform/environments/${{ steps.env.outputs.env_name }}
69+
70+
- name: Set AKS context
71+
uses: azure/aks-set-context@v3
72+
with:
73+
resource-group: ${{ steps.aks.outputs.resource_group }}
74+
cluster-name: ${{ steps.aks.outputs.cluster_name }}
75+
76+
- name: Create GHCR image pull secret
77+
run: |
78+
kubectl get secret ghcr-secret --namespace=default || \
79+
kubectl create secret docker-registry ghcr-secret \
80+
--docker-server=ghcr.io \
81+
--docker-username=${{ secrets.GHCR_USERNAME }} \
82+
--docker-password=${{ secrets.AKS_GHCR_PAT }} \
83+
84+
--namespace=default
85+
6786
- name: Delete apply branch
6887
if: startsWith(github.ref, 'refs/heads/apply/')
6988
env:
@@ -73,4 +92,4 @@ jobs:
7392
echo "Deleting branch: $BRANCH_NAME"
7493
gh api \
7594
-X DELETE \
76-
/repos/${{ github.repository }}/git/refs/heads/$BRANCH_NAME
95+
/repos/${{ github.repository }}/git/refs/heads/$BRANCH_NAME

terraform/modules/aks/outputs.tf

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,9 @@ output "kube_config" {
1010
client_key = azurerm_kubernetes_cluster.this.kube_config[0].client_key
1111
cluster_ca_certificate = azurerm_kubernetes_cluster.this.kube_config[0].cluster_ca_certificate
1212
}
13-
}
13+
}
14+
15+
output "resource_group_name" {
16+
description = "The resource group where AKS is deployed"
17+
value = azurerm_kubernetes_cluster.this.resource_group_name
18+
}

0 commit comments

Comments
 (0)