Funk-lab/k8s/apps/stt/deployment.yaml
ALI YESILKAYA 1986ab56d8
feat(stt): mémoire long-terme sémantique via Qdrant (5b) (#10)
Serveur : longterm.py — collection Qdrant stt-memory (embeddings Qwen3 gpu-01, dim auto,
Cosine), recall top-k injecté au prompt, remember des tours user. Tout dégrade proprement
si Qdrant/embeddings injoignables (la mémoire court-terme tient). Env STT_MEMORY_LONGTERM,
STT_QDRANT_URL, STT_EMBED_URL, STT_MEMORY_TOPK.

Testé en process : dégradation OK (Qdrant down → mem=0, pas de crash, court-terme tient).
Qdrant réparé le 17/06 (5c). Recherche sémantique réelle à valider sur cluster.


Claude-Session: https://claude.ai/code/session_013FmcxGsyXZXogiAHQLjnZT

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-17 16:52:33 +02:00

69 lines
2.1 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: stt-server
namespace: ai
spec:
replicas: 1
selector:
matchLabels:
app: stt-server
template:
metadata:
labels:
app: stt-server
spec:
# Image privée sur ghcr → secret de pull créé manuellement dans le ns ai
# (cf. README : kubectl create secret docker-registry ghcr-pull ...)
imagePullSecrets:
- name: ghcr-pull
# Conformité PodSecurity "restricted" (namespace ai)
securityContext:
runAsNonRoot: true
runAsUser: 1000
seccompProfile:
type: RuntimeDefault
containers:
- name: stt-server
# Tag géré par la CI (build-stt-server.yml) : bumpé en sha-<commit> à chaque build main.
image: ghcr.io/alkatrazz24/funk-stt-server:latest
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
ports:
- containerPort: 8000
env:
# LiteLLM (s01) joint en IP directe — même pattern qu'open-webui
- name: STT_LITELLM_URL
value: "http://192.168.10.1:4000/v1/chat/completions"
- name: STT_LITELLM_KEY
value: "lm-studio"
- name: STT_MODEL
value: "hermes-default"
# Mémoire long-terme (Qdrant s01 + embeddings Qwen3 gpu-01) — dégrade si injoignable
- name: STT_MEMORY_LONGTERM
value: "true"
- name: STT_QDRANT_URL
value: "http://192.168.10.1:6333"
- name: STT_EMBED_URL
value: "http://192.168.10.20:1234/v1/embeddings"
readinessProbe:
httpGet:
path: /healthz
port: 8000
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /healthz
port: 8000
initialDelaySeconds: 10
periodSeconds: 20
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi