target-revenue/k8s/railiance/migrate-job.yaml
tegwick 9e4e84f9ee WP-0011: deploy scaffolding for revenue.coulomb.social
Record T01 package (in-repo k8s/railiance, combined /ui + API app,
dedicated CNPG). Add Dockerfile, healthz, migration/bootstrap scripts,
kustomize manifests, ArgoCD Application (in railiance-platform), and
docs/deployment.md. T05 left open for operator DNS/OpenBao/image push.
2026-08-05 16:41:00 +02:00

52 lines
1.5 KiB
YAML

# One-shot migrations Job (WP-0011-T03). Re-run by deleting the Job or
# bumping the name suffix when a new migration ships.
apiVersion: batch/v1
kind: Job
metadata:
name: target-revenue-migrate
namespace: target-revenue
labels:
app.kubernetes.io/name: target-revenue
app.kubernetes.io/component: migrate
annotations:
argocd.argoproj.io/sync-wave: "1"
argocd.argoproj.io/hook: Sync
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
spec:
ttlSecondsAfterFinished: 86400
backoffLimit: 3
template:
metadata:
labels:
app.kubernetes.io/name: target-revenue
app.kubernetes.io/component: migrate
spec:
restartPolicy: OnFailure
securityContext:
runAsNonRoot: true
runAsUser: 10001
fsGroup: 10001
containers:
- name: migrate
image: forgejo.coulomb.social/coulomb/target-revenue:0.1.0
imagePullPolicy: IfNotPresent
env:
- name: TRF_RUN_MIGRATIONS
value: "1"
- name: TRF_DATABASE_URL
valueFrom:
secretKeyRef:
name: target-revenue-runtime
key: TRF_MIGRATE_DATABASE_URL
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi