Skip to content

Commit 440de7e

Browse files
Merge pull request #1 from devwithkrishna/feature/install-nginx
Nginx installation and added automated release creation workflow
2 parents 6b2084c + 2de764c commit 440de7e

File tree

2 files changed

+99
-0
lines changed

2 files changed

+99
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: create release
2+
3+
on:
4+
pull_request:
5+
types:
6+
- closed
7+
branches:
8+
- main
9+
10+
run-name: create release from pr number ${{ github.event.number }}
11+
jobs:
12+
create-release:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
17+
- name: Token generator
18+
uses: githubofkrishnadhas/github-access-using-githubapp@v2
19+
id: token-generation
20+
with:
21+
github_app_id: ${{ secrets.TOKEN_GENERATOR_APPID }}
22+
github_app_private_key: ${{ secrets.TOKEN_GENERATOR_PRIVATE_KEY }}
23+
24+
- name: Checkout Repository
25+
uses: actions/checkout@v4
26+
with:
27+
token: ${{ steps.token-generation.outputs.token }}
28+
29+
- name: create-release
30+
uses: devwithkrishna/[email protected]
31+
with:
32+
token: ${{ steps.token-generation.outputs.token }}
33+
pr_number: ${{ github.event.number }}
34+
generate_release_notes: true
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: deploy ingress nginx controller to aks cluster
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
aks_resource_group_name:
6+
type: string
7+
description: The name of the resource group where the AKS cluster is located
8+
default: "DEVWITHKRISHNA-AKS-RG"
9+
required: true
10+
aks_cluster_name:
11+
type: string
12+
description: The name of the AKS cluster
13+
default: "DEVWITHKRISHNA-NONPROD"
14+
required: true
15+
16+
jobs:
17+
deploy-ingress-nginx-controller:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- name: Checkout source code
22+
uses: actions/checkout@v4
23+
24+
- name: azure login
25+
id: azure-login
26+
uses: azure/login@v1
27+
with:
28+
creds: '{"clientId":"${{ secrets.AZURE_CLIENT_ID }}","clientSecret":"${{ secrets.AZURE_CLIENT_SECRET }}","subscriptionId":"${{ secrets.AZURE_SUBSCRIPTION_ID }}","tenantId":"${{ secrets.AZURE_TENANT_ID }}"}'
29+
30+
- name: Setup kubectl
31+
id: install-kubectl
32+
uses: azure/setup-kubectl@v3
33+
with:
34+
version: "1.28.3"
35+
36+
- name: Setup helm
37+
id: install-helm
38+
uses: azure/[email protected] # default is latest (stable)
39+
40+
- name: Set AKS context
41+
id: set-context
42+
uses: azure/aks-set-context@v3
43+
with:
44+
resource-group: '${{ inputs.aks_resource_group_name }}'
45+
cluster-name: '${{ inputs.aks_cluster_name }}'
46+
47+
- name: Deploy to AKS
48+
id: deploy-ingress
49+
run: |
50+
echo "Current Cluster Name is: $(kubectl config current-context)"
51+
52+
echo "Installing ingress nginx controller using helm..."
53+
54+
helm upgrade --install ingress-nginx ingress-nginx \
55+
--repo https://kubernetes.github.io/ingress-nginx \
56+
--namespace ingress-nginx --create-namespace
57+
58+
sleep 10
59+
60+
echo "Checking ingress pods status"
61+
62+
kubectl wait --namespace ingress-nginx \
63+
--for=condition=ready pod \
64+
--selector=app.kubernetes.io/component=controller \
65+
--timeout=120s

0 commit comments

Comments
 (0)