Well, I'm not about to do manual installs for everything, and I like to automate and keep thing up to date as much as possible. So first thing is to install argocd. I'm following this tutorial and this is the first step I performed after I finished configuring Talos.

All works from the machine where we have access to the cluster.

Note: I'll assume the files and environment variables from the "When finished" section are still valid.

Installing argocd

First add the helm repo:

helm repo add argo https://argoproj.github.io/argo-helm

Then create the argocd namespace:

kubectl create namespace argocd

You should have something like:

Monitor creation

You can monitor the status of deployment via:

kubectl -n argocd get pods -o wide -w

All is OK

All is OK when the Status for all pods is Running. You can go to the next phase 😄

Access the UI

Get the admin password

When argocd finishes installing, it'll display a readme of what to do next. Instructions to get the admin password are there too. For mine, the command is:

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

xposing ports

For the quick intro, we expose the argocd port in a dynamic manner with the following process:

  1. Edit the server port type with kubectl edit svc argocd-server -n argocd
  2. Change the line type: ClusterIP  to type: NodePort

This will then expose the service's port as a random(?) free port. In my case, I got:

kubectl -n argocd get svc                                                                                                                                  

NAME                               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE                                              argocd-applicationset-controller   ClusterIP   10.98.154.4             7000/TCP                     19m                                                    argocd-dex-server                  ClusterIP   10.97.193.219           5556/TCP,5557/TCP            19m                                                    argocd-redis                       ClusterIP   10.109.98.143           6379/TCP                     19m                                                    argocd-repo-server                 ClusterIP   10.96.237.67            8081/TCP                     19m                                                    argocd-server                      NodePort    10.103.87.115           80:30314/TCP,443:31641/TCP   19m

I can access then the argocd server with https://MAIN_CLUSTER_IP:30314 (... remember the MAIN_CLUSTER_IP from Configure Talos linux?)

HTH,