NAMESPACE := "services" APP_NAME := "shuriken" build: just -f docker-image/Justfile build push: just -f docker-image/Justfile push build-push: build push status: @echo "=== CronJob ===" @kubectl get cronjob -n {{NAMESPACE}} shuriken @echo "" @echo "=== Recent Jobs ===" @kubectl get jobs -n {{NAMESPACE}} -l job-name | head -5 2>/dev/null || \ kubectl get jobs -n {{NAMESPACE}} | grep shuriken | head -5 @echo "" @echo "=== PVC ===" @kubectl get pvc -n {{NAMESPACE}} shuriken-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" logs lines="100": kubectl logs -n {{NAMESPACE}} -l job-name=shuriken --tail={{lines}} -f 2>/dev/null || \ kubectl logs -n {{NAMESPACE}} -l cronjob=shuriken --tail={{lines}} -f 2>/dev/null || \ echo "No running shuriken job pods; trigger one with: kubectl create job --from=cronjob/shuriken -n services shuriken-manual" # Trigger an immediate manual run (outside the daily schedule) and follow logs. run: kubectl create job --from=cronjob/shuriken -n {{NAMESPACE}} shuriken-manual @sleep 3 just logs 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 "" argocd-status: argocd app get {{APP_NAME}} --core