I am just playing around with Argo CD, To've more idea about GitOps with Argo CD, But I was having some challenges around the Ingress with ERR_TOO_MANY_REDIRECTS, I have to look at the Helm Values from the Github Repository – https://github.com/argoproj/argo-helm and then look more into some issues raised on Github – https://github.com/argoproj/argo-cd/issues/2953 and then I was able to successfully set it up.
How To Install Argo CD With Helm Charts
- Add the Argo CD Helm charts repo
helm repo add argo https://argoproj.github.io/argo-helm
- Then install argocd, You can make use of this custom-override file by only changing the domain url and then the annotations to march your cluster config.
server: ingress: enabled: true annotations: kubernetes.io/ingress.class: nginx kubernetes.io/tls-acme: "true" cert-manager.io/cluster-issuer: letsencrypt cert-manager.io/acme-challenge-type: dns01 cert-manager.io/acme-dns01-provider: cloudflare ingressClassName: "" hosts: - "argo.shehuawwal.com" paths: - / pathType: Prefix tls: - secretName: argo.shehuawwal.com hosts: - argo.shehuawwal.com configs: params: server.insecure: "true"
- You can save the above file as argo-custom-override.yaml.
- Install argo with the override file
helm upgrade --install argocd argo/argo-cd --namespace argocd --create-namespace -f argo-custom-override.yaml
- You can then check to see if all pods are running. As you can see all pods are running below.
$ kubectl -n argocd get pods NAME READY STATUS RESTARTS AGE argocd-application-controller-0 1/1 Running 0 153m argocd-applicationset-controller-7985f946dd-tfbfp 1/1 Running 0 153m argocd-dex-server-5d5846d67d-65p4m 1/1 Running 0 153m argocd-notifications-controller-847cfdc894-68w9r 1/1 Running 0 153m argocd-redis-6fdc6cc966-rnlcx 1/1 Running 0 153m argocd-repo-server-6c49c96879-t789t 1/1 Running 0 153m argocd-server-77d4b76b69-gx2n8 1/1 Running 0 153m
How To View Argo CD Password
To view the argo cd password just run the kubectl command below
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
And access the webui or cli, The Username is admin and the password you view.
That's all.