Author SHA1 Message Date
devops 510cc4151a Merge branch 'fix/tmux-host-supervisor-healthcheck' 2026-09-26 17:06:58 +00:00
devopsandClaude Opus 5.5 c6e0e94a0d fix(tmux-host): supervisar healthcheck.sh y quitar set -e del entrypoint
healthcheck.sh corria en background sin nadie que lo relanzara si moria.
Se agrega un supervisor que lo relanza tras 10s y deja un WARN en
health.log. Se cambia `set -eu` por `set -u`: con -e heredado, el propio
subshell del supervisor moria en cuanto healthcheck.sh salia con error,
antes de llegar a la linea que lo relanzaba.

Ya desplegado en la imagen tmux-host:2026-09-26-fix-real (validado en
vivo: relanzo tras exit=137 el 2026-09-26 05:04Z). Ver playbook
incidente-tmux-host-cadena-fallos-2026-09-25 en docs-portal.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018r19s4H8MBGegqToqw5guP
2026-09-26 17:02:51 +00:00
devops 331d4c8b19 Merge branch 'feat/tmux-host-uv-workspace-mcp-2026-09-20' 2026-09-20 21:32:22 +00:00
devops d68ff6fd63 feat(tmux-host): agregar uv para correr servidores MCP en Python bajo demanda 2026-09-20 21:32:00 +00:00
devops ff73a2ad2c Merge branch 'feat/tmux-host-cloud-practice-session-2026-09-20' 2026-09-20 21:12:54 +00:00
2 changed files with 15 additions and 3 deletions

No files matched your search

+5 -1
View File
@@ -6,7 +6,11 @@
# del contenedor.
FROM alpine:3.24
RUN apk add --no-cache tmux docker-cli bash curl git kubectl nodejs npm \
# uv (paquete directo de Alpine, no via pip): corre servidores MCP en
# Python bajo demanda (ej. `uvx workspace-mcp`, ver ADR 0012 practica
# multi-cloud) sin instalar Python a mano -- uv baja el interprete que
# necesite por su cuenta la primera vez que se usa.
RUN apk add --no-cache tmux docker-cli bash curl git kubectl nodejs npm uv \
&& npm install -g @anthropic-ai/claude-code \
&& git config --global --add safe.directory '*'
+10 -2
View File
@@ -2,8 +2,16 @@
# Proceso principal (PID 1) del contenedor tmux-host: lanza el chequeo de
# salud en background y mantiene el contenedor vivo, igual que el
# `tail -f /dev/null` del `docker run` inline original.
set -eu
set -u
/usr/local/bin/healthcheck.sh &
supervise_healthcheck() {
while true; do
/usr/local/bin/healthcheck.sh
echo "$(date -u +%Y-%m-%dT%H:%M:%SZ) WARN: healthcheck.sh salio inesperadamente (exit=$?) -- relanzando en 10s" \
>> /DATA/AppData/k3d-lab-v3/tmux-host/logs/health.log 2>/dev/null || true
sleep 10
done
}
supervise_healthcheck &
exec tail -f /dev/null