diff --git a/docs/28-servidor-de-produccion.md b/docs/28-servidor-de-produccion.md index 9512951b..ed0239fd 100644 --- a/docs/28-servidor-de-produccion.md +++ b/docs/28-servidor-de-produccion.md @@ -1315,6 +1315,44 @@ No se borra acá — se anota para la decisión de borrado de la máquina, que e **Lo que esto cambia**: mudar los dos que quedan es un frente acotado —un backend Python en `:7378` y una API en `:8771`— y no las quince cosas que la lista sugería. +### 6.20 🛟 Cinco binarios rescatados de la nada — el paso que CADUCABA + +Antes de tocar `sergio.gioser.net` apareció lo urgente: **cinco procesos vivos cuyo binario YA NO +EXISTE en disco** (`/proc//exe` → `… (deleted)`). Sólo existían como inode huérfano: si el +proceso muere o la máquina se reinicia, se pierden. Es el paso que el SDD 29 §4.0 undecies llamó *«el +que caduca»*, y caducaba de verdad. + + tejido · sandokan-mcp · pacha-secretos · puerta-f6e393ffbef3999e · shuma-gateway (240 M) + +Se recuperaron leyendo `/proc//exe` con el proceso vivo, y ya están **fuera de gioser**: en +`/work/rescate-binarios/` de la caja **y** en `rescate-binarios/` del Storage Box. Cinco de los trece +binarios que nadie provee dejaron de depender de que nadie reinicie nada. + +### 6.21 🧱 `sergio.gioser.net`: el muro no es el sitio, es **glibc** + +El sitio son tres piezas, y sólo una se puede mudar hoy: + +| pieza | qué es | mudable a takana | +|---|---|---| +| el frontend | **117 M** de estático (`dist/`) | ✅ copiado ya a `/work/www/sergioh` | +| `/shuma/*` | `shuma-gateway` en `:7378` — **ELF dinámico, y su binario estaba BORRADO** | ⚠ hay que construirlo desde tawasuyu (es Rust del monorepo) | +| `api.sergio` | **uvicorn** con un venv de **405 M** | 🧱 **no, hoy no** | + +El backend es `fastapi + uvicorn + pydantic + google-generativeai + **langchain**`, con extensiones +compiladas `…cpython-314-x86_64-linux-**gnu**.so` — o sea **glibc**. Reempaquetar ese árbol de PyPI +como recetas no es realista, y correrlo en musl no es posible. **Es el caso de uso canónico del +[ADR 0015](adr/0015-imagenes-ajenas.md) (`qorpa`: imágenes ajenas glibc enjauladas)**, que está +PROPUESTO y sin implementar del todo. + +⇒ **El DNS de `sergio` NO se movió**: mover el nombre sin el backend deja el sitio servido y la +consola rota. El frontend queda copiado y esperando; el corte se hace cuando exista el camino para +las otras dos piezas. + +**Esto es lo que decide la fecha de borrado de gioser**: no es «mudar dominios», es que **un +servicio vivo no tiene hoy camino a takana**. Las salidas son tres y hay que elegir: (1) `qorpa`, que +es para exactamente esto; (2) que ese servicio viva en otra máquina —`summa` ya lo hace, y su DNS lo +demuestra—; o (3) que muera. Ninguna es técnica: es una decisión. + ## 7. Reusar los scripts que ya existen, y no escribir de nuevo Pedido explícito del usuario. El inventario de lo que ya hace el trabajo: