granja: ciclo de vida EFÍMERO por hcloud API (farm-up/farm-down) + baseline €0

Migración del worker pet-24/7 a workers efímeros on-demand. farm1 (ccx23 persistente que
idleaba quemando plata) → snapshot golden 'hammer-golden-2026-07-05' (img 405120842: toolchain
+ store sellado horneados) → destruido. Baseline ahora 0 cajas / €0.

- farm-up.sh [N]: crea N workers desde el snapshot (cache-hit instantáneo del catálogo baked),
  los alinea con la cola actual del laptop, registra la flota en scripts/farm/.fleet (gitignored).
- farm-down.sh [name...]: cosecha el store (CAS, merge seguro) al laptop y DESTRUYE; promueve+firma.
  Orden seguro: sólo destruye si el pull de store salió bien.
- Validado punta a punta: up 1 → boot+cache+toolchain OK → down (cosecha+destruye) OK.
- Cron laptop harvest-go contra farm1 removido (la cosecha ahora la hace farm-down).

El worker sigue sin secretos (hub-and-spoke): compute puro y descartable.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-05 08:23:06 -04:00
co-authored by Claude Opus 4.8
parent c516f9a5ea
commit 5658e9337c
3 changed files with 113 additions and 0 deletions
+1
View File
@@ -24,3 +24,4 @@ __pycache__/
# Scratch para bootstrap del frente rust (mrustc clone + fuentes rustc, multi-GB)
.scratch/
scripts/farm/.fleet