Funk-lab/k8s/apps/openalice/deployment.yaml
ALI YESILKAYA 35ad1deb64
chore(openalice): suspend le déploiement (replicas 0), conserve tout (#63)
Projet mis en pause : Kraken via « CCXT Custom » non supporté (fetchBalance
avorte) + pas d'automatisation actions. Pod éteint, mais Deployment + PVC
openalice-data (config, clés scellées, données) conservés. Relance = replicas 1.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 18:05:57 +02:00

86 lines
3.3 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

apiVersion: apps/v1
kind: Deployment
metadata:
name: openalice
namespace: ai
spec:
# SUSPENDU (2026-06-28) : projet mis en pause — Kraken via « CCXT Custom » non supporté
# (fetchBalance avorte) + pas d'automatisation actions. Pod éteint mais TOUT conservé
# (Deployment + PVC `openalice-data` : config, clés scellées, données). Pour relancer :
# repasser replicas à 1. Voir admin/ia/openalice.md.
replicas: 0
# OpenAlice écrit dans un volume RWO (NFS) — pas de rolling avec 2 pods sur le même volume.
strategy:
type: Recreate
selector:
matchLabels:
app: openalice
template:
metadata:
labels:
app: openalice
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). fsGroup 1000 → le volume NFS
# (HOME des CLIs + /data) est inscriptible par l'uid non-root de l'image.
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
seccompProfile:
type: RuntimeDefault
containers:
- name: openalice
# Tag = <ref amont>-<patch local>, géré par la CI (build-openalice.yml).
# -p1 : patch du Dockerfile amont qui oubliait src/workspaces/cli (shims alice*).
image: ghcr.io/alkatrazz24/funk-openalice:v0.60.0-beta.1-p1
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
ports:
- name: web
containerPort: 47331
# MCP Ask connector — consommé in-cluster par Asa (STT-server). À ACTIVER une fois
# au premier boot (Web UI Connectors) : { mcpAsk: { enabled: true, port: 3003 } }.
- name: mcpask
containerPort: 3003
env:
# OpenAlice stocke ses credentials (provider IA, clés vendor) SCELLÉS dans /data,
# configurés au premier boot via la Web UI — voir README. Rien de secret en env ici.
- name: TZ
value: "Europe/Paris"
# Derrière Traefik (entrypoint web) : on fait confiance au proxy in-cluster pour
# les en-têtes (IP réelle / host). LAN privé, HTTP.
- name: OPENALICE_TRUSTED_PROXIES
value: "10.42.0.0/16"
# Web UI Hono : le portail 47331 répond mais peut 401 derrière le gate admin →
# sonde TCP plutôt qu'HTTP. Démarrage lent (runtime Node + CLIs agent embarqués).
readinessProbe:
tcpSocket:
port: 47331
initialDelaySeconds: 20
periodSeconds: 15
livenessProbe:
tcpSocket:
port: 47331
initialDelaySeconds: 60
periodSeconds: 30
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
cpu: "1"
memory: 1536Mi
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
persistentVolumeClaim:
claimName: openalice-data