All manifests now use git.guildhouse.dev/guildhouse/substrate/<component>:v0.2.0 instead of git.guildhouse.dev/tking/<component>:v0.1.0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Tyler J King <tking@guildhouse.dev>
66 lines
2.2 KiB
YAML
66 lines
2.2 KiB
YAML
# Guildhall DB migration Job.
|
|
#
|
|
# Runs `Guildhall.OpsDb.Release.migrate/0` via the compiled release's
|
|
# `bin/guildhall eval` entry point. Intended to be applied ONCE per
|
|
# image-tag deploy, BEFORE the guildhall Deployment is created or
|
|
# rolled. Running migrations from within the app pods on startup
|
|
# would race across replicas and is explicitly avoided.
|
|
#
|
|
# The Job name includes the image tag so multiple deploys across tags
|
|
# can coexist in history (Kubernetes Jobs with the same name cannot
|
|
# be re-run without deletion). For deploy N+1, either:
|
|
# kubectl delete job guildhall-migrate-v0-1-0 -n guildhall
|
|
# kubectl apply -f 60-migration-job.yaml # update the name first
|
|
# or use `kubectl create job <new-name> --from=...` with a fresh name.
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: guildhall-migrate-v0-1-0
|
|
namespace: guildhall
|
|
labels:
|
|
app.kubernetes.io/name: guildhall
|
|
app.kubernetes.io/part-of: guildhouse
|
|
app.kubernetes.io/component: migration
|
|
app.kubernetes.io/managed-by: manual
|
|
app.kubernetes.io/version: v0.1.0
|
|
spec:
|
|
backoffLimit: 3
|
|
ttlSecondsAfterFinished: 86400
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: guildhall-migrate
|
|
app.kubernetes.io/name: guildhall
|
|
app.kubernetes.io/part-of: guildhouse
|
|
app.kubernetes.io/component: migration
|
|
spec:
|
|
restartPolicy: OnFailure
|
|
imagePullSecrets:
|
|
- name: guildhall-registry
|
|
containers:
|
|
- name: migrate
|
|
image: git.guildhouse.dev/guildhouse/substrate/guildhall:v0.2.0
|
|
imagePullPolicy: IfNotPresent
|
|
command:
|
|
- /app/bin/guildhall
|
|
- eval
|
|
- "Guildhall.OpsDb.Release.migrate()"
|
|
env:
|
|
- name: DATABASE_URL
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: guildhall-app-secrets
|
|
key: DATABASE_URL
|
|
- name: SECRET_KEY_BASE
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: guildhall-app-secrets
|
|
key: SECRET_KEY_BASE
|
|
- name: POOL_SIZE
|
|
value: "2"
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 256Mi
|
|
limits:
|
|
memory: 512Mi
|