audit-core/deploy/migrate-job.yaml
tegwick 74575c4f32
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Stand up railiance01 receiver without founder bao kv put
Database leases come from ClusterSecretStore openbao-audit-core-database
(one extract, one lease). Senders are minted in-cluster. Secret mounts
use fsGroup 10001. Schema 0001-0004 applied after dropping the isolation
stub events table. /readyz reports custody_class=archive.
2026-08-13 10:27:13 +02:00

68 lines
2 KiB
YAML

# One-shot schema apply (AUDIT-WP-0005-T02).
#
# Uses the migration lease, not the runtime lease. The runtime Deployment
# sets AUDIT_CORE_AUTO_MIGRATE=0 so a leaked app credential cannot change
# the schema. Re-apply after deleting the previous Job when a new migration
# ships (Jobs are immutable).
#
# Image digest must match deploy/audit-core.yaml.
---
apiVersion: batch/v1
kind: Job
metadata:
name: audit-core-migrate
namespace: audit-core
labels:
app.kubernetes.io/name: audit-core
app.kubernetes.io/component: migrate
spec:
backoffLimit: 6
ttlSecondsAfterFinished: 86400
template:
metadata:
labels:
app.kubernetes.io/name: audit-core
app.kubernetes.io/component: migrate
spec:
restartPolicy: OnFailure
securityContext:
runAsNonRoot: true
runAsUser: 10001
fsGroup: 10001
seccompProfile:
type: RuntimeDefault
containers:
- name: migrate
image: forgejo.coulomb.social/coulomb/audit-core@sha256:41493cd5bbd86a3309af07b1a97d41343b91d758a300ad39d71e4a18c17de7cc
imagePullPolicy: IfNotPresent
command: ["python", "-m", "audit_core", "migrate"]
env:
- name: AUDIT_CORE_CREDENTIAL_DIR
value: /etc/audit-core/db
- name: AUDIT_CORE_DATABASE_SCHEMA
value: audit_core
resources:
requests:
cpu: 25m
memory: 64Mi
limits:
cpu: 250m
memory: 128Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
readOnlyRootFilesystem: true
volumeMounts:
- name: tmp
mountPath: /tmp
- name: database-credential
mountPath: /etc/audit-core/db
readOnly: true
volumes:
- name: tmp
emptyDir: {}
- name: database-credential
secret:
secretName: audit-core-database-migrate
defaultMode: 0440