Hub

2026-06-01

lunes · 1 de junio de 2026

2026-06-01 — Sesión tareas-hijo: migración Fly→val-soft CERRADA ✅

Resumen cross-project

tareas-hijo (#HIJ-006): migración de Fly.io a val-soft completada y en producción.

Qué se logró (sesión background larga)

Fases completadas:

  1. Fase A (infra): rol+DB en Postgres 16 local, usuario tareas-hijo, directorios /var/lib/tareas-hijo/{fotos,tzdata}.
  2. Fase B (código): storage Tigris→disco local (token firmado 7d), fix tzdata (data_dir escribible), 88 tests verdes, 3 commits en origin/main.
  3. Fase C (deploy): systemd hardened, EnvironmentFile secrets 600, release Docker→tarball desplegado.
  4. Reverse-proxy: nginx .14 con cert Let's Encrypt (expira 2026-08-30, autorenovación); HTTPS/WebSocket/LiveView OK.
  5. Datos: sembrados frescos via nueva función Release.seed/0 (papá+Leonardo+4 tareas por envs PIN_PAPA/PIN_LEONARDO).
  6. E2E: login papá/hijo verificado, panel renderiza tareas, PIN incorrecto rebota.
  7. Fly: destruido (tareas-hijo + DB) — cero costo, val-soft es única fuente.

Código comiteado:

  • sevaor/tareas-hijo main: 3f560f5 (release.ex seed/0)
  • Hub: 36b2526 (cierre #HIJ-006), e0ab3aa (seed+E2E), 4f7e5e1 (proxy), b0c29e3 (CI task)

Gotcha resuelto + memorizado: bin/<app> eval|rpc de releases Elixir truena con code_server badarg (enmascarado por crash logger) si el cwd no es accesible por el user. Fix: cd /opt/<app>/bin antes de eval. No era bcrypt, escaping ni Code.eval_file. Documentado en memory reutilizable.

Pendiente diferido (no bloquea):

  • #HIJ-007 CI automático — runner Docker que corra build+deploy en push a main. Hoy manual; tentativa viernes 2026-06-05.

Notas operacionales

  • val-soft (192.168.20.8): systemctl is-active tareas-hijo = active + enabled; https://tareas.val-soft.com/login → 200.
  • Runbook completo en code/tareas-hijo/deploy/README.md.
  • PINs de esta sesión quedaron visibles en terminal; cambiarlos es trivial ahora (eval con cd funciona).

Próximos pasos

  • E2E real con Leonardo (navegador, subir foto, validar).
  • CI automático (semana próxima).
  • Evolución continua (#HIJ-005 sin fecha fija).

Sesión: Opus 4.8 + background isolation (worktrees).