Set up Argo CD#

Warning

DLS users: Diamond runs a managed ArgoCD (Argus) — do not install your own. See the internal developer guide. This page targets self-hosted, non-DLS clusters only.

Argo CD is the GitOps continuous delivery tool used by the Deploy an IOC with ArgoCD tutorial. Earlier cluster tutorials deploy with plain Helm; ArgoCD adds the GitOps layer on top. This short page installs ArgoCD into the cluster from Set up a Kubernetes Cluster, reaches its web UI, retrieves the admin password and installs the argocd CLI.

Install the Argo CD server#

Install ArgoCD into its own argocd namespace, using the upstream stable install manifest:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

Wait for the pods to come up:

kubectl -n argocd get pods --watch

Reach the web UI#

The ArgoCD server is not exposed outside the cluster by default. Port-forward it to your workstation, then open https://localhost:8081/ in a browser (accept the self-signed certificate):

kubectl port-forward svc/argocd-server -n argocd 8081:443

Retrieve the admin password#

The web UI and the CLI both log in as admin. The initial password is stored in a Kubernetes secret — print it with:

kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 --decode ; echo

Install the argocd CLI#

Finally install the argocd command-line client (used by ec and by Deploy an IOC with ArgoCD):

curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
sudo install -m 555 argocd-linux-amd64 /usr/local/bin/argocd
rm argocd-linux-amd64

With the port-forward running, log in to check everything works:

argocd login localhost:8081

Next steps#

ArgoCD is now installed and reachable. Continue with Deploy an IOC with ArgoCD to put a services repo under GitOps control.