From c7efb5cc564611f45f9a873f20ad62601aec8f69 Mon Sep 17 00:00:00 2001 From: Sergio Date: Mon, 14 Sep 2026 21:19:00 +0000 Subject: [PATCH] =?UTF-8?q?rescatados=205=20binarios=20que=20ya=20no=20exi?= =?UTF-8?q?st=C3=ADan=20en=20disco=20=E2=80=94=20y=20el=20muro=20de=20`ser?= =?UTF-8?q?gio`:=20glibc,=20no=20el=20sitio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Antes de tocar `sergio.gioser.net` apareció lo urgente: CINCO procesos vivos cuyo binario ya no existe en disco (`/proc//exe` → «(deleted)»). Sólo vivían como inode huérfano: si el proceso muere o la máquina se reinicia, se pierden. Es el «paso que caduca» del SDD 29, caducando de verdad. tejido · sandokan-mcp · pacha-secretos · puerta-f6e393ffbef3999e · shuma-gateway (240 M) Recuperados leyendo `/proc//exe` con el proceso vivo, y ya están FUERA de gioser: en `/work/rescate-binarios/` de la caja y en el Storage Box. Cinco de los trece binarios que nadie provee dejaron de depender de que nadie reinicie nada. Y `sergio.gioser.net` son tres piezas, de las que sólo una se muda hoy: · frontend: 117 M de estático ⇒ copiado a `/work/www/sergioh` ✅ · `/shuma/*`: `shuma-gateway` en :7378, ELF dinámico y con el binario borrado ⇒ hay que construirlo desde tawasuyu (es Rust del monorepo, factible) · `api.sergio`: uvicorn con un venv de **405 M** — fastapi + pydantic + google-generativeai + **langchain**, con extensiones `cpython-314-x86_64-linux-GNU.so` ⇒ **glibc**. Reempaquetar ese árbol de PyPI como recetas no es realista y en musl no corre. Es el caso canónico del ADR 0015 (qorpa), que sigue PROPUESTO. Por eso el DNS de `sergio` NO se movió: mover el nombre sin backend deja el sitio servido y la consola rota. El frontend queda copiado y esperando. 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. Tres salidas, y ninguna es técnica: qorpa · que viva en otra máquina (summa ya lo hace) · o que muera. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_016Tf9T4vGzsMoT7eS8YzMFn --- docs/28-servidor-de-produccion.md | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) 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: