Files
dickloads/k8s/deployment.yaml
Falkan 337b722cf2 fix: multi-domain CSRF allowlist, trustProxy for nginx-ingress TLS termination
- hooks.server.ts: replace empty stub with multi-origin CSRF guard
  - Always allows humorunits.com and dickloads.com (+ www variants)
  - ALLOWED_ORIGINS env var for additional origins (staging, preview)
  - Dev: localhost:3000/4173/5173 auto-allowed when NODE_ENV != production
    or ALLOWED_ORIGINS is unset — no config needed for local dev
- svelte.config.js: disable built-in single-origin CSRF check (we own it now)
  trustProxy: true so X-Forwarded-Proto/IP are correct behind nginx-ingress
- login route: derive secure-cookie flag from X-Forwarded-Proto header so
  session cookies are marked Secure even when Node sees plain HTTP from ingress
- deployment.yaml: add NODE_ENV=production and explicit ALLOWED_ORIGINS
2026-03-19 13:18:21 -04:00

74 lines
1.8 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: humor-units
labels:
app: humor-units
spec:
replicas: 1
selector:
matchLabels:
app: humor-units
template:
metadata:
labels:
app: humor-units
spec:
containers:
- name: humor-units
image: localhost/humor-units:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000
env:
- name: PORT
value: "3000"
- name: HOST
value: "0.0.0.0"
- name: NODE_ENV
value: "production"
- name: ORIGIN
value: "https://humorunits.com"
- name: ALLOWED_ORIGINS
value: "https://humorunits.com,https://www.humorunits.com,https://dickloads.com,https://www.dickloads.com"
envFrom:
- secretRef:
name: humor-units-secrets # SESSION_SECRET, PASSWORD_HASH
volumeMounts:
- name: data
mountPath: /app/data
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi
readinessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 10
periodSeconds: 30
volumes:
- name: data
persistentVolumeClaim:
claimName: humor-units-data
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: humor-units-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi