rebours/k8s/deployment.yml
2026-04-11 17:42:39 +02:00

145 lines
3.2 KiB
YAML

# --- Astro SSR ---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rebours-ssr
namespace: rebours
labels:
app: rebours-ssr
spec:
replicas: 1
selector:
matchLabels:
app: rebours-ssr
template:
metadata:
labels:
app: rebours-ssr
spec:
imagePullSecrets:
- name: gitea-registry-secret
containers:
- name: rebours-ssr
image: git.arthurbarre.fr/ordinarthur/rebours-ssr:latest
ports:
- containerPort: 4321
envFrom:
- configMapRef:
name: rebours-config
- secretRef:
name: rebours-secrets
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
readinessProbe:
httpGet:
path: /
port: 4321
initialDelaySeconds: 10
periodSeconds: 10
livenessProbe:
httpGet:
path: /
port: 4321
initialDelaySeconds: 15
periodSeconds: 30
---
# --- Fastify API ---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rebours-api
namespace: rebours
labels:
app: rebours-api
spec:
replicas: 1
selector:
matchLabels:
app: rebours-api
template:
metadata:
labels:
app: rebours-api
spec:
imagePullSecrets:
- name: gitea-registry-secret
containers:
- name: rebours-api
image: git.arthurbarre.fr/ordinarthur/rebours-api:latest
ports:
- containerPort: 3000
envFrom:
- configMapRef:
name: rebours-config
- secretRef:
name: rebours-secrets
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "300m"
readinessProbe:
httpGet:
path: /api/health
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /api/health
port: 3000
initialDelaySeconds: 10
periodSeconds: 30
---
# --- Nginx Proxy ---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rebours-proxy
namespace: rebours
labels:
app: rebours-proxy
spec:
replicas: 1
selector:
matchLabels:
app: rebours-proxy
template:
metadata:
labels:
app: rebours-proxy
spec:
containers:
- name: nginx
image: nginx:alpine
ports:
- containerPort: 80
volumeMounts:
- name: proxy-config
mountPath: /etc/nginx/conf.d/default.conf
subPath: proxy.conf
resources:
requests:
memory: "32Mi"
cpu: "25m"
limits:
memory: "64Mi"
cpu: "100m"
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 10
volumes:
- name: proxy-config
configMap:
name: rebours-config