Files
pad/deploy/k8s/deployment.yaml
T
xarmian af2755d5af docs: add deployment documentation, Docker Compose, and K8s manifests
Provide production-ready deployment configurations:
- docker-compose.yml: Pad + PostgreSQL + Redis single-command setup
- docker-compose.prod.yml: production overlay with resource limits
- deploy/k8s/: Kubernetes manifests (deployment, service, ingress, HPA)
- deploy/Caddyfile: Caddy reverse proxy with auto-TLS
- deploy/nginx.conf: nginx config with SSE-friendly proxy settings
- docs/deployment.md: environment variable reference, architecture
  diagram, quick start, production checklist
2026-04-06 01:58:04 +00:00

61 lines
1.4 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: pad
namespace: pad
labels:
app: pad
spec:
replicas: 2
selector:
matchLabels:
app: pad
template:
metadata:
labels:
app: pad
spec:
containers:
- name: pad
image: ghcr.io/xarmian/pad:latest
ports:
- containerPort: 7777
name: http
envFrom:
- configMapRef:
name: pad-config
- secretRef:
name: pad-secret
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: "1"
memory: 512Mi
readinessProbe:
httpGet:
path: /api/v1/health
port: http
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 3
livenessProbe:
httpGet:
path: /api/v1/health
port: http
initialDelaySeconds: 15
periodSeconds: 30
timeoutSeconds: 5
failureThreshold: 3
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
emptyDir: {}
# For SQLite mode, use a PersistentVolumeClaim instead:
# persistentVolumeClaim:
# claimName: pad-data