# INFRAESTRUCTURA Repo de infraestructura compartida entre equipos (sobremesa, portátil, VPS). Todo lo que **hace funcionar** los equipos vive aquí (Regla 31); el conocimiento de negocio vive en `biblioteca_negocio_prolongo`. ## Contenido | Ruta | Qué es | |------|--------| | `AGENTS.md` | Reglas del repo de infraestructura (leer siempre) | | `changelog_infra.json` | Fuente de verdad del **changelog global** (por equipo) | | `CHANGELOG_INFRA.md` | Versión legible (generada; no editar a mano) | | `estado/` | Estado y memoria de infraestructura (diario, pendientes, log watcher) | | `scripts/infra_changelog.py` | Añadir / consultar / marcar cambios del changelog | | `scripts/infra_paths.py` | Resolución de rutas compartidas (INFRAESTRUCTURA ↔ biblioteca) | | `scripts/telegram_watcher.py` | Watcher de Telegram → `estado/telegram_mensajes.log` | | `scripts/recordatorios_msgbox.py` | Recordatorios con message box de Windows | | `scripts/recordatorio.cmd` | Comando corto `recordatorio` | | `scripts/instalar_watchers.ps1` | Registra las tareas programadas de los watchers | | `scripts/instalar_global.ps1` | Instalador global del equipo (OmniRoute + OpenCode + watchers) | | `omniroute/omniroute_watchdog.ps1` | Vigilante de OmniRoute (arranque + autocuración) | | `omniroute/install_omniroute_autostart.ps1` | Registra la tarea programada `OmniRoute Watchdog` | | `opencode/omniroute-bootstrap.ts` | Plugin GLOBAL de OpenCode: relanza OmniRoute al arrancar OpenCode | | `vps/` | Configuración de servicios del VPS (Gitea, etc.) | | `.opencode/` | Agente `infra-agente` y skill `infraestructura` | ## Changelog global (sobremesa ↔ portátil ↔ VPS) Registra cada cambio de infraestructura y si es transferible al otro equipo: ```powershell # Añadir un cambio (detecta el equipo automáticamente) python scripts/infra_changelog.py add --titulo "Instalado Docker" --categoria servicios --transferible si --detalle "..." # Ver qué falta replicar en ESTE equipo python scripts/infra_changelog.py pendientes # Marcar como aplicado aquí python scripts/infra_changelog.py aplicado # Resumen python scripts/infra_changelog.py estado ``` El protocolo `re` de cada equipo lee este fichero (paso 4b) y avisa de lo pendiente. ## Watchers Viven en `scripts/` y su estado en `estado/`. Se instalan como tareas programadas (AtLogOn + reinicio si falla): ```powershell powershell -ExecutionPolicy Bypass -File scripts/instalar_watchers.ps1 ``` ## Instalación en un equipo nuevo (p. ej. el portátil) ```powershell git clone https://git.v-encore-lab.com/jjminguez/INFRAESTRUCTURA.git cd INFRAESTRUCTURA powershell -ExecutionPolicy Bypass -File scripts/instalar_global.ps1 ``` Prerrequisitos de OmniRoute: Node.js + `npm i -g omniroute`, y copiar `~/.omniroute` (credenciales) y `~/.config/opencode/opencode.jsonc`. Para el watcher de Telegram, copiar también `~/.telegram-agent` (sesión). ## Integración - **Engram**: proyecto `INFRAESTRUCTURA` (memoria del asistente). - **Gitea**: `jjminguez/INFRAESTRUCTURA` (`git.v-encore-lab.com`). - **Obsidian**: documentación en `03-IT/` del vault `biblioteca_prolongo`.