xpeditis2.0/infra/prod/k8s/base/06-log-exporter.yaml
2026-09-07 21:40:50 +02:00

74 lines
2.0 KiB
YAML

# =============================================================================
# Log exporter -- API interne qui pousse des logs structures vers Loki
# =============================================================================
# Jamais expose par l'Ingress : uniquement joignable depuis le namespace
# (le backend l'appelle via LOG_EXPORTER_URL).
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: xpeditis-log-exporter
namespace: xpeditis-prod
labels:
app.kubernetes.io/name: xpeditis-log-exporter
app.kubernetes.io/component: observability
app.kubernetes.io/part-of: xpeditis
spec:
replicas: 1
revisionHistoryLimit: 3
selector:
matchLabels:
app.kubernetes.io/name: xpeditis-log-exporter
template:
metadata:
labels:
app.kubernetes.io/name: xpeditis-log-exporter
app.kubernetes.io/part-of: xpeditis
spec:
imagePullSecrets:
- name: regcred
securityContext:
runAsNonRoot: true
runAsUser: 1001
runAsGroup: 1001
seccompProfile:
type: RuntimeDefault
containers:
- name: log-exporter
image: rg.fr-par.scw.cloud/weworkstudio/xpeditis-log-exporter:latest
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 3200
env:
- name: PORT
value: "3200"
- name: LOKI_URL
value: "http://loki.monitoring.svc.cluster.local:3100"
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 200m
memory: 192Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
readOnlyRootFilesystem: true
---
apiVersion: v1
kind: Service
metadata:
name: xpeditis-log-exporter
namespace: xpeditis-prod
spec:
type: ClusterIP
selector:
app.kubernetes.io/name: xpeditis-log-exporter
ports:
- name: http
port: 3200
targetPort: http