summaryrefslogtreecommitdiff
path: root/f3s/shuriken/Justfile
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