feat(hasura): add bootstrap job (track tables/functions)

This commit is contained in:
u1
2026-01-06 00:19:10 +00:00
parent 3f40e370a5
commit 66b300f638

View File

@@ -0,0 +1,51 @@
apiVersion: batch/v1
kind: Job
metadata:
name: hasura-bootstrap
annotations:
argocd.argoproj.io/sync-wave: "2"
spec:
backoffLimit: 5
template:
spec:
restartPolicy: OnFailure
initContainers:
- name: wait-db
image: postgres:16
imagePullPolicy: IfNotPresent
envFrom:
- secretRef:
name: trade-postgres
command:
- sh
- -ec
- |
export PGPASSWORD="$POSTGRES_PASSWORD"
until pg_isready -h postgres -U "$POSTGRES_USER" -d "$POSTGRES_DB"; do sleep 1; done
until psql -h postgres -U "$POSTGRES_USER" -d "$POSTGRES_DB" -v ON_ERROR_STOP=1 -c "select 1 from public.drift_ticks limit 1" >/dev/null 2>&1; do sleep 1; done
containers:
- name: hasura-bootstrap
image: node:20-slim
imagePullPolicy: IfNotPresent
env:
- name: HASURA_URL
value: http://hasura:8080
- name: HASURA_ADMIN_SECRET
valueFrom:
secretKeyRef:
name: trade-hasura
key: HASURA_GRAPHQL_ADMIN_SECRET
- name: TICKS_TABLE
value: drift_ticks
- name: CANDLES_FUNCTION
value: get_drift_candles
command: ["node", "/app/hasura-bootstrap.mjs"]
volumeMounts:
- name: script
mountPath: /app/hasura-bootstrap.mjs
subPath: hasura-bootstrap.mjs
readOnly: true
volumes:
- name: script
configMap:
name: hasura-bootstrap-script