Skip to content
This repository was archived by the owner on Nov 23, 2025. It is now read-only.

Deploy Gateway to Kubernetes #4

Deploy Gateway to Kubernetes

Deploy Gateway to Kubernetes #4

Workflow file for this run

# API_Gateway/.github/workflows/deploy.yml
name: Deploy Gateway to Kubernetes
on:
workflow_run:
# This MUST match the 'name:' of your build.yml file
workflows: ["Build, Test, and Package Gateway"]
types:
- completed
branches:
- 'main'
- 'devOps'
jobs:
deploy:
name: Deploy Gateway to Kubernetes
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
steps:
- name: Get Commit SHA
id: get_sha
run: |
echo "sha=$(echo ${{ github.event.workflow_run.head_sha }} | cut -c1-7)" >> $GITHUB_OUTPUT
# 1. Checkout your new 'k8s-config' repository
- name: Checkout K8s Config Repo
uses: actions/checkout@v4
with:
# This points to your new repo
repository: 'TechTorque-2025/k8s-config'
# This uses the org-level secret you created
token: ${{ secrets.REPO_ACCESS_TOKEN }}
# We'll put the code in a directory named 'config-repo'
path: 'config-repo'
- name: Install kubectl
uses: azure/setup-kubectl@v3
- name: Install yq
run: |
sudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq
sudo chmod +x /usr/bin/yq
- name: Set Kubernetes context
uses: azure/k8s-set-context@v4
with:
kubeconfig: ${{ secrets.KUBE_CONFIG_DATA }} # This uses your Org-level secret
# 2. Update the image tag in the checked-out config repo
- name: Update image tag in YAML
run: |
yq -i '.spec.template.spec.containers[0].image = "ghcr.io/techtorque-2025/api_gateway:${{ steps.get_sha.outputs.sha }}"' config-repo/k8s/services/gateway-deployment.yaml
# 3. Deploy the updated file
- name: Deploy to Kubernetes
run: |
kubectl apply -f config-repo/k8s/services/gateway-deployment.yaml
kubectl rollout status deployment/api-gateway-deployment