apiVersion: apps/v1 kind: Deployment metadata: { name: web } spec: replicas: 2 selector: { matchLabels: { app: web } } template: metadata: { labels: { app: web } } spec: containers: - name: web image: rarelens/web ports: [{ containerPort: 3000 }] # Read at runtime ($env/dynamic/public); the ingress routes /api to the API service. env: [{ name: PUBLIC_API_URL, value: /api }] readinessProbe: { httpGet: { path: /, port: 3000 }, periodSeconds: 5 } livenessProbe: { httpGet: { path: /, port: 3000 }, periodSeconds: 10, failureThreshold: 6 } resources: { requests: { cpu: 100m, memory: 128Mi }, limits: { cpu: 500m, memory: 256Mi } } securityContext: { allowPrivilegeEscalation: false } --- apiVersion: v1 kind: Service metadata: { name: web } spec: { selector: { app: web }, ports: [{ port: 80, targetPort: 3000 }] }