Kubernetes
Para qué sirve. Tercer camino: chart Helm para un clúster real. PVC para data/, Ingress, probes, secrets como objetos Kubernetes. Los YAML crudos arriba de deploy/k8s/ son legado — en producción usa Helm.
Cuándo usarlo
Sección titulada «Cuándo usarlo»- Varias réplicas o clúster compartido (aun así nunca dos escritores en un SQLite).
- Ingress + StorageClass.
- Secretos desde un Secret de Kubernetes o External Secrets Operator.
Flujo típico
Sección titulada «Flujo típico»- K8s 1.28+, Helm 3.12+, imagen, Ingress, StorageClass.
- Namespace
eyas. Secret de master key (eyas-master-key) antes dehelm install. - Pull-secret si el registro es privado.
helm install. - Probes
/api/v1/health. Abre el host de Ingress.
Guarda la master key en un gestor de contraseñas — perderla pierde el vault de secretos.
Directorio de datos en el volumen. Con el montaje por defecto del chart (/app/data) no hay nada que definir: la base de datos y el vault de memoria están en el volumen persistente. Si apuntas EYAS_DATA_DIR a otro montaje, el vault se mueve allí también — siempre es <data dir>/vault — junto con la base de datos. Ver Configuración — Directorio de datos y vault.
Sandbox de archivos del kernel. La imagen de EYAS no incluye bubblewrap (es LGPL; instalarlo es decisión del operador). Para el sandbox de archivos del kernel de los proveedores CLI, el contenedor necesita bubblewrap (bwrap), socat para Claude Code y user namespaces sin privilegios — que muchos clústeres y runtimes de contenedores desactivan. Sin ellos, EYAS sigue rechazando cada petición que ve y muestra el sandbox como No disponible; con security.cliSandbox: required, los turnos de CLI con herramientas se rechazan. eyas doctor lo informa en su línea CLI sandbox. Ver Proveedores — Sandbox de archivos del kernel.
Margen de memoria para una importación grande. El límite por defecto del chart es 1Gi, que deja sitio para una importación de data-port: un archivo contenedor se mantiene en memoria mientras se renderiza cada unidad de su interior, y cuánto cuesta eso depende del archivo — unas tres veces su tamaño para una transcripción de una línea por turno, siete o más para una exportación de chat analizada entera. Una exportación de chat de 90 MB llega cerca de 900 MiB residentes: cabe en 1Gi, pero por poco; el YAML de arranque heredado en la raíz de deploy/k8s/ pone 512Mi y no la aguanta. El pico lo marca tu archivo individual más grande, no el tamaño del escaneo, así que sube el límite antes de importar algo mayor. Véase Importación y exportación de datos.