summaryrefslogtreecommitdiff
path: root/f3s/argocd/Justfile
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-12-30 11:24:31 +0200
committerPaul Buetow <paul@buetow.org>2025-12-30 11:24:31 +0200
commit2a61fbb9dee0ea99b5222be0b7be037325664c80 (patch)
tree576a1f9089187c67bb573bf7e84f43606cbbdb81 /f3s/argocd/Justfile
parent14d6f81d9e10c3271fc6bc690dca71de929ba0c7 (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/Justfile43
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 ""