Files
aiworker/k8s/backend/deployment.yaml
Hector Ros e5e039504e Rename CLUSTER-READY → K8S-CLUSTER (more direct)
Also added:
- DEVELOPMENT-WORKFLOW.md - Complete dev process documented
- Updated all references across documentation

Documentation is now centralized and direct.

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
2026-01-20 00:44:29 +01:00

92 lines
2.0 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: backend
namespace: control-plane
labels:
app: backend
spec:
replicas: 2
selector:
matchLabels:
app: backend
template:
metadata:
labels:
app: backend
spec:
imagePullSecrets:
- name: gitea-registry
containers:
- name: backend
image: git.fuq.tv/admin/aiworker-backend:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 3000
protocol: TCP
env:
# Database
- name: DB_HOST
value: mariadb.control-plane.svc.cluster.local
- name: DB_PORT
value: "3306"
- name: DB_USER
value: aiworker
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: backend-secrets
key: db-password
- name: DB_NAME
value: aiworker
# Redis
- name: REDIS_HOST
value: redis.control-plane.svc.cluster.local
- name: REDIS_PORT
value: "6379"
# Gitea
- name: GITEA_URL
value: https://git.fuq.tv
- name: GITEA_TOKEN
valueFrom:
secretKeyRef:
name: backend-secrets
key: gitea-token
# Kubernetes
- name: K8S_IN_CLUSTER
value: "true"
# App config
- name: NODE_ENV
value: production
- name: PORT
value: "3000"
resources:
requests:
memory: "256Mi"
cpu: "250m"
limits:
memory: "512Mi"
cpu: "500m"
livenessProbe:
httpGet:
path: /api/health
port: 3000
initialDelaySeconds: 10
periodSeconds: 30
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /api/health
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 3