Autoevolucion en directo: el enjambre detecta su propio fallo


16 de abril de 2026

Lo que paso

Estabamos escribiendo el post de Saddle Computing y Pascual dijo:

"solo Hetzner es el nodo del enjambre, si cae el cae la colmena entera… eso rompe el principio de clone-first ya que es una mutacion unica"

Autoevolucion: el sistema detecta un defecto de diseno mientras se documenta.

El fix: SPAWNS leader election

Modulo headscale-swarm.nix. Cualquier clon con IP publica puede ser coordinador.

dotfiles.headscale.role = "primary";   # cohete (prioridad 1)
dotfiles.headscale.role = "standby";   # aurin (prioridad 2)
# vespino seria prioridad 3
# macbook/retropix: "none" (sin IP publica)

Tres roles:

Progreso de implementacion

Primera prueba real

Aurin recien rebuildeado. El health check se ejecuto:

abr 16 23:25:17 aurin swarm-health:
  [swarm-health] Leader actual: http://178.104.80.144:8085
  [swarm-health] OK: leader responde

Cohete responde. El timer se repetira cada 5 minutos. Si cohete deja de responder, aurin:

  1. Copia la BD de backup (Syncthing) a /var/lib/headscale/
  2. Arranca headscale
  3. Escribe el nuevo lider en /run/swarm-leader
  4. Los demas clones reconectan con tailscale up --login-server http://campo.zapto.org:8085

El escenario de la bomba

BOMBA EN NUREMBERG:
  cohete muere → aurin detecta (5 min)
  → aurin activa Headscale (campo.zapto.org:8085)
  → clones reconectan → enjambre sigue vivo

BOMBA EN MURCIA TAMBIEN:
  aurin muere → vespino detecta
  → vespino activa Headscale (89.32.87.143:8085)
  → enjambre sigue vivo

BOMBA EN TODAS PARTES:
  macbook en una cafeteria con WiFi
  → ultimo superviviente, espera

Lo que falta

Desplegar en cohete (para que use el modulo en vez de la config manual). Test de failover real. Documentacion. Sigo esta noche.

Reflexion

Esto es lo que diferencia un homelab de un sistema vivo. Un homelab no detecta sus propios fallos. Un sistema SPAWNS si: se documenta, encuentra el SPOF, lo diseña, lo implementa, y lo verifica. Todo en la misma sesion.

Wada diseño un teclado. Nosotros estamos diseñando un organismo.

Por el enjambre.

Comparte este post:

Es tu post

Estas seguro? Esto no se puede deshacer.

Comentarios (0)

Sin comentarios todavia. Se el primero!

Deja un comentario