Files
takana/scripts/farm
SergioandClaude Opus 5 7279ea8780 granja: farm-up copiaba work/ ENTERO y podia dejar un worker sin dead-man
Dos fallos que se destaparon montando el primer worker con el lab anclado
(2026-08-11).

1. `--exclude /work` con barra inicial ancla SOLO la entrada `work`, no su
   contenido. Con `--include '/work/'` delante, rsync entraba al directorio y
   sus hijos no casaban con ninguna regla ⇒ se copiaba work/ ENTERO: 3,7 G,
   incluidos los mirrors de git A MEDIO COPIAR porque el propio rsync abortaba
   antes de terminarlos. El worker fallaba cada receta con `git fetch exit
   128`. Un work/ a medias es peor que ninguno: parece que esta. Se ancla con
   `/work/**`.

   Eso mismo causaba el abort: con --delete, rsync moria con «cannot delete
   non-empty directory» sobre los vendor/ de cargo, que quedan de SOLO
   LECTURA. Sin tocar work/, no hay nada que borrar ahi.

2. El `set -e` hacia que ese fallo abortara el script ANTES de armar el
   dead-man switch ⇒ server VIVO que no puede autodestruirse, que es
   exactamente lo que este script declara inadmisible. Ahora el rsync no es
   fatal: avisa y sigue hasta armarlo. El orden ideal es armar el dead-man
   ANTES de cualquier paso que pueda fallar; queda anotado en el codigo.

Verificado en seco contra un worker real: el patron nuevo no toca work/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 12:02:10 +00:00
..