Redeploy #9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- main | |
jobs: | |
install-ingress-and-cert-manager: | |
name: Install the ingress and cert-manager resources | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout main | |
uses: actions/checkout@v3 | |
- name: Install doctl | |
uses: digitalocean/action-doctl@v2 | |
with: | |
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }} | |
- name: Save DigitalOcean kubeconfig with short-lived credentials | |
run: doctl kubernetes cluster kubeconfig save --expiry-seconds 600 k8s-daanvm | |
- name: Install helm | |
uses: azure/setup-helm@v3 | |
- name: Set up helm | |
run: | | |
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx | |
helm repo add jetstack https://charts.jetstack.io | |
helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/ | |
helm repo update | |
- name: Install metrics-server with helm | |
run: helm upgrade --install metrics-server metrics-server/metrics-server | |
- name: Install Nginx ingress with helm | |
run: helm upgrade --install nginx-ingress ingress-nginx/ingress-nginx --set controller.publishService.enabled=true | |
- name: Install cert manager with helm | |
run: | | |
kubectl create namespace cert-manager --dry-run=client -o yaml | kubectl apply -f - | |
helm upgrade --install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.7.1 --set installCRDs=true | |
kubectl apply -f cert-manager-letsencrypt.yaml | |
- name: Create kubernetes ingress | |
run: | | |
kubectl apply -f ingress.yaml | |
- name: Get public loadbalancer IP address | |
run: kubectl get service nginx-ingress-ingress-nginx-controller -o=jsonpath='{.status.loadBalancer.ingress[*].ip}' |