[Solution] How to Deploy Argo CD Dashboard over Nginx Ingress-Controller

Arnav Tripathy
2 min readMar 1, 2022
Argo CD

Argo CD is a particularly famous tool used in Git Ops in tandem with Kubernetes deployments for CI/CD pipelines. It has a dashboard enabled which normally an administrator would have to port forward to login. In an enterprise, it’s always better to have a dashboard with a domain name for it’s name so as for easier understanding . Ordinarily , this would have been easy to configure by setting up an ingress service for the dashboard but I found it very hard to configure for Argo CD due to the self SSL termination . Add to it , the Argo CD docs weren’t very helpful in solving the problem and had to rely on a lot of hit and trial methods to get it up . Thankfully , I was able to get it up and running and as I understand many administrators are facing issue with the SSL redirects of the service so I thought of putting together this article so as to help the community . Please note that I have not deployed the ingress with SSL here so if you’re looking for a solution with SSL then this is probably not the right place. Now the steps you need to configure are:-

  • First edit the argocd-server deployment to add the insecure flag to enable http connections . You need to make the change as shown in the below image
Deployment change to add insecure flag
  • Next make the change in nginx ingress controller deployment to add the enable-ssl-passthrough flag as shown below
Added the additional enable-ssl-passthrough flag
  • Use the below deployment file to deploy the Argo CD ingress :
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd-ingress
namespace: argocd
annotations:
kubernetes.io/ingress.class: "nginx"
alb.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
spec:
rules:
- http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: argocd-server
port:
name: http
host: argo.org.local

The above steps should deploy and you should be able to access Argo CD dashboard on the specified domain.

Hope this helps to fellow devops engineers struggling to deploy Argo CD dashboard on ingress!

--

--

Arnav Tripathy

Feline powered security engineer . Follow me for a wide variety of topics in the field of cyber security and dev(sec)ops. Travelling and Tennis❤️🎾🐈‍⬛.