From 52144e040f0ec66964b29b51a0b8eb2d30dd8021 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 11 Sep 2026 03:00:54 +0000 Subject: [PATCH] =?UTF-8?q?SDD=2028=20=C2=A76.9-6.10:=20los=2019=20dominio?= =?UTF-8?q?s=20sondeados=20uno=20por=20uno,=20y=20el=20respaldo=20corriend?= =?UTF-8?q?o=20desde=20la=20caja?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Puerta 8 (fósiles), sondeada por DNS Y por HTTP**: de las 19 entradas del Caddyfile, gioser sólo sirve **6** de verdad (las dos landings, el gitea x2, sergio x2). Las otras 13 NO hay que mudarlas: 8 no tienen DNS, 2 dan 502, y **3 ya viven en otra máquina** (`summa`, `api.summa`, `dev.summa` → 154.197.1.2) aunque el bloque de Caddy siga en gioser. O sea que la superficie real a mudar son 6 sitios, y el que pesa es el gitea porque aloja el `origin` de takana. ⚠ `terapeuta.ec` es el único fósil CON DATOS (279 M en /var/www) y sin DNS: hay que decidir explícitamente si se archiva o muere con la caja. **Puerta 7**: la caja alcanza el Storage Box y refresca el manifiesto — 3140 artefactos, con 2 VACÍOS detectados y excluidos (`gnome-desktop` ×2). Para llegar ahí hubo que arreglar tres bloqueos de la misma familia —*el instrumental asume que el hub es gioser*—: la raíz cableada, el binario de desarrollo, y el rsync sin zstd que hacía que el respaldo no se ejecutara en absoluto. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01RomoxEGZUhaT4pob1QSX5x --- docs/28-servidor-de-produccion.md | 50 ++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/docs/28-servidor-de-produccion.md b/docs/28-servidor-de-produccion.md index 874a7e0b..3883ed89 100644 --- a/docs/28-servidor-de-produccion.md +++ b/docs/28-servidor-de-produccion.md @@ -520,7 +520,9 @@ diferencia es «cuánto de esto tengo en disco» y no «qué existe». | 3 | los cuatro grafos idénticos | ✅ **byte a byte** — §6.7 | | 4 | la granja late en la caja nueva | ⬖ camino probado; cosecha completa sin disco — §6.8 | | 5 | el repo se sirve y el host se actualiza de sí mismo | ⬖ mitad: sirve (§5.1), no consume (§5.4) | -| 6–8 | dominios vivos · respaldo · fósiles decididos | pendientes | +| 6 | cada dominio vivo responde 200 | ⬖ sondeados: **6 vivos de 19** — §6.9 | +| 7 | el respaldo corre desde la caja | ⬖ alcanza el box y lista 3140; arreglados 3 bloqueos — §6.10 | +| 8 | lo fósil, anotado y decidido | ⬖ anotado (§6.9); **falta decidir** | **Puerta 2, medida acotando al patrón `-`**: 1362 artefactos, **0 vacíos**. Los 3 sin `.hammer/recipe.toml` son `stage1-rootfs`, `product-rootfs` y `seed-zig` — productos de bootstrap, @@ -744,6 +746,52 @@ de ingeniería: destraba la cosecha ya; se paga por duplicado hasta que gioser muera, y entonces se suelta. 3. **Podar el store de la caja** — deshace parte de la mudanza. No. +### 6.9 Puerta 8: los 19 dominios, sondeados uno por uno *(2026-09-11)* + +El Caddyfile de gioser declara 19 sitios. Sondeados por DNS **y** por HTTP desde fuera, sólo **6** +los sirve gioser de verdad: + +| dominio | DNS | HTTP | qué es | +|---|---|---|---| +| `gioser.net` · `tawasuyu.net` | gioser | **200** | **VIVO** — las dos landings | +| `git.gioser.net` · `git.tawasuyu.net` | gioser | **200** | **VIVO** — el gitea (aloja el `origin` de takana) | +| `sergio.gioser.net` · `api.sergio.gioser.net` | gioser | **200** | **VIVO** | +| `summa` · `api.summa` · `dev.summa` | **154.197.1.2** | 200 | **YA MUDADOS** a otra máquina: el bloque de Caddy en gioser es fósil aunque el sitio viva | +| `api.gioser.net` | gioser | **502** | backend caído | +| `mail.sigma.gioser.net` | gioser | **502** | backend caído | +| `aura` · `api.aura` · `sigma` · `kosmofono` · `api.kosmofono` | **SIN DNS** | — | fósil: ni DNS ni ficheros en `/var/www` | +| `terapeuta.ec` · `andino.ec` | **SIN DNS** | — | fósil con datos: 279 M en `/var/www/terapeuta` | +| `gitea.gioser.net` | **SIN DNS** | — | era un `redir` a `git.gioser.net`; inofensivo | + +**Lo que esto cambia respecto del §1.1**: no son «4 fósiles» sino **13 de 19 entradas que no hay que +mudar** — 8 sin DNS, 2 con el backend caído y 3 que ya viven en otra máquina. La superficie real a +mudar son **6 sitios**, y de esos el que pesa es el **gitea**, porque aloja el `origin` de takana. + +⚠ **`terapeuta.ec` es el único fósil con datos** (279 M). Sin DNS no sirve a nadie, pero borrarlo con +la caja se lleva los ficheros. Decidir explícitamente: se archiva o se deja morir. + +### 6.10 Puerta 7: el respaldo desde la caja — y tres bloqueos que sólo se ven corriéndolo + +Llevadas las credenciales (`~/.config/hammer/*.env`, 0600) y la clave, **la caja alcanza el Storage +Box** por el puerto 23 y lista su contenido. El manifiesto se refresca desde allá: +**3140 artefactos**, y de paso el script detecta **2 VACÍOS en el respaldo** (`gnome-desktop` ×2) que +excluye del manifiesto — su propia guarda, funcionando. + +Para llegar ahí hubo que arreglar tres cosas, y las tres son de la misma familia: *el instrumental +asume que el hub es gioser*. + +1. **La raíz cableada.** `RAIZ="${RAIZ:-/mnt/vvv/takana}"` ⇒ desde cualquier otra máquina el script + moría con `cd: /mnt/vvv/takana: No such file or directory`. Ahora se deriva de dónde está el + script, como el resto de `scripts/`. +2. **El binario de desarrollo.** `HAMMER = ROOT/target/release/takana` (§6.7). +3. **El rsync del corpus no puede correr el respaldo del corpus.** El script exige + `--compress-choice=zstd` y `recipes/rsync.toml` lo construía con `--disable-zstd` — porque cuando + se escribió, `zstd` no estaba en el catálogo. Hoy sí. Peor aún: el error 4 que devuelve rsync el + script lo clasifica como «no de red» y **no reintenta**, así que el respaldo simplemente no se + hacía. Arreglado por los dos lados: la receta enciende zstd (control: `zstd zlibx zlib none` vs + `zlibx zlib none`; radio cero, `rsync` no es dep de nadie) y **el script degrada a zlib avisando** + en vez de morir. + ### 6.2 Lo que la mudanza tiene que producir, además de la mudanza El usuario lo pidió explícito: **que este experimento saque recetas y las pruebe**. La caja vieja es