diff options
| author | Paul Buetow <paul@buetow.org> | 2025-12-30 11:24:31 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-12-30 11:24:31 +0200 |
| commit | 2a61fbb9dee0ea99b5222be0b7be037325664c80 (patch) | |
| tree | 576a1f9089187c67bb573bf7e84f43606cbbdb81 /f3s/argocd/Justfile | |
| parent | 14d6f81d9e10c3271fc6bc690dca71de929ba0c7 (diff) | |
Add ArgoCD deployment to cicd namespace
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 <noreply@anthropic.com>
Diffstat (limited to 'f3s/argocd/Justfile')
| -rw-r--r-- | f3s/argocd/Justfile | 43 |
1 files changed, 43 insertions, 0 deletions
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 "" |
