45 lines
1.3 KiB
YAML
45 lines
1.3 KiB
YAML
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: wrnexus
|
|
spec:
|
|
selector: { app: wrnexus }
|
|
ports: [{ name: http, port: 80, targetPort: 3000 }]
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: wrnexus
|
|
spec:
|
|
replicas: 2
|
|
selector: { matchLabels: { app: wrnexus } }
|
|
template:
|
|
metadata: { labels: { app: wrnexus } }
|
|
spec:
|
|
containers:
|
|
- name: app
|
|
image: ghcr.io/OWNER/APP:latest
|
|
ports: [{ containerPort: 3000 }]
|
|
envFrom: [{ secretRef: { name: wrnexus-secrets } }]
|
|
livenessProbe: { httpGet: { path: /healthz, port: 3000 }, initialDelaySeconds: 5 }
|
|
readinessProbe: { httpGet: { path: /readyz, port: 3000 }, initialDelaySeconds: 5 }
|
|
resources:
|
|
requests: { cpu: 250m, memory: 256Mi }
|
|
limits: { cpu: "1", memory: 512Mi }
|
|
lifecycle: { preStop: { exec: { command: ["sh", "-c", "sleep 5"] } } }
|
|
terminationGracePeriodSeconds: 30
|
|
---
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: wrnexus-migrate
|
|
spec:
|
|
template:
|
|
spec:
|
|
restartPolicy: Never
|
|
containers:
|
|
- name: migrate
|
|
image: ghcr.io/OWNER/APP:latest
|
|
command: ["bunx", "wrnexus", "db", "migrate", "--profile=production"]
|
|
envFrom: [{ secretRef: { name: wrnexus-secrets } }]
|