From f1925c872c496c914da99fcbf3a07c9292e911a7 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 7 Jan 2026 22:41:54 +0200 Subject: Migrate wallabag and keybr to ArgoCD GitOps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added ArgoCD Application manifests for wallabag and keybr - Updated Justfiles to use ArgoCD commands (sync, argocd-status, restart) - Removed Helm commands (install, upgrade, delete) - Tested delete/re-deploy workflow for both apps - All resources sync successfully, zero downtime Apps migrated: 4/23 (17%) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- f3s/keybr/Justfile | 50 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 11 deletions(-) (limited to 'f3s/keybr/Justfile') diff --git a/f3s/keybr/Justfile b/f3s/keybr/Justfile index f34f44f..e2832e9 100644 --- a/f3s/keybr/Justfile +++ b/f3s/keybr/Justfile @@ -1,16 +1,44 @@ NAMESPACE := "services" -RELEASE_NAME := "keybr" -CHART_PATH := "./helm-chart" +APP_NAME := "keybr" -install: - helm install {{RELEASE_NAME}} {{CHART_PATH}} --namespace {{NAMESPACE}} --create-namespace +# Show deployment status +status: + @echo "=== Pods ===" + @kubectl get pods -n {{NAMESPACE}} | grep keybr + @echo "" + @echo "=== Service ===" + @kubectl get svc -n {{NAMESPACE}} keybr-service + @echo "" + @echo "=== Ingress ===" + @kubectl get ingress -n {{NAMESPACE}} keybr-ingress + @echo "" + @echo "=== PVC ===" + @kubectl get pvc -n {{NAMESPACE}} keybr-data-pvc + @echo "" + @echo "=== ArgoCD Status ===" + @kubectl get application {{APP_NAME}} -n cicd -o jsonpath='Sync: {.status.sync.status}, Health: {.status.health.status}' 2>/dev/null && echo "" || echo "Not found" -upgrade: - helm upgrade {{RELEASE_NAME}} {{CHART_PATH}} --namespace {{NAMESPACE}} +# View logs from keybr (default 100 lines) +logs lines="100": + kubectl logs -n {{NAMESPACE}} -l app=keybr --tail={{lines}} -f -delete: - helm uninstall {{RELEASE_NAME}} --namespace {{NAMESPACE}} - kubectl delete pvc keybr-data-pvc -n {{NAMESPACE}} --ignore-not-found - kubectl delete pv keybr-data-pv --ignore-not-found +# Port forward to keybr web UI +port-forward port="3000": + @echo "Forwarding keybr to localhost:{{port}}" + kubectl port-forward -n {{NAMESPACE}} svc/keybr-service {{port}}:3000 -deinstall: delete +# Trigger ArgoCD sync +sync: + @echo "Triggering ArgoCD sync..." + @kubectl annotate application {{APP_NAME}} -n cicd argocd.argoproj.io/refresh=normal --overwrite + @sleep 2 + @kubectl get application {{APP_NAME}} -n cicd -o jsonpath='Sync: {.status.sync.status}, Health: {.status.health.status}' && echo "" + +# Show ArgoCD application details +argocd-status: + argocd app get {{APP_NAME}} --core + +# Restart keybr +restart: + @echo "Restarting keybr..." + kubectl rollout restart -n {{NAMESPACE}} deployment/keybr -- cgit v1.2.3