blob: 87534e9eebc3685a456b2226d75ae425a0860d15 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
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
|