From 2a61fbb9dee0ea99b5222be0b7be037325664c80 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 30 Dec 2025 11:24:31 +0200 Subject: Add ArgoCD deployment to cicd namespace MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deploy ArgoCD v3.2.3 for GitOps continuous delivery in the k3s cluster. Configuration: - New cicd namespace for CI/CD tooling - Non-HA single instance deployment (following cluster patterns) - Traefik ingress at argocd.f3s.buetow.org - Prometheus ServiceMonitor integration for metrics - 10Gi persistent volume for repo-server cache - Insecure mode with TLS termination at proxy Components deployed: - argocd-server (Web UI and API) - argocd-repo-server (Repository management) - argocd-application-controller (Application sync) - argocd-redis (State cache) - argocd-applicationset-controller (Multi-app management) Also adds argocd.f3s.buetow.org to frontends Rexfile for relayd proxy configuration. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- f3s/argocd/Justfile | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 f3s/argocd/Justfile (limited to 'f3s/argocd/Justfile') diff --git a/f3s/argocd/Justfile b/f3s/argocd/Justfile new file mode 100644 index 0000000..6aa7b76 --- /dev/null +++ b/f3s/argocd/Justfile @@ -0,0 +1,43 @@ +# ArgoCD deployment automation +# Deploys ArgoCD to the 'cicd' namespace following f3s cluster patterns + +NAMESPACE := "cicd" +RELEASE_NAME := "argocd" + +install: + helm repo add argo https://argoproj.github.io/argo-helm || true + helm repo update + kubectl create namespace {{NAMESPACE}} || true + kubectl apply -f persistent-volumes.yaml + helm install {{RELEASE_NAME}} argo/argo-cd --namespace {{NAMESPACE}} -f values.yaml + @echo "Waiting for ArgoCD to be ready..." + @sleep 10 + kubectl apply -f ingress.yaml + @echo "" + @echo "ArgoCD deployed successfully!" + @echo "Access UI at: http://argocd.f3s.buetow.org" + @echo "" + @echo "Get initial admin password with:" + @echo "kubectl -n {{NAMESPACE}} get secret argocd-initial-admin-secret -o jsonpath=\"{.data.password}\" | base64 -d" + +upgrade: + helm upgrade {{RELEASE_NAME}} argo/argo-cd --namespace {{NAMESPACE}} -f values.yaml + kubectl apply -f ingress.yaml + +uninstall: + kubectl delete -f ingress.yaml || true + helm uninstall {{RELEASE_NAME}} --namespace {{NAMESPACE}} || true + kubectl delete -f persistent-volumes.yaml || true + +status: + kubectl get pods -n {{NAMESPACE}} -l app.kubernetes.io/name=argocd-server + kubectl get svc -n {{NAMESPACE}} -l app.kubernetes.io/name=argocd-server + kubectl get ingress -n {{NAMESPACE}} argocd-server-ingress + kubectl get pvc -n {{NAMESPACE}} argocd-repo-server-pvc + +logs: + kubectl logs -n {{NAMESPACE}} -l app.kubernetes.io/name=argocd-server --tail=100 -f + +get-password: + @kubectl -n {{NAMESPACE}} get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d + @echo "" -- cgit v1.2.3