Files
scripts/tmux-host/Dockerfile
T
devopsandClaude Opus 5.5 98b944b1ea feat(tmux-host): incluir @google/clasp en la imagen
CLI + modo MCP oficial para el Portal SCM en Apps Script (sesion
scm-portal, ADR 0013). Hoy esta instalado a mano en el contenedor y se
perderia al recrearlo. La credencial no va en la imagen: vive en
/DATA/AppData/k3d-lab-v3/clasp-auth/.clasprc.json via clasp_config_auth.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018r19s4H8MBGegqToqw5guP
2026-09-28 05:28:29 +00:00

32 lines
1.6 KiB
Docker

# Imagen de tmux-host: sesion tmux persistente para Claude Code sobre el
# lab GitOps de cruzcloud. Reemplaza el `docker run ... alpine sh -c "apk
# add ... && npm install ..."` inline documentado antes en
# docs/arquitectura/sesion-tmux-persistente.md — mismo contenido, pero
# construido una vez como imagen en vez de reinstalar todo en cada arranque
# del contenedor.
FROM alpine:3.24
# 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.
# @google/clasp (oficial, 2026-09-28): CLI + modo MCP (`clasp mcp`) para
# el Portal SCM en Apps Script (sesion scm-portal, ADR 0013). Su credencial
# NO vive en la imagen: va en /DATA/AppData/k3d-lab-v3/clasp-auth/.clasprc.json
# (persistente) via la variable clasp_config_auth.
RUN apk add --no-cache tmux docker-cli bash curl git kubectl nodejs npm uv \
&& npm install -g @anthropic-ai/claude-code @google/clasp \
&& git config --global --add safe.directory '*'
# Repo raiz del lab (CLAUDE.md, apps-registry/, platform-infra/, scripts/).
# docker exec hereda este WORKDIR como cwd por defecto, y ademas
# lab-session.sh y healthcheck.sh lo pasan explicito via `tmux ... -c`
# para no depender de ese comportamiento implicito.
WORKDIR /DATA/AppData/k3d-lab-v3/lab-cruzcloud
COPY healthcheck.sh /usr/local/bin/healthcheck.sh
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/healthcheck.sh /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]