Informe técnico: groot v1.1.1

groot es un CLI Go read-only para on-call de Kubernetes: un .tar.gz con nodos, eventos, logs de pods y snapshots de API. Recoge evidencia; no muta el clúster ni inventa la causa raíz.
v1.1.1 (2026-08-11) es un parche en la línea 1.1.x. Lo funcional abajo se ancla en v1.1.0 (groot analyze) salvo nota. Pin actual: informe v1.2.0.
1. Por qué un archivo de diagnóstico
Durante un incidente, pegar kubectl en Slack pierde contexto. Las herramientas live fallan si la API está enferma. Un archivo offline sobrevive a la ventana y viaja con el ticket.
- ¿Puedo recolectar? —
groot validate - ¿Cómo estaba el clúster? —
groot collect→ un.tar.gz - ¿Qué hay en el bundle? —
groot inspect/groot analyze
2. Contrato estable (config_version: 1)
| Comando | Rol |
|---|---|
groot validate |
Preflight: config, API, RBAC, disco |
groot collect |
Captura client-go → .tar.gz (+ notify / upload opcionales) |
groot inspect |
Inventario offline (sin clúster) |
groot analyze |
Pistas heurísticas offline (1.1.0+) |
kubectl groot … |
Plugin kubectl (kubectl-groot) |
Contrato: SPECIFICATIONS.md.
3. Flujo de incidente
curl -fsSL https://get.groot.hermesrodriguez.com/install.sh | sh
groot validate --config groot.yml
groot collect --config groot.yml --summary
groot inspect ./groot-*.tar.gz
groot analyze ./groot-*.tar.gz --output executive
Uploads opcionales: S3 / GCS / SFTP. Operador: groot-selfhosted.
4. Analyze offline (v1.1.0)
Sin kubeconfig. Hints citados (CrashLoop, OOM, ImagePull, NotReady, Evicted) — no RCA autoritativa. Salidas: executive Markdown, JSON, pack LLM. Tope por defecto 16 GiB descomprimido (--max-decompressed).
5. Códigos de salida
0 ok · 1 config · 2 API · 3 collect/archivo · 4 notify.
6. Fixes v1.1.1
Expansión ~ / ${VAR} en kubeconfig; sessionBase único; trim de credenciales S3.
7. Ecosistema
groot · groot-selfhosted · groot-trigger · groot-share (gfs). kzero muta; groot captura evidencia.
8. Enlaces
- Release v1.1.1 · CHANGELOG
- Imagen pin actual:
ghcr.io/hrodrig/groot:v1.2.0