// docs / CI/CD / ArgoCD

ArgoCD

ArgoCD deals with continuous delivery, pulling from the homelab repo in Gitea and syncing manifest updates into the cluster.

Useful features:

  • All deployments are driven from Gitea, updating an app means committing changes to its manifest.

  • ArgoCD provides a live dashboard of what’s running, what’s out of sync, and what’s healthy.

Install ArgoCD


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

# set the IP for the load balancer
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer", "loadBalancerIP": "192.168.56.114"}}'
kubectl apply -f argocd/argocd_patch.yaml

Get the admin account password for the UI


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

Install the CLI on your local machine and login


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

argocd login argocd.home.olirowan.local --insecure --username admin

Add the IaC repo and set the ArgoCD namespace


argocd repo add http://gitea.home.olirowan.local/olirowan/homelab-iac.git --insecure-ignore-host-key