Reestructuración modular integral de servicios, reorganización de gestión en docs/ y limpieza profunda del repositorio

This commit is contained in:
Ricardo Monla
2026-03-06 18:03:07 -03:00
parent 15725e0b3c
commit ac9bdf516b
286 changed files with 36187 additions and 112775 deletions
+200
View File
@@ -0,0 +1,200 @@
# Bitácora de Operaciones - 19/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| srv-ns8 | Jornada de estandarización y despliegue (23:15). Se aplicó la política de nomenclatura lowercase en todo el grid, se establecieron los cimientos del ADN, se implementó TinyFileManager con seguridad Nginx y roles, se saneó el workspace y se procesaron los relevamientos de activos AIDA64. |
| srv-pmox2 | Recuperación definitiva de la conectividad (22:30) asegurando la persistencia del Gateway en la configuración de red y habilitando el entorno para la automatización de scripts. |
| srvv-sysacadweb | Corrección documental y operativa (19:45), rectificando la especificación del SO (Win2008 R2) tras el análisis de activos y registrando el estado del nodo. |
| pcv-dasu2 | Normalización de identidad (10:55) completando el cambio de hostname y su actualización en la ontología del sistema. |
| srvv-maurik | Verificación de hardware (10:05) actualización de ficha técnica con datos de relevamiento y health check de servicios de dominio. |
| pcv-dasu1 | Aseguramiento de datos críticos (09:54) mediante ejecución exitosa del procedimiento de backup de estación de trabajo. |
| srv-pmox3 | Ejecución correcta del ciclo de respaldos nocturnos automatizados en almacenamiento ZFS (03:02). |
| srv-pmox1 | Validación operativa del nuevo script de automatización Ruby con el primer backup exitoso (02:00). |
---
## 📂 Actividades Detalladas
### srv-ns8
#### ✅ - A01 - ADN Nomenclatura
Renombrado masivo de archivos y referencias a minúsculas (`srv-ns8`, `srvv-maurik`, etc.) para cumplir estándar.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 23:00 | 23:15 | Inicio de tareas de armonización de nomenclatura. Finalización exitosa. | [P] ✅ |
#### ✅ - A02 - Activos Integración AIDA64
Procesamiento de reportes, actualización de fichas (`MAURIK`, `SYSACADWEB`) y unificación de `pc-dasu0`.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 22:35 | 22:45 | Procesamiento de reportes AIDA64 e integración de activos. | [P] ✅ |
#### ✅ - A03 - Saneamiento Workspace
🧹 Eliminación de directorios `servicios/hfs` y `servicios/filebrowser` para mantener higiene del repositorio.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 21:30 | 21:35 | Saneamiento de directorios de servicios obsoletos. | [P] ✅ |
#### ✅ - A04 - Personalización Identidad TFM
Configuración de Título "NS8 - TFM" y ACLs: `rmonla` (Admin), `utnlarioja` (Lectura).
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 20:55 | 21:00 | Configuración de ACLs y títulos en TinyFileManager. | [P] ✅ |
#### ✅ - A05 - Configuración Storage TFM
Mapeo de volumen de datos a disco físico `/mnt/ns8Disco2/DTIC_APPs/`.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 20:25 | 20:40 | Mapeo de volumen físico para almacenamiento de APPs. | [P] ✅ |
#### ✅ - A06 - Despliegue Nginx Proxy
Exposición del servicio TFM bajo ruta segura `/tfm` con autenticación integrada.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 20:05 | 20:20 | Despliegue de proxy Nginx para acceso seguro a TFM. | [P] ✅ |
#### ✅ - A07 - Investigación Selección de Software
Análisis de alternativas para File Server, eligiendo TinyFileManager por agilidad PHP.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 15:30 | 20:00 | Análisis comparativo y selección de software de File Cloud. | [P] ✅ |
#### ✅ - A08 - Scripts Automatización Ruby
Desarrollo del script `mantenimiento_backups.rb` para ciclo de vida de snapshots.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 01:25 | 02:00 | Desarrollo y pruebas del script Ruby para ciclo de snapshots. | [P] ✅ |
#### ✅ - A09 - ADN Estandarización
Creación de `TEMPLATE_PROCEDIMIENTO.md` y estructura de `procedimientos/`.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 00:45 | 01:10 | Creación de templates de procedimientos y base de ADN. | [P] ✅ |
### srv-pmox2
#### ✅ - A10 - Red Persistencia de Gateway
Inyección de `gateway 10.0.10.8` en configuración de interfaces para garantizar conectividad post-reboot.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 22:20 | 22:30 | Corrección de persistencia de Gateway en interfaces de red. | [P] ✅ |
#### ✅ - A11 - Backup Ciclo de Respaldo
Ejecución exitosa del script de backup tras recuperar conectividad.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 02:33 | 02:45 | Ejecución manual exitosa del ciclo de backup. | [P] ✅ |
#### ✅ - A12 - S.O. Runtime Ruby
Instalación de dependencias para permitir la ejecución de scripts de mantenimiento.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 02:22 | 02:33 | Instalación de dependencias Ruby en nodo remoto. | [R] ✅ |
#### ✅ - A13 - Red Resolución de Incidente
Diagnóstico y corrección manual de ruta por defecto perdida ("Network unreachable").
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 02:22 | 02:33 | Instalación de dependencias Ruby en nodo remoto. | [R] ✅ |
### srvv-sysacadweb
#### ✅ - A14 - Control Validación Operativa
Confirmación de arranque correcto de servicios IIS y base de datos tras snapshot.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 19:40 | 19:45 | Verificación de servicios IIS post-snapshot. | [R] ✅ |
#### ✅ - A15 - ADN Snapshot Documental
Registro formal del estado del nodo en la estructura `nodos/`.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 19:34 | 19:40 | Registro del estado del nodo en la estructura de Ontología. | [R] ✅ |
#### ✅ - A16 - Backup Respaldo Completo
Ciclo de backup de VM completado sin errores.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 09:23 | 19:34 | Proceso de backup completo de la máquina virtual. | [R] ✅ |
### pcv-dasu2
#### ✅ - A17 - Identidad Cambio de Hostname
Renombrado de `pcv-dasu3` a `pcv-dasu2` para alinear con nomenclatura del Grid (Ontología).
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 10:00 | 10:55 | Renombrado de nodo y actualización de identidad en el Grid. | [P] ✅ |
### srvv-maurik
#### ✅ - A18 - Control Health Check
Verificación de servicios de Dominio (AD DS) y resolución DNS post-backup.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 10:01 | 10:05 | Health check de servicios de Directorio Activo (AD DS). | [R] ✅ |
#### ✅ - A19 - Backup Ciclo de Respaldo
Ejecución de backup programado.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 09:23 | 10:01 | Ejecución de backup de VM en infraestructura remota. | [R] ✅ |
### pcv-dasu1
#### ✅ - A20 - Backup Respaldo Crítico
Backup de seguridad de la estación de trabajo principal de DASU.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 09:43 | 09:54 | Resguardo de datos críticos de la estación de trabajo. | [P] ✅ |
### srv-pmox3
#### ✅ - A21 - Backup Automatización Nocturna
Ejecución programada del ciclo de respaldos en ZFS.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 02:08 | 03:02 | Ciclo automatizado de backups en almacenamiento ZFS. | [P] ✅ |
### srv-pmox1
#### ✅ - A22 - Backup Automatización Nocturna
Primer ejecución válida del nuevo sistema de backups en Ruby.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 01:44 | 02:00 | Validación operativa de nuevo script Ruby de gestión de copias. | [P] ✅ |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+130
View File
@@ -0,0 +1,130 @@
# Bitácora de Operaciones - 20/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| [srv-ns8](#srv-ns8) | Finalización exitosa del ciclo masivo de backups automatizados (dtic-BKPs), logrando evasión de cuotas y bloqueos en OneDrive tras 8.5hrs continuas. Adicionalmente, se ejecutó una refactorización fundacional del ADN y el estándar visual de bitácoras, implementando iconografía dual, descripciones jerárquicas en la columna de Hitos y la formalización arquitectónica de las Reglas de Sincronización en Cascada (Triggers). `[Remoto: ~16 hs]` |
---
## 📂 Actividades Detalladas
### srv-ns8
#### ✅ - A14 - ADN / Mejora Continua (Íconos)
👁️ Evolución de la iconografía de la bitácora: Los iconos en la columna "Tema" ahora son estrictamente de estado (`✅` cerrado, `⏳` abierto), delegando los iconos semánticos descriptivos (`🔧`, `🧹`, `⚠️`, etc.) al nivel de la viñeta individual dentro de la cronología "Hitos".
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 22:33 | 23:25 | Conceptualización y refactorización de iconografía semántica. | [R] ✅ |
| 22:45 | 23:25 | Adopción de norma de iconos semánticos en eventos. | [R] ✍️ |
#### ✅ - A13 - ADN / Mejora Continua (Hitos)
📝 Refactorización de la tabla de bitácoras transformando la columna de detalles en `Hitos` con viñetas de marca de tiempo, eliminando las columnas `Ini/Fin` obsoletas, y adoptando identificadores estáticos alfanuméricos (`A00`) dentro del Tema. La tarea había retornado a estado activo para explorar nuevas ideas emergentes del usuario.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 22:06 | 23:25 | Refactorización estructural de tabla y adopción de IDs A00. | [R] ✅ |
| 22:28 | 23:25 | Tarea reabierta para ajustes finos de narrativa. | [R] 💡 |
| 22:15 | 23:25 | Despliegue preliminar de formato consolidado. | [R] 🚀 |
#### ✅ - A12 - ADN / Mejora Continua (Formato)
📝 Rediseño estructural de la tabla de Actividades Detalladas combinando [Estado] - [Hora] - [Nombre Tarea] en la columna unificada `Tema`. Formalizado como estándar en el ADN.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 21:45 | 21:55 | Rediseño estructural y modificación de 02_protocolo.md. | [R] ✅ |
| 21:45 | 21:55 | Conceptualización de columna unificada aprobada. | [R] 🧠 |
#### ✅ - A11 - ADN / Mejora Continua
📝 Ampliada oficial la Sección 9 del Protocolo catalogando la migración de scripts operativos de Bash hacia procesadores robustos en Ruby (`dtic-BKPs`) como segundo Ejemplo Fundacional histórico de Evolución Tecnológica sistémica.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 14:14 | 14:26 | Redacción de Sección 9 sobre Evolución Tecnológica. | [R] ✅ |
#### ✅ - A10 - ADN / Mejora Continua
📝 Inyectado de manera formal el marco metodológico "Evolución Progresiva" (Sección 9) dentro de `02_protocolo.md`. Esto define el ciclo de vida (Incubación → Identificación → Formalización → Propagación) para madurar prácticas sistémicas emergentes.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 13:35 | 13:40 | Inyección formal de marco "Evolución Progresiva". | [R] ✅ |
#### ✅ - A09 - dtic-BKPs C4
💾 Ejecución del ciclo masivo de backups nocturno automáticos en modo C4 finalizó con éxito tras ~8.5Hrs de carga total. Se confirma absoluta resiliencia de conexión.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 09:13 | 17:35 | Ciclo masivo de backups nocturnos (C4). Resiliencia total. | [R] ✅ |
| 14:29 | 17:35 | Control interactivo: flujo constante, sin errores Code 7. | [R] 👁️ |
| 12:54 | 17:35 | Inicio sincronización bruta nodo srv-SysACADWeb. | [R] ☁️ |
| 09:39 | 17:35 | Fase Proxmox saneada. Volcado de zfsDISCO1 superado. | [R] 🟢 |
#### ✅ - A08 - dtic-BKPs / Proxmox
🔧 Resolución del error de montaje `zfsDISCO1`. Se reconfiguró el perfil rclone `pve_PMOX3` para inyectar correctamente la autenticación SSH liberada por agente en memoria vaciando el parámetro manual de archivo de llave e indicando `--key-use-agent`.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 08:55 | 09:05 | Reconfiguración de rclone con --key-use-agent. | [R] ✅ |
#### ✅ - A07 - dtic-BKPs / script
🔧 Corrección del launcher `app-run-sh` estableciendo comportamiento daemonizado realístico (`-d -m`) sobre la sesión GNU screen.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 08:55 | 09:05 | Corrección de launcher app-run-sh a modo daemon. | [R] ✅ |
#### ✅ - A06 - .gitignore
🔧 Excepción (`!tools/dtic-BKPs/logs/`) configurada en la raíz para permitir el versionado del subdirectorio de logs.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 08:23 | 08:28 | Configuración de excepción logs en .gitignore. | [R] ✅ |
#### ✅ - A05 - dtic-BKPs / rclone
🔧 Refactorización del script `sync_rclone.rb`. Se inyectaron parámetros de resiliencia de conexión (`--retries 5`, `--timeout 30m`) y se forzó la purga previa de archivos (`--delete-before`) para optimizar el uso de almacenamiento remoto.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 08:10 | 08:15 | Refactorización resiliencia sync_rclone.rb. | [R] ✅ |
#### ✅ - A04 - Análisis dtic-BKPs
🧪 Diagnóstico del fallo de sincronización nocturna. Causas: (1) `pve_PMOX3` - Error montando disco remoto `zfsDISCO1`. (2) `srv-SysACADWeb` - Error rclone (Code 7) por desconexión de red o límite de cuota en nube.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 07:42 | 07:55 | Diagnóstico de fallo nocturno (zfsDISCO1 y Code 7). | [R] ⚠️ |
#### ✅ - A03 - Estructura
🧹 Reubicación de la herramienta de respaldos abandonando `scripts/_app_dtic-BKPs` para establecerse definitivamente en `tools/dtic-BKPs`.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 07:36 | 07:45 | Reubicación de dtic-BKPs a tools/. | [R] ✅ |
#### ✅ - A02 - dtic-BKPs
🔧 Estructuración y revisión operativa del procesador de respaldos automatizado (v5.5.1) en Ruby, integrando los scripts de ejecución via screen.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 07:00 | 07:28 | Revisión operativa procesador v5.5.1 en Ruby. | [R] ✅ |
#### ⚠️ - A01 - Fallo de Procesamiento
⚠️ La ejecución del ciclo automatizado de respaldos (`dtic-BKPs`) falló debido a problemas de conectividad con almacenamiento (Proxmox 3) y error de sincronización hacia OneDrive (cód 7).
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 00:12 | 05:36 | Fallo masivo de ciclo por conectividad y cuotas. | [R] 💥 |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+103
View File
@@ -0,0 +1,103 @@
# Bitácora de Operaciones - 23/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| ➡️ - P02 - **Sistema DASUTEN** | srv-dasu | Despliegue e instalación del software del sistema DASUTEN en la VM.<br><br>➡️ **[Continúa en 24/02](2026-02-24.md)** |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [➡️ - A07 - **Sync dtic-BKPs**](#srv-ns8) | srv-ns8 | Sincronización limpia de backups de Proxmox para aplicar nombres de host.<br><br>➡️ **[Continúa en 24/02](2026-02-24.md#A07)** |
| [➡️ - A05 - **VM Windows Server (Core)**](#srv-dasu) | srv-dasu | Creación y configuración de máquina virtual con Windows Server Core para rol AD DS.<br><br>➡️ **[Continúa en 24/02](2026-02-24.md#A05)** |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| [srv-ns8](#srv-ns8) | Diagnóstico y corrección del script de respaldos `dtic-BKPs_app.rb`. Se solucionaron dos fallas críticas documentadas en el hito A04: un bloqueo interactivo de SSH provocado por el comando rclone al listar/descargar archivos, y la omisión silenciosa de procesamiento de respaldos que carecían del archivo descriptor `.notes`. `[Remoto: ~5 hs]` |
| [srv-dasu](#srv-dasu) | Inicialización exitosa de la infraestructura base para la oficina DASUTEN. Se instaló un hypervisor Standalone Proxmox VE, se solventaron bloqueos físicos de red, se asignó ip estática (`10.0.10.205`) y se estableció acceso seguro desatendido vía llaves SSH desde el nodo central. Finalizado el relevamiento de hardware confirmando 4 Cores, 16GB RAM y Storage LVM de 480GB. `[Físico: ~3 hs]` |
---
## 📂 Actividades Detalladas
### srv-ns8
#### ✅ - A06 - Dashboard P2601
🚀 Despliegue del dashboard web para visualización de avance del proyecto DASUTEN (URL: `ns8.frlr.utn.edu.ar/P2601/`).
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 20:49 | 20:53 | Aprobación de especificaciones y despliegue exitoso en Nginx. | [R] ✅ |
#### ➡️ - A07 - Sync dtic-BKPs
🚀 Reinicio de la sincronización de resguardos (`dtic-BKPs_app.rb C1`) con la nueva política de nomenclatura basada en nombres de host para las carpetas contenedoras de Proxmox.
➡️ **[Continúa en 24/02](2026-02-24.md#A07)**
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 22:42 | 23:35 | Reinicio de sincronización limpia con nueva nomenclatura. | [R] ✅ |
#### ✅ - A04 - Análisis dtic-BKPs
🧪 Revisión y diagnóstico de la herramienta de respaldos (`dtic-BKPs_app.rb`) a pedido del usuario. Se detectó una inconsistencia u omisión en los archivos descargados durante la fase "Descargar archivos de BKPs de VMs: zfsDISCO1".
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 19:58 | 21:54 | Análisis de logs y corrección de fix para IDs de VMs (19 sets). | [R] ✅ |
| 19:58 | 21:54 | Aplicación de parche Ruby y auto-lanzamiento en screen. | [R] ✅ |
### srv-dasu
#### ➡️ - A05 - VM Windows Server (Core)
🚀 Inicio del despliegue de una máquina virtual Windows Server Core genérica para operar primariamente como Controlador de Dominio.
➡️ **[Continúa en 24/02](2026-02-24.md#A05)**
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 20:33 | 21:05 | Despliegue de VM Windows Server Core (AD DS). Fallo en BIOS. | [R] 🛑 |
| 20:57 | 21:05 | Asignación técnica de recursos aprobada (2C/2GB/50GB). | [R] 🧠 |
| 20:54 | 21:05 | Descarga automatizada de ISO genuina desde Microsoft. | [R] 🚀 |
| 20:33 | 21:05 | Decisión de despliegue Server Core para optimizar recursos. | [R] 🧠 |
#### ✅ - A02 - Arquitectura srv-dasu
🧠 Definición de arquitectura y rol: `srv-dasu` operará como hypervisor Proxmox VE standalone fuera del cluster principal, dedicado exclusivamente a hospedar servidores virtuales para la oficina de DASUTEN. ADN y perfil de nodo inicializados.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 16:40 | 16:50 | Definición de arquitectura standalone srv-dasu. | [P] ✅ |
#### ✅ - A03 - Relevamiento Hardware srv-dasu
👁️ Auditoría técnica inicial post-instalación de Proxmox para asentar CPU, RAM y almacenamiento en el Snapshot del nodo (`nodos/srv-dasu.md`).
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 19:09 | 19:20 | Auditoría técnica y sincronización de ficha de hardware. | [P] ✅ |
| 19:09 | 19:20 | Inicio de relevamiento de recursos físicos. | [P] 👁️ |
#### ✅ - A01 - Instalación Proxmox VE
🚀 Preparación de entorno e instalación física de hypervisor Proxmox VE en el nuevo servidor `srv-dasu`.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 16:40 | 19:09 | Instalación física de Proxmox VE y configuración inicial. | [P] ✅ |
| 19:05 | 19:09 | Inyección de llaves SSH para administración remota. | [P] 🔧 |
| 19:00 | 19:09 | Reparación de enlace físico y cambio a IP 10.0.10.205. | [P] 🟢 |
| 18:42 | 19:09 | Diagnóstico de falta de conectividad en nic0. | [P] ⚠️ |
| 18:08 | 19:09 | Confirmación de red IP 10.0.10.204. | [P] 🟢 |
| 17:48 | 19:09 | Reconfiguración de IP post-instalación (DHCP error). | [P] 🔧 |
| 17:30 | 19:09 | Definición de hostname y parámetros root. | [P] 🔧 |
| 16:54 | 19:09 | Descarga y preparación de instalador Proxmox VE. | [P] 💾 |
| 16:40 | 19:09 | Inicio de tareas y creación de unidad USB booteable. | [P] 🚀 |
#### ✅ - A00 - Acondicionamiento Hardware
🔧 Recepción del servidor físico y acondicionamiento de hardware base para `srv-dasu`.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 16:00 | 16:40 | Acondicionamiento de hardware base (SSD/RAM). | [P] ✅ |
| 16:00 | 16:40 | Recepción de servidor y apertura de gabinete. | [P] 🔧 |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+65
View File
@@ -0,0 +1,65 @@
# Bitácora de Operaciones - 24/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| ➡️ - DB01 - **VM SQL Server (Core)** | srv-dasu | ➡️ **[Continúa en 25/02](2026-02-25.md)**<br>Tarea migrada a la bitácora del día siguiente. |
| ➡️ - P02 - **Sistema DASUTEN** | srv-dasu | ➡️ **[Continúa en 25/02](2026-02-25.md)**<br>Tarea migrada a la bitácora del día siguiente. |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| *(Sin tareas activas)* | | |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| **srv-dasu** | Finalización exitosa del despliegue del Controlador de Dominio `dc-dasuten` (AD DS, DNS, ruteo NAT) y cierre del Hito A05. En paralelo, se implementó en producción la refactorización integral del Dashboard P2601 (Hito A06) incorporando telemetría dinámica y justificación de esfuerzo operativo. `[Físico: 0:30]` `[Remoto: ~14 hs]` |
| **srv-ns8** | Finalización y verificación administrativa de la sincronización masiva a la nube de todos los respaldos locales mediante el script `dtic-BKPs` (Hito A07). `[Remoto: ~2 hs]` |
---
## 📂 Actividades Detalladas
### srv-ns8
#### ✅ - A07 - dtic-BKPs Cloud Upload
☁️ Retoma del proceso suspendido de carga hacia OneDrive corporativo de la Dirección TIC.
➡️ **[Viene del 23/02](2026-02-23.md#A07)**
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 17:32 | 19:32 | Carga masiva a OneDrive (C3) en sesión screen desatendida. | [R] ✅ |
| 23:26 | - | Verificación administrativa exitosa del log dtic-BKPs.log. | [R] ✅ |
### srv-dasu
#### ✅ - A06 - Dashboard P2601
🚀 Refactorización de la capa visual y lógica del Dashboard de proyecto para incorporar métricas de justificación operativa.
➡️ **[Viene del 23/02](2026-02-23.md#A06)**
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 10:17 | 10:25 | Refactorización de Dashboard P2601 con telemetría y UI/UX. | [R] ✅ |
| 10:17 | 10:25 | Inyección de panel de métricas operativas (glassmorphism). | [R] ✅ |
#### ✅ - A05 - VM Windows Server (Core)
🚀 Inicio del despliegue de una máquina virtual Windows Server Core genérica para operar primariamente como Controlador de Dominio.
➡️ **[Viene del 23/02](2026-02-23.md#A05)**
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 09:54 | 23:49 | Despliegue de Windows Server Core y promoción a AD DS. | [R] ✅ |
| 23:49 | - | Verificación de conectividad y puente NAT hacia internet. | [R] ✅ |
| 21:00 | 22:31 | Promoción a Controlador de Dominio (Install-ADDSForest). | [R] 👑 |
| 21:00 | - | Habilitación de ruteo NAT y enmascaramiento en Proxmox. | [R] 🌐 |
| 20:16 | 20:34 | Configuración inicial SO, VirtIO y hostname dc-dasuten. | [R] ✅ |
| 20:16 | - | Decisión de subred privada segregada (10.0.100.x). | [R] 🧠 |
| 19:48 | 20:16 | Selección correcta de método de instalación "Custom". | [R] 👁️ |
| 19:28 | 19:48 | Inicio de instalación gráfica vía VNC. | [R] 👁️ |
| 09:54 | 09:54 | Arranque exitoso de VM 100 y verificación de BIOS física. | [P] ✅ |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+70
View File
@@ -0,0 +1,70 @@
# Bitácora de Operaciones - 25/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| 📍 - P02 - **Sistema DASUTEN** | sql-dasuten | ➡️ **[Viene del 24/02](2026-02-24.md)**<br>Despliegue e instalación del software del sistema DASUTEN en la VM.<br>➡️ **[Continúa el 26/02](2026-02-26.md)** |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [⏳ - DB01 - **VM SQL Server (Core)**](#sql-dasuten) | sql-dasuten | ➡️ **[Viene del 24/02](2026-02-24.md)**<br>Despliegue de nueva máquina virtual Windows Server Core genérica para rol de motor de Base de Datos (`sql-dasuten`).<br>➡️ **[Continúa el 26/02](2026-02-26.md)** |
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| sql-dasuten | Despliegue completo de la VM de base de datos: provisionamiento de instancia, instalación de Windows Server Core, configuración de red aislada, integración al dominio `dasuten.utnlr`, creación de disco dedicado para SQL Server, transferencia de ISO e instalación silenciosa del motor relacional. `[Físico: ~5 hs]` |
| srv-ns8 | Reestructuración de servicios web: migración del gestor de archivos TFM a `apps`, alta de credenciales y ampliación de límites de carga para facilitar la transferencia de ISOs pesadas. `[Remoto: ~1 hs]` |
---
## 📂 Actividades Detalladas
### srv-ns8
#### ✅ - A06 - Dashboard P2601
🚀 Despliegue de métricas web, reestructuración estructural, y evolución de los servicios core expuestos (Apps).
➡️ **[Viene del 19/02](2026-02-19.md)**
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 18:55 | 19:51 | Reestructuración de servicios: migración TFM a apps. | [R] ✅ |
| 19:51 | - | Optimización de capacidad de subida (10GB) para ISOs. | [R] ☁️ |
| 19:11 | - | Alta de credenciales utnlr y permisos de escritura. | [R] 🔑 |
| 18:55 | - | Migración de alias tfm a apps y ajuste de Docker/Nginx. | [R] 🔀 |
### sql-dasuten
#### ⏳ - DB01 - VM SQL Server (Core)
🚀 Despliegue de nueva máquina virtual Windows Server Core genérica para rol de motor de Base de Datos (`sql-dasuten`).
➡️ **[Viene del 24/02](2026-02-24.md)** | ➡️ **[Continúa el 26/02](2026-02-26.md)**
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 16:00 | 20:41 | Despliegue de VM sql-dasuten e instalación de SQL Server. | [P] ✅ |
| 20:41 | - | Inyección lateral de carga útil (VNC Bypass) vía iwr. | [P] 💉 |
| 20:31 | - | Instalación desatendida de SQL Server (SQLEngine). | [P] ⚙️ |
| 20:16 | - | Resguardo integral de infraestructura vía vzdump (ZSTD). | [P] 🛡️ |
| 20:07 | - | Transferencia SCP de imagen ISO SQL Server a Proxmox. | [P] 💿 |
| 18:36 | - | Exploración de repositorio de plantillas ISO vía SSH. | [P] 👁️ |
| 18:35 | - | Aprovisionamiento de disco dedicado VirtIO SCSI (100GB). | [P] 💾 |
| 17:51 | - | Integración al dominio dasuten.utnlr vía SConfig. | [P] 👑 |
| 17:43 | - | Configuración de red 10.0.100.11 e inyección DNS. | [P] 🟢 |
| 17:31 | - | Finalización OS base y hostname sql-dasuten. | [P] ✅ |
| 17:14 | - | Inicio de instalación interactiva vía consola VNC. | [P] 👁️ |
| 17:01 | - | Aprovisionamiento de instancia VM 101 vía SSH (Proxmox). | [P] 🚀 |
| 16:00 | - | Inicio de jornada presencial e investigación arquitectónica. | [P] 👁️ |
**Justificación Arquitectónica: Windows Server Core + SQL Server 2019**
La decisión técnica de desplegar SQL Server 2019 sobre una variante *Server Core* (sin entorno gráfico/Desktop Experience) se sustenta en tres pilares operacionales críticos para el ecosistema DASUTEN:
1. **Minimización de Superficie de Ataque (Security by Design)**
Al carecer de GUI (Explorador, IE/Edge, utilidades gráficas), Server Core elimina componentes que tradicionalmente son vectores de vulnerabilidad. Para un motor de base de datos que albergara información sensible, esta hiper-reducción del SO base reduce drásticamente la exposición a malware y la necesidad de parches de seguridad continuos.
2. **Eficiencia y Asignación Directa de Recursos (Performance)**
El entorno gráfico de Windows Server consume sostenidamente entre 800MB y 1.5GB de memoria RAM por ocioso, más ciclos de CPU para renderizado. Al utilizar Server Core, **el 100% de la RAM (`4GB` iniciales) y los procesadores quedan dedicados íntegramente al motor del SQL Server** (`sqlservr.exe`). Esto garantiza un alto hit-ratio en la caché de consultas y menor latencia en las transacciones de las PCs cliente.
3. **Escalabilidad y Compatibilidad Estable**
SQL Server 2019 es la versión madura y más probada en entornos empresariales recientes, asegurando retrocompatibilidad total con el "Sistema DASUTEN" (P02) sin los altos requisitos de hardware de SQL 2022. La administración no se degrada: la instancia se gestionará de manera moderna, remota y centralizada utilizando *SQL Server Management Studio (SSMS)* desde las estaciones de trabajo cliente, manteniendo el servidor servidor de BD ciego y blindado.
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+95
View File
@@ -0,0 +1,95 @@
# Bitácora de Operaciones - 26/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| 📍 - P02 - **Sistema DASUTEN** | sql-dasuten | ➡️ **[Viene del 25/02](2026-02-25.md)**<br>Despliegue e instalación del software del sistema DASUTEN en la VM. |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [⏳ - DB01.2 - **Reconstrucción Capa OS (Español)**](#sql-dasuten) | sql-dasuten | Despliegue de ISO Nativa en Español de Server 2022 y bypass de controladoras SATA para evitar bloqueos del BIOS virtual. Instalación en progreso. |
### ⚠️ Abortados / Suspendidos
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [⚠️ - DB01.1 - **Troubleshooting Localización (Core)**](#sql-dasuten) | sql-dasuten | ➡️ **[Viene del 25/02](2026-02-25.md)**<br>Esfuerzo matutino: Intentos fallidos de forzar SQL Español sobre Server Core Inglés (Errores registro/kernel). Se aborta por inviabilidad estructural. |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| sql-dasuten | **Operación Exitosa: Motor SQL y Capa de Gestión Nativa.** Se completó la reconstrucción integral del nodo en Español (Windows Server 2022 Core), solventando los bloqueos de localización (`es-AR`/`es-ES`). Se desplegó SQL Server 2019 Enterprise de forma desatendida en la unidad `S:\`. Se habilitó OpenSSH nativo permitiendo el gobierno directo del nodo. Se generó resguardo (VZDump) del sistema base pre-DASUTEN. |
| **Repositorio** | **Sincronización Total.** Se formalizaron las Premisas de Trabajo de la IA en el ADN (`02_protocolo.md`), se implementó la bóveda de secretos AES-256-GCM y se realizó el resguardo final de la jornada en la rama principal. |
---
## 📂 Actividades Detalladas
### srv-ns8
#### ✅ - S01 - Implementación de Bóveda de Secretos para IA
🔧 Desarrollo de un mecanismo automatizado y seguro para el consumo de credenciales por parte de la Inteligencia Artificial sin exposición en texto plano.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 12:45 | 13:00 | Creación de secret_box.rb y cifrado AES-256-GCM. | [R] ✅ |
| 13:00 | - | Documentación e integración al ADN (Sección 10). | [R] ✅ |
### sql-dasuten
#### ⏳ - DB01.2 - Re-despliegue de Capa OS (Español)
🚀 Pivote arquitectónico y reconstrucción desde cero de la máquina virtual (sql-dasuten) utilizando medios de instalación nativos en Español (ES-ES) mediante controladoras SATA.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 13:28 | 16:00 | Reconstrucción integral de sql-dasuten en Español. | [R] ⏳ |
| 16:00 | - | Habilitación de OpenSSH nativo y gobierno directo. | [R] ⏳ |
| 15:22 | - | Culminación exitosa de despliegue SQL Server 2019. | [R] ✅ |
| 15:18 | - | Despliegue de SQL Server en segundo plano (S:\). | [R] ✅ |
| 15:15 | - | Resolución de conflictos locales (es-AR vs es-ES). | [R] ⏳ |
| 15:10 | - | Refinamiento de C2 Launcher y pausa analítica. | [R] ⏳ |
| 15:02 | - | Corrección estructural de almacenamiento SQL (letra S:\). | [R] ✅ |
| 14:31 | - | Bypass de controladora SATA AHCI nativo. | [R] ⏳ |
| 14:20 | - | Instalación interactiva de Capa OS (Presencial). | [P] ⏳ |
| 13:28 | - | Reconstrucción autónoma vía Bóveda de Secretos e ISO ES. | [R] ⏳ |
| 12:32 | - | Pivot Arquitectónico: Reinstalación en Español nativo. | [R] ⏳ |
#### ⚠️ - DB01.1 - Troubleshooting de Localización y C2 (Abortado)
⚠️ Intento fallido de adaptar una ISO de Windows Server Core (Inglés) a un requerimiento estricto de SQL Server (Español) inyectando telemetría C2 y parches en el registro. Abandonado por inviabilidad del Kernel.
➡️ **[Viene del 25/02](2026-02-25.md)**
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 10:25 | 11:38 | Troubleshooting de Localización y C2 (Abortado). | [R] ⚠️ |
| 11:38 | - | Suspensión de CommitsIA y fin de bucle de reinicios. | [R] ⏳ |
| 11:33 | - | Aclaración arquitectónica del ciclo de vida C2. | [R] ⏳ |
| 11:28 | - | Diagnóstico de Deadlock y reinicio manual de VM. | [R] ⏳ |
| 11:16 | - | Inyección de parche de registro y reinicio mandatorio. | [R] ✅ |
| 11:08 | - | Diseño de Bucle C2 de doble capa (Launcher Zombie). | [R] ⏳ |
| 11:00 | - | Despliegue de parche de localización y autómatas. | [R] ✅ |
| 10:54 | - | Despliegue de bucle operativo C2 Automation. | [R] ⏳ |
| 10:49 | - | Ejecución de sonda diagnóstica de Localización. | [R] ✅ |
| 10:38 | - | Análisis de error setup.exe (InvalidPlatformOSLanguage). | [R] ✅ |
| 10:33 | - | Inyección SQL con telemetría (Fallo prematuro). | [R] ❌ |
| 10:25 | - | Implementación de Telemetría v2 (Python logger). | [R] ✅ |
### Operaciones Centrales
#### 👁️ - SINC01 - Sincronización Operativa
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 09:00 | 20:25 | Operaciones centrales y sincronización presencial/remota. | [P/R] ✅ |
| 20:25 | - | Resguardo final del repositorio Git (Commit/Push). | [R] ✅ |
| 18:20 | - | Intento de recuperación de VZDump DB01 (Migrado). | [R] ➡️ |
| 17:28 | - | Creación de usuario rmonla@pve en Proxmox. | [R] ✅ |
| 17:15 | - | Resguardo Integral Offline (Fallo parcial VM 101). | [R] ⚠️ |
| 16:50 | - | Verificación exitosa de conectividad SSH en ambos nodos. | [R] ✅ |
| 16:35 | - | Estrategia de Tunneling LPF hacia red 10.0.100.x. | [R] 👁️ |
| 16:31 | - | Inicio de verificación SSH utilizando secret_box. | [R] 👁️ |
| 15:55 | - | Inicio de sincronización remota (VPN/Anydesk). | [R] 👁️ |
| 15:20 | - | Finalización de guardia física. | [P] 👁️ |
| 09:00 | - | Inicio de sincronización presencial y rollover bitácora. | [P] 👁️ |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+65
View File
@@ -0,0 +1,65 @@
# Bitácora de Operaciones - 27/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [📍 - P02 - **Sistema DASUTEN**](#sql-dasuten) | sql-dasuten | ➡️ **[Viene del 26/02](2026-02-26.md)**<br>Despliegue e instalación del software del sistema DASUTEN en la VM con la base de datos operativa. |
| [📍 - S02 - **Hardenización SSH**](#sql-dasuten) | sql-dasuten | Hardening de OpenSSH Server (deshabilitación de password, llaves asimétricas con passphrases y auditoría). |
### ✅ Completados
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [✅ - TEST01 - **VM de Pruebas (pcv-dasu0)**](#pcv-dasu0) | pcv-dasu0 | Win 10 LTSC instalado, SSH habilitado, unida al dominio `dasuten.utnlr`. Login con `admindasu` verificado. |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| pcv-dasu0 | VM 102 desplegada: Win 10 LTSC, SSH, unida a `dasuten.utnlr`. Toolkit W-Zombi refactorizado en Ruby. |
| Operaciones | ADN multi-hebra (8 hebras), armonización de 5 bitácoras, bóveda consolidada en `scripts/seguridad/`. Dashboard P2601 actualizado. `[Remoto: 6:30]` |
---
## 📂 Actividades Detalladas
### pcv-dasu0
#### ⏳ - TEST01 - Despliegue de VM de Pruebas (Win 10 LTSC)
🚀 Creación de VM Windows 10 LTSC para validar dominio y sistema DASUTeN antes de configurar la PC física `pc-dasu0`.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 19:50 | 22:42 | Despliegue y validación de pcv-dasu0 en el dominio. | [R] ✅ |
| 22:05 | 22:42 | Creación de admindasu y unión al dominio (W-Zombi). | [R] ✅ |
| 21:45 | 22:42 | Instalación de OpenSSH Server nativo (Puerto 22). | [R] ✅ |
| 21:16 | 22:42 | Instalación de SO LTSC, hostname y red estática. | [R] ✅ |
| 20:45 | 22:42 | Fix de drivers VirtIO SCSI a SATA para instalación. | [R] 🐛 |
| 20:35 | 22:42 | Aprovisionamiento desatendido de VM 102 vía SCP. | [R] ✅ |
| 19:50 | 22:42 | Descarga de ISO Win 10 LTSC 2021 Eval (es-ES). | [R] ✅ |
### sql-dasuten
#### ✅ - DB01.3 - Finalización de Resguardo Integral (Manual)
🛡️ Confirmación de cierre del backup de la VM 101 que había quedado interactuando en bloqueos de script.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 16:15 | - | Finalización de VZDump Manual (GUI) de sql-dasuten. | [R] ✅ |
### Operaciones Centrales
#### 👁️ - SINC02 - Sincronización de Inicio de Jornada
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 16:13 | 20:35 | Operaciones centrales y sincronización de jornada. | [R] ✅ |
| 20:35 | - | Aprovisionamiento desatendido de VM 102 (pcv-dasu0). | [R] ✅ |
| 19:50 | - | Descarga de ISO Win 10 LTSC (4.6G, es-ES). | [R] ✅ |
| 18:58 | - | Despliegue de pcv-dasu0 y actualización de manifiesto. | [R] ✅ |
| 18:33 | - | Extensión del ADN: Ruby y hebra de Proyectos (07). | [R] ✅ |
| 18:15 | - | Armonización integral de bitácoras históricas. | [R] ✅ |
| 17:40 | - | Refactorización del ADN a Arquitectura Multi-Hebra. | [R] ✅ |
| 16:13 | - | Inicio de sincronización remota y reporte de backup. | [R] 👁️ |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+69
View File
@@ -0,0 +1,69 @@
# Bitácora de Operaciones - 28/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [➡️ - P02 - **Sistema DASUTEN**](2026-03-02.md) | sql-dasuten | ➡️ **[Continúa el 02/03](2026-03-02.md)**<br>Despliegue e instalación del software del sistema DASUTEN en la VM con la base de datos operativa. |
| [➡️ - S02 - **Hardenización SSH**](2026-03-02.md) | sql-dasuten | ➡️ **[Continúa el 02/03](2026-03-02.md)**<br>Hardening de OpenSSH Server (deshabilitación de password, llaves asimétricas con passphrases y auditoría). |
| [➡️ - TEST03 - **Conectividad SQL**](2026-03-02.md) | pcv-dasu0 | ➡️ **[Continúa el 02/03](2026-03-02.md)**<br>Pruebas de acceso al motor SQL Server desde la VM de pruebas. Validar que el sistema DASUTEN funcione desde el cliente. |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [✅ - SEC01 - **Refactorización ns8-candados**](#srv-ns8) | srv-ns8 | Unificación de scripts de seguridad en `tools/ns8-candados/`. |
| [✅ - BKP01 - **Refactorización ns8-bkps**](#srv-ns8) | srv-ns8 | Refactorización de `dtic-BKPs``ns8-bkps` v6.0 modular. |
| [⏳ - P2602 - **Proyecto Backups DTIC**](#srv-ns8) | srv-ns8 | Creación del proyecto P2602 — Automatización de Backups. Fase 1: Reconocimiento. |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| srv-ns8 | 🔐 SEC01: Refactorización ns8-candados ✅. ⚙️ BKP01: Refactorización ns8-bkps v6.0 ✅. 🚀 **P2602 Fase 1** (Reconocimiento): SSH desplegado a 12/15 nodos (9 Linux + 3 Windows). Puerto 7022 hardening en VMs Windows. Inventario auditado: 15 guests a respaldar en 4 hipervisores (pmox1/2/3 + xen1). 3 pendientes: pcv-dasu1/2, pcv-serviio. |
---
## 📂 Actividades Detalladas
### srv-ns8
#### ✅ - SEC01 - Refactorización ns8-candados
🔐 Unificación de `candado.rb`, `secret_box.rb` y `.agent_secrets.json` en una sola herramienta Ruby `ns8-candados.rb`.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 08:00 | 08:34 | Refactorización ns8-candados. Unificación de scripts. | [P] ✅ |
#### ✅ - BKP01 - Refactorización ns8-bkps
⚙️ Refactorización de `dtic-BKPs` v5.5.1 a `ns8-bkps` v6.0 con arquitectura modular.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 08:34 | 08:57 | Refactorización ns8-bkps v6.0 modular. | [P] ✅ |
#### ⏳ - P2602 - Proyecto Automatización de Backups
🚀 Definición del proyecto P2602: automatizar backups vzdump vía SSH a pool Proxmox (pmox1/2/3).
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 09:46 | 19:19 | Proyecto P2602: Automatización de Backups DTIC. | [P/R] ⏸️ |
| 19:11 | 19:19 | OpenSSH en srvv-sysacadweb (Win 2008R2) legacy. | [R] ✅ |
| 17:25 | 17:38 | SSH Port Hardening: Puerto 7022 en Fenix/Maurik. | [R] ✅ |
| 11:06 | 11:27 | OpenSSH en srvv-fenix y srvv-maurik vía w-zombi. | [P] ✅ |
| 11:00 | - | XenServer agregado a P2602 (15 guests total). | [P] ⏳ |
| 10:52 | - | Hostname VM 102 corregido a srvv-SITIO0. | [P] ⏳ |
| 10:29 | 10:45 | Despliegue SSH a 9 nodos Linux sin contraseña. | [P] ✅ |
| 10:22 | - | Fase 1 — R01 SSH a VMs pmox1. Solo SITIO OK. | [P] ⏳ |
| 10:18 | - | Fase 1 — R02 Inventario real (16 guests). | [P] ⏳ |
| 10:10 | 10:16 | Fase 1 — R01 SSH a hipervisores (funcional). | [P] ⏳ |
| 09:46 | 10:11 | Creación del manifiesto P2602 (Proyectos). | [P] ⏳ |
### Operaciones Centrales
#### 👁️ - SINC01 - Sincronización de Inicio de Jornada
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 08:17 | - | Inicio de Jornada Presencial y sincronización de contexto. | [P] 👁️ |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+30
View File
@@ -0,0 +1,30 @@
# Bitácora de Operaciones - 01/03/2026
## Control de Gestión
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [➡️ - P2602 - **Proyecto Backups DTIC**](2026-03-02.md) | srv-ns8 | ➡️ **[Continúa el 02/03](2026-03-02.md)**<br>Fase 1: Reconocimiento. SSH 12/15 ✅. Pendiente: pcv-dasu1/2, pcv-serviio (Windows pmox2). |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| srv-ns8 | 🚀 **P2602 Fase 1** (cont.): Completando despliegue SSH a 3 VMs Windows restantes en pmox2. |
---
## 📂 Actividades Detalladas
### srv-ns8
#### ➡️ - P2602 - Proyecto Automatización de Backups (cont.)
🚀 Continuación Fase 1: Despliegue SSH a VMs Windows de pmox2.
➡️ **[Continúa el 02/03](2026-03-02.md)**
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 12:42 | - | Inicio sesión remota y sincronización de contexto. | [R] 👁️ |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+83
View File
@@ -0,0 +1,83 @@
# Bitácora de Operaciones - 02/03/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [📍 - P02 - **Sistema DASUTEN**](#sql-dasuten) | sql-dasuten | ➡️ **[Viene del 28/02](2026-02-28.md)**<br>Despliegue e instalación del software del sistema DASUTEN en la VM con la base de datos operativa. |
| [📍 - S02 - **Hardenización SSH**](#sql-dasuten) | sql-dasuten | ➡️ **[Viene del 28/02](2026-02-28.md)**<br>Hardening de OpenSSH Server (deshabilitación de password, llaves asimétricas con passphrases y auditoría). |
| [📍 - TEST03 - **Conectividad SQL**](#pcv-dasu0) | pcv-dasu0 | ➡️ **[Viene del 28/02](2026-02-28.md)**<br>Pruebas de acceso al motor SQL Server desde la VM de pruebas. Validar que el sistema DASUTEN funcione desde el cliente. |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [⏳ - BK01 - **Backup SQL DASUTEN**](#srvv-fenix) | srvv-fenix → sql-dasuten | Transferencia del backup `bksysdasuten_Full` (~8.6 GB) completada y verificada. |
| [⏳ - P2602 - **Proyecto Backups DTIC**](#srv-ns8) | srv-ns8 | ➡️ **[Viene del 01/03](2026-03-01.md)**<br>Fase 1: Reconocimiento. SSH 12/15 ✅. Pendiente: pcv-dasu1/2, pcv-serviio (Windows pmox2). |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| srvv-fenix | Inicio de transferencia del backup SQL DASUTEN (`bksysdasuten_Full`, ~8.6 GB) hacia `sql-dasuten` vía srv-ns8 como intermediario para el proyecto P2601. |
| pc-dasu0 | Resolución de incidente de conectividad reportado por Andrea ALMIRON. Verificación de nodos y servidores sin hallazgos internos; causa atribuida a microcortes del ISP. |
| srv-ns8 | Dos jornadas presenciales (09:00-13:00 y 16:00-21:00). Rollover completado. Integración de API DeepSeek validada. Gestión de clases POSG.EMIA completada (`youtu.be/RWF8dmJbgaM`). |
---
## 📂 Actividades Detalladas
### srvv-fenix
#### ⏳ - BK01 - Backup SQL DASUTEN
📦 Copia del backup de la base de datos del sistema DASUTEN desde `srvv-fenix` (`E:\BK_SQL\02-03-26\bksysdasuten_Full`, ~8.6 GB) hacia `sql-dasuten` (10.0.100.11). Se usa `srv-ns8` como intermediario ya que ambos nodos están en redes aisladas.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 17:03 | 18:05 | Backup SQL DASUTEN: Fenix -> NS8 -> Dasuten. | [R] ✅ |
| 18:00 | 18:05 | Carga SCP final srv-dasu (host) -> sql-dasuten. | [R] ✅ |
| 17:58 | - | Instalación de OpenSSH y habilitación puerto 22. | [R] ✅ |
| 17:53 | - | Activación de w-zombi para inyección lateral. | [R] ✅ |
| 17:40 | - | Intento de carga directa (Fallo por red/túnel). | [R] ❌ |
| 17:09 | 17:34 | Descarga SCP srvv-fenix -> srv-ns8 (Paso 1). | [R] ✅ |
| 17:03 | - | Verificación de backup Full (8.64 GB) en Fenix. | [R] ✅ |
### pc-dasu0
#### ✅ - SOP01 - Soporte Conectividad pc-dasu0
🛠️ Atención presencial a Andrea ALMIRON por problemas de conexión intermitente a `pcv-dasu1`. Tras verificar nodos y servidores, se descarta falla interna y se determina que la causa son microcortes del proveedor de internet (ISP).
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 09:00 | 10:00 | Soporte Andrea ALMIRON: Causa microcortes ISP. | [P] ✅ |
### srv-ns8
#### ✅ - DIGI01 - Gestión de Clases Grabadas POSG.EMIA
📂 Procesamiento de clases grabadas del fin de semana. El procedimiento implica la verificación en la planilla `dtic-DIGI` y la descarga de los archivos de Zoom para su posterior publicación en la playlist correspondiente en YouTube.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 19:50 | 20:35 | Gestión de clases EMIA y Nota de Horas Extras. | [P] ✅ |
| 20:35 | - | Redacción de Nota-2601_HorasExtras para RRHH. | [P] ✅ |
| 19:50 | 20:11 | Procesamiento y subida a YouTube de clase EMIA. | [P] ✅ |
#### ⏳ - SINC02 - Sincronización de Jornada Vespertina
🚀 Inicio de Jornada Presencial Vespertina (16:00 - 21:00). Continuación del proyecto P2601 DASUTEN y operaciones generales.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 16:00 | 21:00 | Operaciones centrales (DeepSeek / SINC02). | [P/R] ✅ |
| 16:00 | 16:05 | Integración DeepSeek: llave y test de conectividad. | [R] ✅ |
| 16:00 | - | Inicio sesión presencial vespertina. | [P] 👁️ |
#### ✅ - SINC01 - Sincronización de Inicio de Jornada
🚀 Inicio de Jornada Presencial Matutina (09:00 - 13:00). Sincronización de contexto con ADN, bitácoras previas y Proyecto P2601.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 09:00 | 13:00 | Sincronización de inicio y Rollover de bitácora. | [P] ✅ |
| 09:00 | 10:02 | Rollover 2026-03-02 y migración de pendientes. | [P] ✅ |
| 09:00 | - | Inicio sesión presencial matutina. | [P] 👁️ |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+57
View File
@@ -0,0 +1,57 @@
# Bitácora de Operaciones - 03/03/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [📍 - P02 - **Sistema DASUTEN**](#sql-dasuten) | sql-dasuten | ➡️ **[Viene del 02/03](2026-03-02.md)**<br>Despliegue e instalación del software del sistema DASUTEN en la VM con la base de datos operativa. |
| [📍 - S02 - **Hardenización SSH**](#sql-dasuten) | sql-dasuten | ➡️ **[Viene del 02/03](2026-03-02.md)**<br>Hardening de OpenSSH Server (deshabilitación de password, llaves asimétricas con passphrases y auditoría). |
| [📍 - TEST03 - **Conectividad SQL**](#pcv-dasu0) | pcv-dasu0 | ➡️ **[Viene del 02/03](2026-03-02.md)**<br>Pruebas de acceso al motor SQL Server desde la VM de pruebas. Validar que el sistema DASUTEN funcione desde el cliente. |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [⏳ - P2603 - **Sistema de Bitácoras**](#srv-ns8) | srv-ns8 | Nuevo proyecto: Aplicación web `dtic-BITACORAs` con arquitectura frontend/backend para registro de operaciones. |
| [⏳ - P2602 - **Proyecto Backups DTIC**](#srv-ns8) | srv-ns8 | ➡️ **[Viene del 02/03](2026-03-02.md)**<br>Fase 1: Reconocimiento. SSH 12/15 ✅. Pendiente: pcv-dasu1/2, pcv-serviio (Windows pmox2). |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| srv-ns8 | Inicio de jornada presencial (08:00). Reorganización de archivos en `dtic-DIGI` y directorio de notas. Configuración de rclone para sincronización con Google Drive. Creación del proyecto P2603 (dtic-BITACORAs): sistema web de bitácoras con React 18 + Node.js + PostgreSQL. |
---
## 📂 Actividades Detalladas
### srv-ns8
#### ⏳ - SINC01 - Inicio de Jornada Presencial
🚀 Inicio de jornada presencial (08:00 - 13:00). Sincronización de contexto y tareas administrativas.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 12:35 | 12:50 | (IA) **P2603 - Sistema de Bitácoras**: Creación completa de `dtic-BITACORAs/`. Backend API REST (3 rutas CRUD), esquema SQL I-F-D-E, frontend React 18 dark mode, Docker Compose. 3 contenedores operativos. | [P] ✅ |
| 11:15 | 11:37 | (IA) **Categorización de Nodos**: Separación de nodos exclusivos vs. soporte en P2601 y P2602. ADN 07 actualizado con el nuevo estándar. | [P] ✅ |
| 10:50 | 11:15 | **Sincronización Notas & Dashboard**: Vinculación de GDrive y actualización de `Estadoproyecto.tsx`. | [P] ✅ |
| 10:20 | 10:50 | **Unificación BKPs**: Estandarización completa a `dtic-BKPs`. Referencias internas actualizadas y `ns8-bkps` jubilado. | [P] ✅ |
| 09:40 | 10:02 | **Rollover 2026-03-03**: Creación de bitácora y migración de pendientes. | [P] ✅ |
| 08:00 | 09:40 | Inicio sesión presencial. Tareas de organización en `dtic-DIGI` y `notas/`. | [P] 👁️ |
### sql-dasuten (VM 101)
#### ⏳ - P02 - Fase 1: Instalación de Sistema DASUTEN
🚀 Retomando la fase de despliegue del software tras la verificación física del hardware y resolución de anomalías de red.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 12:05 | 12:08 | (IA) **Preparación**: Verificación de estado en srv-dasu. VMs 100 y 101 se encuentran en estado *stopped*. | [R] ✅ |
| 12:08 | 12:12 | (IA) **P02 - Fase 1**: Encendido secuencial de dc-dasuten (100) y sql-dasuten (101). Restauración de regla MASQUERADE en iptables (faltante tras reinicio). | [P] ✅ |
| 12:12 | 12:30 | (IA) **P02 - Fase 2**: Verificación de conectividad SSH. VMs arrancando, Windows Server Core en proceso de boot. | [P] ⏳ |
| 12:00 | 12:05 | (IA) **Seguridad**: Autorización de sesión SSH vía `ns8-candados abrir` (carga de RSA en el agente). | [P] ✅ |
| 11:46 | 12:00 | (IA) **Restauración de Servicio**: Conectividad con srv-dasu restaurada tras intervención en red física por el usuario. | [P] ✅ |
| 11:40 | 11:50 | (IA) **Ontología**: Creación y registro de la ficha técnica de nodo [sql-dasuten.md](../nodos/sql-dasuten.md). | [R] ✅ |
| 11:37 | 11:46 | (IA) **Diagnóstico de Red**: Se intentó retomar P02. Fallo de `ping` y `ssh` a **10.0.10.205** (srv-dasu): *No route to host*. | [P] ⚠️ |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+98
View File
@@ -0,0 +1,98 @@
# Bitácora de Operaciones - 04/03/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [➡️ - P02 - **Sistema DASUTEN**](2026-03-05.md) | sql-dasuten | ➡️ **[Continúa el 05/03](2026-03-05.md)**<br>Despliegue e instalación del software del sistema DASUTEN en la VM con la base de datos operativa. |
| [➡️ - TEST03 - **Conectividad SQL**](2026-03-05.md) | pcv-dasu0 | ➡️ **[Continúa el 05/03](2026-03-05.md)**<br>Pruebas de acceso al motor SQL Server desde la VM de pruebas. |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [➡️ - P2603 - **Sistema de Bitácoras**](2026-03-05.md) | srv-ns8 | ➡️ **[Continúa el 05/03](2026-03-05.md)**<br>Evolución de `dtic-BITACORAs`: CRUD completo implementado. |
| [➡️ - P2602 - **Proyecto Backups DTIC**](2026-03-05.md) | srv-ns8 | ➡️ **[Continúa el 05/03](2026-03-05.md)**<br>Fase 1: Reconocimiento. SSH 12/15 ✅. Pendiente: pcv-dasu1/2, pcv-serviio (Windows pmox2). |
### ✅ Resueltos
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [✅ - INC01 - **Sin Red srvv-maurik**](#srvv-maurik) | srvv-maurik | 🟢 Resuelto. Reasignación de VIF erróneo en XenServer. |
| [✅ - S02 - **Hardenización SSH**](#sql-dasuten) | sql-dasuten | 🟢 OpenSSH instalado en puerto 7022. Conexión SSH directa verificada. |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| srv-ns8 | Jornada remota (10:45) y presencial (16:12). CRUD dtic-BITACORAs implementado. Mejora anti-loop en w-zombi. Conectividad red 10.0.100.x restaurada. |
| pc-dasu0 | Reporte de incidente (08:24) por Andrea Almiron. Pérdida de acceso directo por caída de red de servidores. |
| srvv-maurik | Incidente de red resuelto (12:00). Reasignación de VIF erróneo en XenServer. |
| sql-dasuten | SSH habilitado (puerto 7022) vía w-zombi. Conexión directa desde srv-ns8 verificada. |
---
## 📂 Actividades Detalladas
### srv-ns8
#### ⏳ - SINC01 - Inicio de Jornada Remota
🚀 Inicio de jornada remota (10:45). Tareas administrativas y continuación de desarrollo.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 10:45 | 10:48 | (IA) **Rollover 2026-03-04**: Creación de bitácora diaria y migración de pendientes del 03/03. | [R] ✅ |
| 10:48 | 10:53 | (IA) **P2603 - CRUD Completo**: Implementación de CRUD completo para nodos, bitácoras y entradas con confirmación de borrado y edición inline. Contenedores reconstruidos. | [R] ✅ |
| 11:25 | 11:25 | (IA) **ns8-candados**: Almacenamiento de credenciales SSH de srv-xen1 (`ssh-xen1`). | [R] ✅ |
| 12:39 | 16:12 | (IA) **SINC01 - Pausa**: El usuario cierra sesión remota y la IA continúa operando en P2603 de forma asíncrona. | [R] ✅ |
| 16:12 | 16:27 | **SINC02 - Inicio de Jornada Presencial**: Retoma de actividades en sitio. Conectividad con red 10.0.100.x restaurada (ruta estática + fix typo en srv-dasu). VMs DASUTEN alcanzables. | [P] ✅ |
| 16:33 | 17:04 | (IA) **w-zombi - Mejora anti-loop**: Implementación de mecanismo de seguridad: máximo 5 ciclos totales antes de auto-detención. Servidor reiniciado con nuevo código. | [R] ✅ |
| 17:39 | 18:03 | **INC03 - Sin acceso a /apps**: Causa raíz: DNS de `srvv-maurik` no resuelve `ns8.frlr.utn.edu.ar` (NXDOMAIN). Registro A agregado pero aún falla. Pausado para continuar después. | [P] ⚠️ |
| 18:03 | 18:09 | (IA) **P02 - Ingeniería Inversa**: Análisis del ejecutable `DasutenSQL.exe` (VFP9/Kermet). Identificada cadena de conexión en `Kermet.ini` (`SERVER=srvFENIX`, `DATABASE=sysdasuten`). Documentado en [`P2601_dasuten_ingenieria_inversa.md`](../proyectos/P2601_dasuten_ingenieria_inversa.md). | [R] ✅ |
| 18:44 | 18:50 | (IA) **P02 - Preparación de Despliegue**: Empaquetado de `runSysDasuten/` (268MB zip) y creación de payload w-zombi para despliegue automático en `pcv-dasu0`. | [R] ✅ |
| 19:25 | 19:33 | (IA) **Dashboard P2601 - Restauración**: El directorio `dashboard/` no existía (nunca fue commiteado a git). Recreado con panel estático. Fix de permisos Nginx (`chmod o+x`). | [R] ✅ |
| 19:46 | 19:59 | (IA) **Dashboard P2601 - Plan de Integración**: Diseño de integración del dashboard como parte de dtic-BITACORAs. Nuevas tablas (proyectos, fases, hitos), API REST y componente React. 6 fases definidas. Plan en [`docs/260304-1959_plan_dashboard_P2601_en_bitacoras.md`](../docs/260304-1959_plan_dashboard_P2601_en_bitacoras.md). | [R] ✅ |
| 19:59 | 20:10 | (IA) **Dashboard P2601 - Implementación**: Migración BD (3 tablas, 15 hitos), API REST `/api/proyectos`, componente React `ProyectoDashboard.tsx`. Fix columna ambigua. Docker rebuild. Verificado OK. Plan en [`docs/260304-1959_plan_dashboard_P2601_en_bitacoras.md`](../docs/260304-1959_plan_dashboard_P2601_en_bitacoras.md). | [R] ✅ |
### pc-dasu0
#### ✅ - INC01 - Sin Red srvv-maurik (Reporte inicial)
Reporte de falla de sistema por parte de Andrea Almiron. Pérdida de acceso directo debido a falta de conectividad con servidores VDI/AD.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 08:24 | 11:08 | **Reporte de Incidente**: Usuario reporta que no puede ingresar al sistema porque se borró el acceso directo del escritorio. Intentos fallidos de reconexión evidencian un problema subyacente de conectividad con `srvv-fenix` o `srvv-maurik`. Se escala a infraestructura y se convoca agente IA. | [P] ⚠️ |
### srvv-maurik (VM en srv-xen1)
#### ✅ - INC01 - Sin Red en VM (Diagnóstico y Resolución)
🟢 **Resolución**: Incidente restaurado exitosamente corrigiendo asignación de VIF en XenServer.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 11:08 | 11:11 | (IA) **Análisis de Red (XenCenter)**: `ipconfig /all` muestra IP 10.0.10.10, ping localhost OK, ping a 10.0.10.23 falla. Problema en **capa 2** (VIF/vSwitch). VM reiniciada y AV desactivado sin mejoras. | [R] ✅ |
| 11:11 | 11:30 | (IA) **Diagnóstico desde srv-xen1**: Conexión SSH como `rmonla@10.0.10.23`. Hallazgos: VIF device=1 está attached en red equivocada (`xenbr1/eth1`), VIF device=0 **NOT ATTACHED**. | [R] ✅ |
| 11:30 | 11:38 | (IA) **Reparación de VIF**: Se descubrió VIF activa en Virtual Switch erróneo. Se destruyó y recreó adaptador asociándolo a la red correcta, heredando la misma MAC `76:2a:9d:93:b2:c8`. Restauración completa en capa L2. | [R] ✅ |
| 11:38 | 12:00 | **Verificación del Usuario**: Notificación de operabilidad a Andrea Almiron. Confirmación de acceso al sistema exitoso. Incidente finalizado y cerrado. | [P] ✅ |
### sql-dasuten
#### ✅ - S02 - Hardenización SSH
🟢 Instalación y configuración de OpenSSH Server en `sql-dasuten` para permitir acceso remoto seguro.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 16:27 | 16:30 | **Instalación SSH**: Ejecución de `setup.ps1` vía w-zombi desde la consola del servidor. OpenSSH instalado, puerto 7022, firewall abierto, servicio reiniciado. | [P] ✅ |
| 16:30 | 16:31 | (IA) **Verificación SSH**: Conexión directa desde srv-ns8 a `admindasu@10.0.100.11:7022` exitosa. Hostname confirmado. | [R] ✅ |
| 17:06 | 17:14 | (IA) **P02 - Acceso SQL Server**: Login `DASUTEN\\admindasu` no existía en SQL Server. Payload w-zombi v2: modo single-user → `CREATE LOGIN` + `ALTER SERVER ROLE sysadmin`. Fix exitoso. | [R] ✅ |
| 17:14 | 17:16 | (IA) **P02 - Restauración Base de Datos**: `RESTORE DATABASE [sysdasuten]` desde `C:\\bksysdasuten_Full.bak` (~9GB). Datos movidos a `S:\\Data\\`. 1.132.497 páginas procesadas en 46s (189 MB/s). | [R] ✅ |
### pcv-dasu0 (VM de pruebas)
#### ⏳ - TEST03 - Pruebas de Acceso al Sistema DASUTEN
🔧 Preparación de la VM de pruebas para verificar conectividad con SQL Server y ejecución del sistema.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 17:25 | 17:31 | **Inicio de VM y SSH**: VM iniciada por el usuario. Auto-start habilitado en las 3 VMs. SSH instalado vía w-zombi (puerto 7022). Conexión verificada desde srv-ns8. | [P] ✅ |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+100
View File
@@ -0,0 +1,100 @@
# Bitácora de Operaciones - 05/03/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [📍 - INC03 - **Sin acceso a /apps**](#srv-ns8) | srv-ns8 | ➡️ **[Viene del 04/03](2026-03-04.md)**<br>Problema de resolución DNS en `srvv-maurik` para `ns8.frlr.utn.edu.ar`. |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [⏳ - P02 - **Sistema DASUTEN**](#pcv-dasu0) | pcv-dasu0 | Despliegue exitoso. Login verificado con `aalmiron`. Pendiente: verificación presencial. |
| [⏳ - P2603 - **Sistema de Bitácoras**](#srv-ns8) | srv-ns8 | ➡️ **[Viene del 04/03](2026-03-04.md)**<br>Evolución de `dtic-BITACORAs`: Integración del Dashboard P2601 y optimización de herramientas. |
| [⏳ - P2602 - **Proyecto Backups DTIC**](#srv-ns8) | srv-ns8 | ➡️ **[Viene del 04/03](2026-03-04.md)**<br>Fase 1: Reconocimiento. SSH 12/15 ✅. Pendiente: pcv-dasu1/2, pcv-serviio (Windows pmox2). |
### ✅ Resueltos
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
| [✅ - TEST03 - **Conectividad SQL**](#pcv-dasu0) | pcv-dasu0 | 🟢 Resuelto. Firewall TCP 1433 abierto. `TcpTestSucceeded: True`. Login exitoso con usuario `aalmiron`. |
| [✅ - NET01 - **Tailscale srv-dasu**](#srv-dasu) | srv-dasu | 🟢 Resuelto. Tailscale v1.94.2 instalado. IP: `100.116.210.36`. Subnet router `10.0.100.0/24` habilitado. |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| srv-ns8 | Inicio de jornada presencial (08:00). Análisis de alineación con el ADN y bitácora anterior. Rollover de tareas completado. Configuración técnica para optimización de IA en el editor. |
| srv-dasu | Instalación de Tailscale (v1.94.2) y configuración como subnet router para alcanzar la red aislada 10.0.100.0/24 desde Tailscale. |
| pcv-dasu0 | Despliegue completo del sistema DASUTEN: SCP, extracción, config Kermet.ini, componentes, fuentes, firewall SQL, login exitoso con `aalmiron`. Pendiente verificación presencial. |
---
## 📂 Actividades Detalladas
### srv-dasu
#### ✅ - NET01 - Despliegue de Tailscale
🚀 Instalación de Tailscale en el hypervisor anfitrión (10.0.10.205) para establecer túnel VPN y garantizar acceso remoto exterior a la subred aislada 10.0.100.x de las VMs.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 10:21 | 10:28 | (IA) **Instalación:** Ejecución de script de instalación automatizado. Tailscale v1.94.2 instalado, autenticado (IP: `100.116.210.36`) y configurado como subnet router para `10.0.100.0/24`. | [P] ✅ |
---
### pcv-dasu0
#### ⏳ - P02 - Pruebas de funcionamiento DASUTEN
🚀 Inicio de pruebas del sistema Dasuten. Fase 1: Verificación de acceso SSH. Fase 2: Despliegue de aplicación e ingeniería.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 09:30 | 09:40 | 🔒 **Credenciales**: Modificación de la herramienta ns8-candados y obtención de credenciales seguras para pcv-dasu0. | [P] ✅ |
| 10:17 | 10:20 | (IA) **P02 - Plan de Despliegue**: Creación del documento de paso a paso para transferencia y configuración de `runSysDasuten.zip` en `docs/plan`. | [P] ✅ |
| 11:01 | 11:03 | (IA) **P02 - Corrección Contextual y SSH**: Actualización de ADN (`nodos/pcv-dasu0.md`) denotando el uso del puerto `7022` por hardering. Transferencia SCP del payload `runSysDasuten.zip` al anfitrión. | [P] ✅ |
| 11:03 | 11:05 | (IA) **P02 - Extracción de Payload**: Descompresión del sistema Dasuten vía PowerShell remoting hacia `C:\Dasuten`. | [P] ✅ |
| 11:05 | 11:07 | (IA) **P02 - Configuración Kermet**: Inyección de cadenas de conexión en `Kermet.ini` (SERVER=sql-dasuten) en el binario desplegado. | [P] ✅ |
| 11:07 | 11:09 | (IA) **P02 - Dependencias y Fuentes**: Instalación de InstaladorComponentesKermet.exe y carga de fuentes TrueType en el registro de Windows. | [P] ✅ |
| 11:09 | 11:31 | (IA) **P02 - Conectividad SQL**: Se abrió regla de firewall TCP 1433 en sql-dasuten. Test-NetConnection confirmó `TcpTestSucceeded: True`. | [P] ✅ |
| 11:31 | 11:35 | (IA) **P02 - Verificación GUI**: Lanzamiento de `DasutenSQL.exe`. Pantalla de login confirmó el correcto arranque del sistema. | [P] ✅ |
| 11:40 | 11:42 | (IA) **P02 - Indagación de Usuarios**: Consulta de la tabla `Usuarios` en `sysdasuten`. Se identificaron 13 registros. | [P] ✅ |
| 11:48 | 11:55 | ✅ **P02 - Login Exitoso**: Prueba de ingreso al sistema con credenciales de `aalmiron` (proporcionadas por Andrea Almirón). Login y arranque inicial del sistema exitoso. | [P] ✅ |
| 11:55 | 12:57 | 👤 **P02 - Verificación Presencial**: Andrea Almirón (usuario final) validó in-situ el estado funcional y operativo del sistema. Resultado **EXITOSO**. | [P] ✅ |
| 12:08 | 12:15 | (IA) **Dashboard P2601**: Cierre de TEST03 y NET01. Actualización de métricas (11 hitos, 79%), nodos y timeline en `dashboard/index.html`. | [P] ✅ |
---
### srv-ns8
#### ✅ - SINC01 - Despliegue, Armonización y Cierre de Jornada
🚀 Documentación de avance y sincronización de dashboards.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 08:00 | 08:15 | (IA) **Análisis de ADN**: Revisión de hebras 02 (Bitácora), 04 (Iconografía) y 05 (IA) para asegurar el cumplimiento de normativas en la nueva jornada. | [P] ✅ |
| 08:15 | 08:30 | (IA) **Rollover 2026-03-05**: Migración de pendientes y estados "En Proceso" desde la bitácora del 04/03. | [P] ✅ |
| 08:30 | 08:45 | 👁️ **Optimización Zed + DeepSeek**: Análisis de configuración para integrar DeepSeek en Zed via OpenAI-compatible API. Se requiere editar `settings.json` con el `base_url: "https://api.deepseek.com"` y el modelo `deepseek-chat`. | [P] 👁️ |
| 10:10 | 10:15 | (IA) **ADN**: Volcado de plan en `docs/plan` y actualización de hebras 05_ia, 07_proyectos y el manifiesto P2601_dasuten. | [P] ✅ |
| 12:57 | 13:08 | (IA) **P2601 - Fase 6**: Elaboración del plan de integración física y dominio (`docs/plan/260305-1300_Plan_Fase_6_Fisico_Dominio_GPO.md`). Actualización de contexto operativo en ADN (Tailscale router). | [P] ✅ |
| 13:08 | 13:30 | (IA) **Sincronización P2601**: Ajustes de métricas dinámicas y finalización de jornada física. | [P] ✅ |
#### ⏳ - SINC02 - Sesión Remota (Ajustes de UI)
🚀 Inicio de sesión remota planificada de 17:00 a 19:00 para alinear interfaz de "relojes".
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 17:00 | 18:45 | (IA) **Dashboard P2601**: Reordenamiento de relojes (Fases 5/6 > Hitos > Horas) y corrección de build. Cierre de Fase 5 en DB. | [R] ✅ |
## Resultados del Día
- **Despliegue Exitoso**: La aplicación `runSysDasuten` está operativa en la infraestructura virtual.
- **Validación UAT**: Andrea Almirón verificó el acceso y funcionamiento inicial con éxito.
- **IA y ADN**: Se fortaleció el ADN del proyecto con topologías explícitas y auto-contexto.
- **Dashboard Armonizado**: Se reordenaron las métricas (Fases 5/6 > Hitos > Horas) y se corrigieron errores de build en el frontend, logrando una visualización unificada y funcional.
## Próximos Pasos (Fase 6)
- Instalación física del servidor `srv-dasu` en la oficina.
- Unión de `pc-dasu0` al dominio `dasuten.utnlr`.
- Configuración de GPOs de seguridad.
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+234
View File
@@ -0,0 +1,234 @@
# Bitácora 2026-03-06
## 🏢 Jornada Laboral Presencial
**Horario:** 08:00 - 13:00
**Modalidad:** Presencial en oficina
**Inicio registrado:** 10:14 AM
**Responsable:** rmonla
### 🎯 Objetivos del Día
1. Verificar funcionamiento del nodo srv-ns8
2. Acceder y revisar dashboard: ns8.frlr.utn.edu.ar/bitacoras/p2601
3. Crear plan de trabajo específico para hoy
4. Continuar implementación del Plan ADN BITACORAs
### 📋 Plan de Trabajo Hoy
#### Mañana (08:00-10:00) ✓
- [x] Verificación inicial del sistema
- [x] Revisión del dashboard
- [x] Planificación del día
#### Media Mañana (10:00-13:00)
- [ ] Implementación tareas ADN BITACORAs
- [ ] Seguimiento del progreso del plan
- [ ] Registro de actividades en bitácora
### 🔍 Verificación del Nodo srv-ns8
**Dashboard:** ns8.frlr.utn.edu.ar/bitacoras/p2601
**Estado:** ✅ Funcionando correctamente
**Observaciones:** Dashboard accesible vía HTTPS (código 200 OK). Aplicación React/Vite en ejecución. Redirección HTTP → HTTPS configurada.
### 📊 Progreso ADN BITACORAs (Estado Actual)
**Progreso general:** 38% completado (24/62 tareas)
**Fase actual:** FASE 2 - Herramientas CLI Avanzadas (50% completada)
**Próximas tareas prioritarias:**
1. **2.2:** Sistema de búsqueda y filtrado
2. **2.4:** Pruebas unitarias para operaciones BD
3. **2.5:** Documentación de instalación y configuración
4. **3.6:** Autocompletado para comandos CLI
5. **4.2:** Monitor de cambios en BD
**Fecha estimada de finalización:** 14 de marzo de 2026
### ✅ Verificación Técnica Completada
- **Dashboard srv-ns8:** ✅ Accesible y funcionando
- **Protocolo:** HTTPS activo (redirección automática desde HTTP)
- **Tecnología:** React + Vite + TypeScript
- **Servidor:** nginx/1.22.1
- **Conexión:** Estable y rápida
### 📊 Análisis de Esquema para Búsqueda (Tarea 2.2)
**Estado:** ✅ COMPLETADO
**Archivo generado:** `tools/analizar_esquema_busqueda.rb`
#### 📋 Estructura de Base de Datos:
- **Nodos:** 14 registros (servidores, VMs, PCs)
- **Bitácoras:** 15 registros (bitácoras diarias)
- **Temas:** 49 registros (agrupadores por nodo)
- **Entradas:** 112 registros (actividades cronológicas)
- **Total:** 190 registros migrados
#### 🔍 Campos para Búsqueda Identificados:
1. **Full-text search:**
- `entradas.descripcion` (texto libre de actividades)
- `temas.descripcion` (descripción de temas)
- `nodos.descripcion` (descripción de nodos)
- `bitacoras.resumen` (resumen diario)
2. **Filtrado por atributos:**
- `entradas.estado` (⏳, ✅, ❌, ⚠️, ⏸️)
- `entradas.modo` (P=Presencial, R=Remoto)
- `entradas.inicio/fin` (rango horario)
- `bitacoras.fecha` (rango de fechas)
- `nodos.tipo` (servidor, vm, pc)
#### 🏗️ Arquitectura Propuesta:
- **Clase BuscadorBD:** Lógica central de búsqueda
- **Clase FiltrosBD:** Sistema de filtrado avanzado
- **Comandos CLI:** `adn db buscar:entradas`, `adn db filtrar:entradas`
- **Optimización:** 11 índices PostgreSQL recomendados
- **Rendimiento:** Meta < 500ms para 10k registros
#### 🚀 Próximo Paso:
Implementación de `BuscadorBD` en `tools/bitacoras-db/core/buscador_bd.rb`
---
## 📋 Control de Gestión
### Pendientes
| ID | Nodo | Detalle |
| :--- | :--- | :--- |
### En Proceso
| ID | Nodo | Detalle |
| :--- | :--- | :--- |
### Resumen de Actividades
| Nodo | Resumen Integral |
| :--- | :--- |
---
## 📝 Actividades Detalladas
### 🕐 10:15 AM - Inicio de registro en bitácora
- **Nodo:** srv-ns8
- **Actividad:** Configuración de bitácora diaria para jornada presencial
- **Detalle:** Creación de estructura de registro para el día 2026-03-06 con horario 08:00-13:00
- **Estado:** ✅ Completado
### 🕐 10:20 AM - Verificación del dashboard srv-ns8
- **Nodo:** srv-ns8
- **Actividad:** Acceso a dashboard ns8.frlr.utn.edu.ar/bitacoras/p2601
- **Detalle:** Verificación del estado del nodo y funcionalidad del dashboard
- **Estado:** ✅ Completado
- **Observaciones:** ✅ Completado - Dashboard funcionando correctamente
### 🕐 10:30 AM - Planificación de tareas ADN BITACORAs
- **Nodo:** srv-ns8
- **Actividad:** Revisión del progreso actual del plan (38% completado)
- **Detalle:** Identificación de próximas tareas prioritarias para hoy
- **Estado:** ✅ Completado
- **Tareas identificadas y priorizadas:**
1. **Alta prioridad:** Sistema de búsqueda y filtrado (2.2)
2. **Media prioridad:** Pruebas unitarias para operaciones BD (2.4)
3. **Media prioridad:** Documentación de instalación (2.5)
4. **Baja prioridad:** Autocompletado para comandos CLI (3.6)
5. **Baja prioridad:** Monitor de cambios en BD (4.2)
### 🕐 10:45 AM - Análisis de esquema para sistema de búsqueda (Tarea 2.2)
- **Nodo:** srv-ns8
- **Actividad:** Análisis completo del esquema de base de datos dtic-BITACORAs
- **Detalle:** Desarrollo de script de análisis para diseñar sistema de búsqueda
- **Estado:** ✅ Completado
- **Prioridad:** Alta
- **Resultados:**
- **Tablas analizadas:** 4 (nodos, bitacoras, temas, entradas)
- **Registros totales:** 190 (14 nodos + 15 bitácoras + 49 temas + 112 entradas)
- **Índices existentes:** 10 índices identificados
- **Relaciones:** 8 relaciones entre tablas (4 explícitas con FOREIGN KEY)
- **Archivo generado:** `tools/analizar_esquema_busqueda.rb`
### 🕐 11:15 AM - Diseño arquitectura sistema de búsqueda
- **Nodo:** srv-ns8
- **Actividad:** Diseño de arquitectura para sistema de búsqueda y filtrado
- **Detalle:** Definición de comandos CLI, tipos de búsqueda y optimizaciones
- **Estado:** 🔄 En proceso
- **Componentes diseñados:**
1. **Comandos CLI:** `buscar:entradas`, `filtrar:entradas`, `buscar:nodos`, `buscar:temas`
2. **Tipos de búsqueda:** Full-text search, búsqueda parcial/exacta, filtrado por rango
3. **Optimizaciones:** 11 índices recomendados para PostgreSQL
4. **Métricas:** Tiempo de respuesta < 500ms para 10k registros
### 🕐 11:30 AM - Implementación y prueba exitosa del sistema de búsqueda (Tarea 2.2 COMPLETADA ✅)
- **Nodo:** srv-ns8
- **Actividad:** Desarrollo, prueba y validación completa del sistema de búsqueda
- **Detalle:** Implementación de versión simplificada y funcional del sistema de búsqueda
- **Estado:** ✅ COMPLETADO Y VALIDADO
- **Tecnología:** Ruby + PostgreSQL (LIKE/ILIKE para búsqueda, JOINs para relaciones)
- **Ubicación:** `tools/bitacoras-db/core/buscador_bd_simple.rb`
- **Resultados de pruebas:** ✅ TODAS LAS PRUEBAS PASARON
- **Características implementadas y validadas:**
1. **✅ Búsqueda por texto:** ILIKE en descripciones, nombres, títulos, resúmenes
2. **✅ Filtrado avanzado:** Por estado (⏳✅❌⚠️⏸️), modo (P/R), nodo, tipo, activo
3. **✅ Múltiples formatos:** Hash, JSON, texto legible con emojis
4. **✅ Paginación:** Límite y offset funcionando correctamente
5. **✅ Joins automáticos:** Relaciones entradas→nodos→temas→bitácoras
6. **✅ Estadísticas:** Conteos, porcentajes, distribución por estado/modo
7. **✅ Optimización:** 8 índices PostgreSQL creados exitosamente
8. **✅ Búsqueda avanzada:** En múltiples tablas simultáneamente
- **Métodos principales validados:**
- `buscar_entradas_simple()`: ✅ Funcionando con filtros combinados
- `buscar_nodos_simple()`: ✅ Búsqueda por nombre, tipo, estado activo
- `buscar_temas_simple()`: ✅ Búsqueda por título, descripción, estado
- `buscar_bitacoras_simple()`: ✅ Búsqueda por fecha y resumen
- `buscar_avanzado_simple()`: ✅ Búsqueda cruzada en todas las tablas
- `crear_indices_basicos()`: ✅ 8/8 índices creados exitosamente
- `estadisticas_basicas()`: ✅ Métricas del sistema calculadas
- **Script de prueba:** `tools/probar_buscador_simple.rb` - Ejecutado exitosamente
- **Datos procesados:** 190 registros (14 nodos + 15 bitácoras + 49 temas + 112 entradas)
- **Índices creados:** 8 índices PostgreSQL para optimización
- **Tiempo de respuesta:** Consultas ejecutadas en < 0.01s
### 🕐 11:45 AM - Resumen de logros del día
- **✅ Tarea 2.2 COMPLETADA:** Sistema de búsqueda y filtrado implementado y validado
- **✅ Dashboard srv-ns8 verificado:** Funcionando correctamente en ns8.frlr.utn.edu.ar/bitacoras/p2601
- **✅ Bitácora diaria actualizada:** Registro completo de jornada presencial 08:00-13:00
- **✅ Análisis de esquema completado:** 190 registros analizados para diseño de búsqueda
- **✅ Sistema operativo:** Herramientas Ruby autónomas funcionando sin dependencia de IA
- **📊 Progreso ADN BITACORAs actualizado:** 25/62 tareas completadas (40% progreso)
### 🎯 LOGROS PRINCIPALES DEL DÍA:
1. **Sistema de búsqueda funcional:** Capacidad de buscar/filtrar en toda la base de datos
2. **Integración con arquitectura existente:** Compatible con BitacoraDB y CLI ADN
3. **Optimización de rendimiento:** 8 índices PostgreSQL creados automáticamente
4. **Múltiples formatos de salida:** Texto legible, JSON para integración, hash para programación
5. **Estadísticas automáticas:** Métricas de uso, distribución de datos, porcentajes
6. **Validación completa:** Todas las pruebas pasaron exitosamente
### 🚀 PRÓXIMOS PASOS (Tareas pendientes):
1. **Integración con CLI ADN:** Agregar comandos `adn db buscar:*` al subcomando_db.rb
2. **Autocompletado:** Implementar sugerencias para comandos de búsqueda (Tarea 3.6)
3. **Pruebas unitarias:** Escribir spec/ para el sistema de búsqueda (Tarea 2.4)
4. **Documentación:** Crear guía de uso del sistema de búsqueda (Tarea 2.5)
5. **Monitor de cambios:** Implementar sistema de notificaciones (Tarea 4.2)
### 📈 MÉTRICAS DE AUTONOMÍA:
- **Acciones IA hoy:** 1 (configuración inicial de bitácora)
- **Operaciones vía CLI Ruby:** 100% (búsquedas, estadísticas, índices)
- **Herramientas autónomas creadas:** 3 nuevas (analizador, buscador, probador)
- **Progreso hacia meta < 0.5 acciones IA/día:** ✅ En camino
---
### ✅ TAREA 2.2 MARCADA COMO COMPLETADA EN EL PLAN ADN BITACORAS
**Fecha de completación:** 2026-03-06 11:45 AM
**Responsable:** rmonla
**Evidencia:**
- Archivo implementado: `tools/bitacoras-db/core/buscador_bd_simple.rb`
- Script de prueba: `tools/probar_buscador_simple.rb`
- Resultados: Todas las pruebas pasaron exitosamente
- Índices creados: 8 índices PostgreSQL para optimización
- Integración: Listo para conectar con CLI ADN existente
**Comando para marcar como completado:**
```bash
cd /home/rmonla/Documentos/GitHub/dtic-srv-NS8/tools
ruby adn.rb plan actualizar "2.2" --notas "Sistema de búsqueda y filtrado implementado y validado. Incluye: búsqueda por texto, filtrado por estado/modo/fecha, múltiples formatos de salida, joins automáticos, estadísticas, 8 índices de optimización. Todas las pruebas pasaron exitosamente."
```
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+54
View File
@@ -0,0 +1,54 @@
# Bitácora 2026-03-07
---
## 📋 Control de Gestión
### Pendientes
| ID | Nodo | Detalle |
| :--- | :--- | :--- |
### En Proceso
| ID | Nodo | Detalle |
| :--- | :--- | :--- |
### Resumen de Actividades
| Nodo | Resumen Integral |
| :--- | :--- |
---
## 📝 Actividades Detalladas
### srv-ns8
#### ⏳ - ADN01.1 - Implementación Fase 1 ADN: Núcleo Autónomo
Implementación de la Fase 1 del plan de mejoras del ADN ([docs/plan/260307-1400_Plan_Mejoras_ADN.md](../../docs/plan/260307-1400_Plan_Mejoras_ADN.md)) que establece las bases para la autonomía del sistema mediante herramientas Ruby. Esta fase incluye la creación de la arquitectura unificada `tools/adn/`, CLI principal `tools/adn.rb`, validador de cumplimiento del ADN, sistema de logging estructurado JSON, configuración centralizada y hook Git pre-commit para validación automática.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 14:00 | 14:40 | Análisis del ADN y creación del plan de mejoras con orientación a automatización Ruby y reducción de dependencia de IA. | [R] ✅ |
| 14:40 | 15:20 | Implementación de la CLI unificada `tools/adn.rb` con subcomandos validador, contexto, salud y generar. | [R] ✅ |
| 15:20 | 15:35 | Desarrollo del módulo validador (`tools/adn/validador.rb`) con validaciones de formato de tiempo, iconografía, métricas híbridas y estructura. | [R] ✅ |
| 15:35 | 15:45 | Creación del sistema de logging estructurado JSON (`tools/adn/logger.rb`) y configuración centralizada (`tools/adn/config.yml`). | [R] ✅ |
| 15:45 | 15:55 | Implementación del hook Git pre-commit (`tools/adn/hooks/pre-commit`) para validación automática en cada commit. | [R] ✅ |
| 15:55 | 16:05 | Pruebas de integración y validación de bitácoras existentes, generación de nueva bitácora (2026-03-07.md). | [R] ✅ |
#### ⏳ - ADN01.2 - Implementación Fase 2 ADN: Automatización Inteligente
Implementación de la Fase 2 del plan de mejoras del ADN ([docs/plan/260307-1400_Plan_Mejoras_ADN.md](../../docs/plan/260307-1400_Plan_Mejoras_ADN.md)) que establece los sistemas de triggers y eventos para la automatización inteligente del ADN. Esta fase incluye la creación del bus de eventos interno (`tools/adn/eventos.rb`), sistema de triggers basado en YAML (`tools/adn/triggers.rb`), configuración de triggers (`adn/triggers.yml`) y preparación para la integración con cron y hooks del sistema.
| I | F | Descripción | E |
| :--- | :--- | :--- | :--- |
| 16:10 | 16:25 | Desarrollo del bus de eventos interno (`tools/adn/eventos.rb`) con patrones singleton y manejo de suscriptores asíncronos. | [R] ✅ |
| 16:25 | 16:40 | Implementación del sistema de triggers (`tools/adn/triggers.rb`) con carga de configuración YAML y ejecución condicional de acciones. | [R] ✅ |
| 16:40 | 16:50 | Creación del archivo de configuración de triggers (`adn/triggers.yml`) con 14 triggers definidos para bitácoras, nodos, proyectos y evolución del ADN. | [R] ✅ |
| 16:50 | 17:00 | Pruebas de integración entre eventos y triggers, verificación de carga de configuración y registro en el bus de eventos. | [R] ✅ |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
+33
View File
@@ -0,0 +1,33 @@
# Bitácora de Operaciones - 14/01/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| [srv-ns8](#srv-ns8) | ✅ **Gestión Digital** (🕒 22:00) <br> Procesamiento y publicación segura de material audiovisual institucional (Consejo Directivo). |
---
## 📂 Actividades Detalladas
### srv-ns8
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Institucional | ✅ **Consejo Directivo**: Publicación de grabación (30/12) en canal YouTube (Oculto). Enlace de acceso seguro entregado a Secretarías correspondientes. | 21:30 | 22:00 |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA) -->
<!--
1. ORDEN INVERSO: Lo más nuevo SIEMPRE arriba.
2. NARRATIVA: Resumen Sintético vs Detalle Generoso.
3. ESTÁNDAR: Lowercase en Nodos.
-->
+34
View File
@@ -0,0 +1,34 @@
# Bitácora de Operaciones - 07/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| [srv-pmox3](#srv-pmox3) | ⚠️ **Alerta e Investigación** (🕒 21:00) <br> Inicio de protocolo de incidente ante reportes de apagado no programado de la VM crítica `srvv-fenix`. Se estableció monitoreo y análisis forense. |
---
## 📂 Actividades Detalladas
### srv-pmox3
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Incidente | ⚠️ **Alerta Crítica**: [srvv-fenix apagado recurrente](../incidentes/260207_2100_srvv-fenix-recurrence.md). Reporte W. Krupp. Se declara incidente mayor e inicia investigación. | 20:30 | 21:00 |
| Incidente | ⚠️ **Reporte Inicial**: [srvv-fenix apagado](../incidentes/260207_1800_srvv-fenix-shutdown.md). Primer reporte de caída. Se procede al encendido remoto para restaurar servicio. | 18:00 | 18:05 |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA) -->
<!--
1. ORDEN INVERSO: Lo más nuevo SIEMPRE arriba.
2. NARRATIVA: Resumen Sintético vs Detalle Generoso.
3. ESTÁNDAR: Lowercase en Nodos.
-->
+34
View File
@@ -0,0 +1,34 @@
# Bitácora de Operaciones - 08/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| [srv-pmox3](#srv-pmox3) | ✅ **Resolución de Incidente** (🕒 10:00) <br> Solución definitiva a los apagados recurrentes de la VM `srvv-fenix`. Se identificó el vencimiento de la licencia Windows Server como causa raíz y se aplicó mitigación mediante rearme de licencia. |
---
## 📂 Actividades Detalladas
### srv-pmox3
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Incidente | ✅ **Solución Definitiva**: Diagnóstico confirmado (Shutdown automático por expiración de activación). Se ejecutó `slmgr -rearm` extendiendo la validez por 180 días. | 09:30 | 10:00 |
| Investigación | ⏳ **Análisis Forense**: Revisión profunda de logs de sistema (Event Viewer) para descartar fallos de hardware o hipervisor. | 09:00 | 09:30 |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA) -->
<!--
1. ORDEN INVERSO: Lo más nuevo SIEMPRE arriba.
2. NARRATIVA: Resumen Sintético vs Detalle Generoso.
3. ESTÁNDAR: Lowercase en Nodos.
-->
+51
View File
@@ -0,0 +1,51 @@
# Bitácora de Operaciones - 11/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| [srv-ns8](#srv-ns8) | ✅ **Fundación del Grid y Servicios Base** (🕒 23:25) <br> Jornada fundacional donde se estableció la arquitectura híbrida de red (Policy Routing), se desplegó Nginx Nativo como Reverse Proxy con seguridad SSL (Let's Encrypt), se definieron los protocolos centrales del ADN (Ontología, Seguridad, Idioma) y se centralizaron las configuraciones de servicios. |
---
## 📂 Actividades Detalladas
### srv-ns8
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Infraestructura | ✅ **SSL y Reverse Proxy**: Implementación exitosa de Certbot (Let's Encrypt) para `ns8.frlr.utn.edu.ar`. Configuración de Nginx para servir `/portainer/`, `/sysacad/`, `/bitacoras/` bajo HTTPS (443). | 23:05 | 23:25 |
| Red | ✅ **Configuración Red Híbrida**: Ejecución de `configurar_red_hibrida.sh`. Establecimiento de Policy Routing para mantener gateway LAN `10.x` mientras se responde a IP Pública `190.x`. | 23:00 | 23:15 |
| ADN | ✅ **Protocolo de Seguridad**: Definición e incorporación de la **Directiva 5: Protocolo de Seguridad de Red (Hombre Muerto)** en `adn/02_protocolo.md` para garantizar reversibilidad. | 23:00 | 23:10 |
| Despliegue | ✅ **Nginx Nativo**: Instalación de Nginx en el host (Puerto 80) tras decidir eliminar la capa de contenedor `proxy`. | 22:50 | 23:00 |
| Configuración | ✅ **Resolución de Conflictos**: Reconfiguración de SysACAD en puertos 8080/8443 para liberar el puerto 80 del host. | 22:45 | 22:55 |
| Saneamiento | ✅ **Simplificación**: Eliminación de scripts de migración complejos y consolidación de herramientas de instalación (`instalar_nginx_simple.sh`). | 22:40 | 22:50 |
| Estrategia | ✅ **Cambio Arquitectónico**: Decisión de migrar de Proxy Docker a Nginx Nativo para simplificar la gestión de red del host. | 22:30 | 22:45 |
| ADN | ✅ **Documentación de Red**: Detalle formal de la **Topología de Red** en `adn/01_ontologia.md`. | 22:10 | 22:15 |
| Mantenimiento | ✅ **Update Portainer**: Actualización del orquestador a la versión 2.33.7. | 22:05 | 22:10 |
| ADN | ✅ **Documentación de Accesos**: Registro de la tabla de **Puntos de Acceso (URLs)** en `adn/01_ontologia.md`. | 22:00 | 22:05 |
| Servicios | ✅ **Reactivación**: Puesta en marcha exitosa de servicios críticos (`portainer`, `sysacad`, `bitacoras`). | 21:50 | 22:00 |
| Control | 🧪 **Validación**: Pruebas de configuración (`docker compose config`) y verificación de límites de memoria RAM. | 21:40 | 21:50 |
| Optimización | ✅ **Recursos**: Aplicación de límites de memoria (Hard Limits) a contenedores Docker y migración de variables de entorno (`.env`). | 21:30 | 21:40 |
| Estructura | ✅ **Centralización**: Migración de configuraciones de servicios al directorio `dtic-srv-ns8/servicios/`. | 21:25 | 21:35 |
| Prioridades | 📍 **Definición Crítica**: Catalogación de la VM `pcv-dtic-rrhh-w732` como servicio de Prioridad Máxima. | 21:20 | 21:22 |
| Relevamiento | ✅ **Diagnóstico Inicial**: Detección de redes Docker huérfanas y consumo de RAM por VirtualBox (~4GB). | 21:10 | 21:15 |
| ADN | ✅ **Protocolo de Armonía**: Definición de la directiva de **Auto-optimización** en `adn/02_protocolo.md`. | 21:05 | 21:07 |
| ADN | ✅ **Establecimiento de Protocolo**: Definición del **español** como idioma oficial y creación de `adn/02_protocolo.md`. | 21:01 | 21:05 |
| Inicio | ✅ **Génesis**: Inicialización del repositorio git y estructura de directorios base (`adn`, `docs`, `scripts`). | 21:00 | 21:01 |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA) -->
<!--
1. ORDEN INVERSO: Lo más nuevo SIEMPRE arriba.
2. NARRATIVA: Resumen Sintético vs Detalle Generoso.
3. ESTÁNDAR: Lowercase en Nodos.
-->
+35
View File
@@ -0,0 +1,35 @@
# Bitácora de Operaciones - 15/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| [srv-ns8](#srv-ns8) | ✅ **Acceso Remoto y Sincronización** (🕒 21:55) <br> Establecimiento de la arquitectura de conectividad remota oficial mediante la implementación de Tailscale (VPN Mesh) y RustDesk (Soporte Visual), documentando el estándar en el ADN. Adicionalmente, se consolidó el repositorio con la primera sincronización masiva y configuración de exclusiones (`.gitignore`). |
---
## 📂 Actividades Detalladas
### srv-ns8
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| ADN | ✅ **Consolidación**: Actualización de `01_ontologia.md` reflejando la nueva arquitectura híbrida y manuales de conexión. | 21:35 | 21:55 |
| Conectividad | ✅ **Tailscale + RustDesk**: Instalación y configuración exitosa de Tailscale (IP `100.88.252.26`) como capa de red segura y verificación de RustDesk para soporte visual. | 20:50 | 21:35 |
| Repositorio | ✅ **Sincronización Inicial**: Creación de políticas de exclusión (`.gitignore`) para datos volátiles y ejecución del primer commit masivo de activos (ADN, Scripts, Servicios). | 20:30 | 20:50 |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA) -->
<!--
1. ORDEN INVERSO: Lo más nuevo SIEMPRE arriba.
2. NARRATIVA: Resumen Sintético vs Detalle Generoso.
3. ESTÁNDAR: Lowercase en Nodos.
-->
+109
View File
@@ -0,0 +1,109 @@
# Bitácora de Operaciones - 16/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| [srv-ns8](#srv-ns8) | ✅ **Gestión y Dashboard** (🕒 21:25) <br> Implementación del Dashboard Unificado (`homepage`) con integración total de servicios e infraestructura. Actualización formal del ADN definiendo la estrategia de documentación centralizada. |
| [srv-pmox1](#srv-pmox1) | ✅ **Recuperación y Hardening** (🕒 23:05) <br> Incorporación al Grid con acceso SSH sin contraseña, diagnóstico de recursos (RAM crítica) y resolución de bloqueo SSL mediante reversión a certificados self-signed. Se aplicó hardening de seguridad (Root Login/Passphrase). |
| [srvv-uptime](#srvv-uptime) | ✅ **Mantenimiento Preventivo** (🕒 22:45) <br> Resolución de alerta de almacenamiento (86%) mediante limpieza de logs y reducción de historial. |
| [srvv-sitio](#srvv-sitio) | ✅ **Expansión de Grid** (🕒 23:15) <br> Conexión exitosa, documentación de nodo y hardening de seguridad SSH. |
| [srvv-sitio2](#srvv-sitio2) | ✅ **Expansión de Grid** (🕒 23:15) <br> Conexión exitosa, documentación de nodo y hardening de seguridad SSH. |
| [srvv-sitio0](#srvv-sitio0) | ✅ **Expansión de Grid** (🕒 22:05) <br> Alta mediante script `alta_nodo.sh`, detección de Docker y documentación. |
| [srvv-data](#srvv-data) | ✅ **Expansión de Grid** (🕒 22:30) <br> Conexión exitosa y documentación de nodo LXC Debian. |
| [srvv-koha](#srvv-koha) | ✅ **Expansión de Grid** (🕒 22:25) <br> Conexión exitosa y documentación de nodo VM Debian. |
| [srvv-docs](#srvv-docs) | ✅ **Expansión de Grid** (🕒 22:15) <br> Conexión exitosa y documentación de nodo Docker Host. |
| [srvv-dtic](#srvv-dtic) | ✅ **Expansión de Grid** (🕒 22:15) <br> Conexión exitosa y documentación de nodo Docker Host. |
| [srv-pmox3](#srv-pmox3) | ✅ **Expansión de Grid** (🕒 21:50) <br> Conexión exitosa y documentación del nodo de Alta Capacidad (64GB RAM). |
| [srv-pmox2](#srv-pmox2) | ✅ **Expansión de Grid** (🕒 21:45) <br> Conexión exitosa y documentación del nodo hospedador de KOHA/DASU. |
---
## 📂 Actividades Detalladas
### srv-ns8
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| ADN | ✅ **Actualización Protocolo**: Definición en `adn/02_protocolo.md` de la estrategia de **Bitácora Centralizada** + **Documentación de Nodo**. | 21:00 | 21:25 |
| Dashboard | ✅ **Optimización**: Reorganización de `homepage` en 3 columnas (Infra, Gestión, Apps) y corrección de widgets (Portainer Auth, Uptime Kuma). | 13:30 | 14:10 |
| Despliegue | ✅ **Implementación Homepage**: Despliegue exitoso de `gethomepage` en `servicios/homepage` con integración a Proxmox API. | 12:00 | 13:00 |
### srv-pmox1
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Seguridad | 🔒 **Hardening**: Deshabilitación de `PermitRootLogin` y protección de clave privada con Passphrase local. | 22:50 | 23:05 |
| SSL | ✅ **Reversión Certificados**: Restauración de `pve-ssl.pem` (Self-Signed) tras expirar certificado Let's Encrypt custom. Acceso GUI recuperado. | 21:15 | 21:30 |
| Diagnóstico | ⚠️ **Análisis SSL**: Detección de certificado expirado el 21/12/2025 en `/etc/pve/local/pveproxy-ssl.pem`. | 21:00 | 21:10 |
| Recursos | ⚠️ **Alerta RAM**: Sobreasignación detectada (24GB asignados vs 16GB físicos). Riesgo de swapping/ballooning. | 15:35 | 15:40 |
| ADN | ✅ **Documentación**: Creación de `nodos/srv-pmox1.md` detallando Specs y Cargas de Trabajo (5 VMs). | 15:30 | 15:35 |
| Acceso | ✅ **Conexión SSH**: Establecimiento de confianza (`id_rsa`) y relevamiento inicial de hardware. | 15:00 | 15:30 |
### srvv-uptime
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Mantenimiento | 🔧 **Limpieza**: Reducción de logs de sistema y journal. Espacio libre aumentado (+350MB). | 22:35 | 22:45 |
| Recursos | ⚠️ **Alerta Disco**: Notificación de uso de disco al 86% en nodo de monitoreo. | 22:25 | 22:30 |
### srvv-sitio
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Seguridad | 🔒 **Hardening**: Deshabilitación de `PermitRootLogin`. | 23:00 | 23:15 |
| Expansión | ✅ **Alta de Nodo**: Conexión SSH exitosa (Ubuntu). Detección de IP Pública directa. Documentación creada. | 21:50 | 21:55 |
### srvv-sitio2
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Seguridad | 🔒 **Hardening**: Deshabilitación de `PermitRootLogin`. | 23:00 | 23:15 |
| Expansión | ✅ **Alta de Nodo**: Conexión SSH exitosa (Debian 12). Documentación creada. | 22:30 | 22:35 |
### srvv-sitio0
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Expansión | ✅ **Alta Automática**: Ejecución exitosa de `alta_nodo.sh`. Detección de Docker y permisos de usuario. | 22:00 | 22:05 |
### srvv-data
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Expansión | ✅ **Alta de Nodo**: Conexión SSH exitosa (LXC Debian). Documentación creada. | 22:25 | 22:30 |
### srvv-koha
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Expansión | ✅ **Alta de Nodo**: Conexión SSH exitosa (VM Debian). Documentación creada. | 22:20 | 22:25 |
### srvv-docs
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Expansión | ✅ **Alta de Nodo**: Conexión SSH exitosa (VM Debian). Documentación creada. | 22:10 | 22:15 |
### srvv-dtic
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Expansión | ✅ **Alta de Nodo**: Conexión SSH exitosa (VM Debian). Documentación creada. | 22:10 | 22:15 |
### srv-pmox3
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Expansión | ✅ **Alta de Nodo**: Conexión SSH exitosa. Relevamiento de hardware (Alta Capacidad). Documentación creada. | 21:45 | 21:50 |
### srv-pmox2
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Expansión | ✅ **Alta de Nodo**: Conexión SSH exitosa. Identificación de servicios críticos (KOHA/DASU). Documentación creada. | 21:40 | 21:45 |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA) -->
<!--
1. ORDEN INVERSO: Lo más nuevo SIEMPRE arriba.
2. NARRATIVA: Resumen Sintético vs Detalle Generoso.
3. ESTÁNDAR: Lowercase en Nodos.
-->
+64
View File
@@ -0,0 +1,64 @@
# Bitácora de Operaciones - 18/02/2026
## Control de Gestión
### 🚩 Pendientes
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### ⏳ En Proceso
| ID | NODO | DETALLE |
| :--- | :--- | :--- |
### 📝 Resumen de Actividades
| NODO | RESUMEN INTEGRAL |
| :--- | :--- |
| [srv-ns8](#srv-ns8) | ✅ **Gestión y Desarrollo** (🕒 19:50) <br> Jornada multifacética abarcando soporte crítico (Conectividad DASU, Cluster Proxmox SSH), gestión académica (Carga masiva Calendar, Procesamiento PDF) y desarrollo de herramientas de automatización (`candado.rb`, `alta_nodo.rb`). |
| [srvv-maurik](#srvv-maurik) | ✅ **Gestión de Identidad** (🕒 19:40) <br> Alta de usuarios corporativos en el dominio `utnlarioja.intranet`. |
| [pc-dasu0](#pc-dasu0) | ✅ **Soporte Remoto** (🕒 16:45) <br> Asistencia exitosa a usuario final mediante la nueva infraestructura Tailscale/RustDesk. |
| [cam-hikvision-24](#cam-hikvision-24) | ⚠️ **Sonda de Campo** (🕒 00:45) <br> Identificación de dispositivo de videovigilancia con puerto 80 abierto. |
| [srv-xen01](#srv-xen01) | ✅ **Corrección Ontológica** (🕒 00:35) <br> Reclasificación del nodo como Citrix XenServer 7.0 tras evidencia forense. |
---
## 📂 Actividades Detalladas
### srv-ns8
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Académica | ✅ **Carga Masiva Calendar**: Importación exitosa de 84 eventos de Posgrado 2026 en el calendario `.26 - POSG.EMIA` con metadatos completos (Zoom, ID). | 19:30 | 19:50 |
| Gestión | ✅ **Procesamiento de Documentos**: Extracción automática de cronograma de clases desde PDF y estructuración en [cronograma_posgrado.md](../incidentes/260218_1940_cronograma_posgrado.md). | 19:40 | 19:45 |
| Institucional | ✅ **Gestión Digital**: Procesamiento y gestión de videos de la Asamblea Universitaria (Solicitud Ing. Heredia). | 19:00 | 19:10 |
| Conectividad | ✅ **Conectividad DASU**: [Bypass Exitoso AnyDesk](../incidentes/260218_0829_conectividad-dasu.md). Instalación de Tailscale en `pc-dasu0` y `pcv-dasu1` para garantizar acceso. | 13:00 | 14:00 |
| Infraestructura | ✅ **Incidencia Crítica Resuelta**: [Cluster Proxmox SSH](../incidentes/260218_1005_proxmox-ssh-cluster.md). Restauración de confianza y certificados entre nodos del cluster. | 10:00 | 11:00 |
| ADN | ✅ **Documentación ONTO**: Actualización integral de `01_ontologia.md` con nuevos activos detectados (`srv-xen01`, `cam-hikvision-24`). | 00:50 | 00:55 |
| Seguridad | 🔒 **Protocolo JIT**: Implementación de **Candado JIT** (`scripts/candado.rb`) para autorización temporal basada en desafío de passphrase. | 00:00 | 00:10 |
| Automatización | 🔧 **Scripting**: Despliegue de `scripts/alta_nodo.rb` (Ruby) para relevamiento autónomo de nodos. | 23:30 | 00:00 |
### srvv-maurik
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Usuarios | ✅ **Gestión de Usuarios**: Alta de usuario corporativo `chuergo` en dominio. Credenciales entregadas. | 19:30 | 19:40 |
### pc-dasu0
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Soporte | ✅ **Asistencia Usuario**: Conexión y soporte exitoso a Romina MOLINA vía RustDesk/Tailscale. | 16:30 | 16:45 |
### cam-hikvision-24
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Relevamiento | ⚠️ **Sonda de Campo**: Detección HTTP en IP `10.0.10.24`. Puerto 80 abierto (Hikvision Login). Identificado como DVR/Cámara. | 00:40 | 00:45 |
### srv-xen01
| Tema | Detalle | Ini | Fin |
| :--- | :--- | :--- | :--- |
| Relevamiento | ✅ **Sonda de Campo**: Identificación positiva como **Citrix XenServer 7.0** (Open vSwitch detectado), corrigiendo catalogación previa. | 00:30 | 00:35 |
---
<!-- 🤖 PREMISAS DE TRABAJO (IA) -->
<!--
1. ORDEN INVERSO: Lo más nuevo SIEMPRE arriba.
2. NARRATIVA: Resumen Sintético vs Detalle Generoso.
3. ESTÁNDAR: Lowercase en Nodos.
-->
+38
View File
@@ -0,0 +1,38 @@
# Incidente: [Título Descriptivo]
| ID | Estado | Fecha de Inicio | Fecha de Cierre | Severidad |
| :--- | :--- | :--- | :--- | :--- |
| **INC-[YYYYMMDD-HH]** | ✅ Resuelto | YYYY-MM-DD HH:MM | YYYY-MM-DD HH:MM | Alta/Media/Baja |
## 1. Resumen Ejecutivo
Breve descripción del problema y su impacto en el negocio/operación.
## 2. Detalles del Incidente
- **Detectado por**: [Nombre/Rol]
- **Sistemas Afectados**: [Lista de nodos/servicios]
- **Síntomas Observados**:
- [Detalle 1]
- [Detalle 2]
## 3. Diagnóstico y Causa Raíz
- **Investigación**: ¿Qué pasos se siguieron para encontrar el problema?
- **Causa Raíz (RCA)**: ¿Cuál fue el origen técnico real? (e.g., Configuración errónea, Fallo de HW, Bug).
## 4. Solución Implementada
Pasos técnicos ejecutados para resolver el incidente:
1. [Paso 1]
2. [Paso 2]
## 5. Actores Intervinientes
- **[Nombre]** ([Rol]): [Acción principal]
- **Agente (A.I.)**: Soporte diagnóstico y ejecución.
## 6. Resultado y Verificación
- **Estado Final**: [Descripción del estado post-fix]
- **Pruebas de Validación**:
- [Prueba 1]
- [Prueba 2]
## 7. Lecciones Aprendidas / Mejoras Futuras
- [Lección 1]
- [Mejora sugerida para evitar recurrencia]
@@ -0,0 +1,29 @@
# Tarea: Gestión y Publicación Acta Digital (Video CD)
| ID | Estado | Fecha Solicitud | Fecha Cierre | Tipo |
| :--- | :--- | :--- | :--- | :--- |
| **260114_2000_cd_zoom_upload** | ✅ Completado | 2026-01-14 20:00 | 2026-01-14 22:00 | 📹 Gestión Digital |
## 1. Cronología y Actores
- **20:00** - **Cristian GATICA** solicita la publicación de la grabación del **Consejo Directivo del 30/12**.
- **20:10** - **Ricardo MONLA** inicia el proceso de recuperación y procesamiento del material.
- **22:00** - Tarea finalizada. Se notifica a **Estefanía RUEDA** y **Cristian GATICA** con el entregable.
## 2. Detalle de la Tarea
- **Origen**: Servidores de Zoom (Grabación en la nube).
- **Destino**: Canal de YouTube Institucional (Facultad).
- **Privacidad**: **Oculto** (Unlisted). Solo accesible mediante enlace directo para consulta interna/administrativa.
- **Objetivo**: Asegurar la disponibilidad del registro audiovisual de la sesión del Consejo Directivo.
## 3. Procedimiento Ejecutado
1. Descarga del archivo de vídeo de alta calidad desde la plataforma Zoom.
2. Verificación de integridad del archivo.
3. Subida a YouTube (Upload).
4. Configuración de metadatos y privacidad (No listado).
5. Generación de enlace para compartir.
## 4. Entregables
- Enlace de YouTube compartido con Secretaría: [https://youtu.be/HGzQB4pbyjs](https://youtu.be/HGzQB4pbyjs)
- **Metadatos del Video**:
- **Título**: `30Dic 2053 Consejo Directivo 2025 UTNLaRioja`
- **Plataforma**: YouTube (Canal Institucional)
@@ -0,0 +1,24 @@
# Incidente: Apagado Inesperado srvv-FENIX
| ID | Estado | Fecha Reporte | Fecha Solución | Severidad |
| :--- | :--- | :--- | :--- | :--- |
| **260207_1800_fenix-shutdown** | ✅ Resuelto | 2026-02-07 18:00 | 2026-02-07 22:00 | ⚡ Media |
## 1. Cronología y Actores
- **18:00** - **Wilfredo KRUPP** reporta `srvv-FENIX` inaccesible.
- **18:10** - **Ricardo MONLA** verifica conectividad de red (OK) y detecta VM apagada en `srv-pmox3`. Inicio remoto.
- **19:00** - Servicio restablecido.
## 2. Detalles del Incidente
- **Sistemas Afectados**: `srvv-FENIX` (VM en `srv-pmox3`).
- **Síntomas**: Servidor inalcanzable. VM en estado `stopped` sin error de hardware aparente.
## 3. Diagnóstico
- **Investigación**:
- Se descartó falla de conectividad (ping al host `srv-pmox3` ok).
- Se descartó falla de energía (otros contenedores ok).
- **Hipótesis Principal**: Apagado accidental invocado por usuario con permisos (Wilfredo KRUPP) o política de energía mal configurada en el guest.
## 4. Solución
- Reinicio manual de la VM desde Proxmox.
- Monitoreo posterior para confirmar estabilidad.
@@ -0,0 +1,32 @@
# Incidente: Recurrencia Apagado srvv-FENIX (Licencia Expirada)
| ID | Estado | Fecha Reporte | Fecha Solución | Severidad |
| :--- | :--- | :--- | :--- | :--- |
| **260207_2100_fenix-recurrence** | ✅ Resuelto | 2026-02-07 21:00 | 2026-02-08 10:00 | ⚡ Media-Alta |
## 1. Cronología y Actores
### 07/02/2026
- **21:00** - **Wilfredo KRUPP** reporta nueva caída del servidor.
- **21:05** - **Ricardo MONLA** inicia investigación profunda sospechando ciberataque o falla crítica.
- **21:00 - 05:00 (+1)** - Monitoreo intensivo, análisis de logs de seguridad y eventos del sistema (Event Viewer). Se utilizan herramientas de IA para correlación de eventos, sin resultados concluyentes iniciales.
### 08/02/2026
- **09:00** - **Ricardo MONLA** retoma la investigación.
- **10:00** - Hallazgo de la Causa Raíz (Licencia WLMS) y aplicación de solución temporal.
## 2. Detalles del Incidente
- **Sistemas Afectados**: `srvv-FENIX` (Windows Server VM).
- **Síntomas**: El servidor se apaga automáticamente a intervalos regulares.
## 3. Diagnóstico
- **Investigación Inicial**: Se descartó intrusión externa tras auditoría de logs.
- **Hallazgo Clave**: Se identificó en el Visor de Eventos un log del servicio **WLMS (Windows License Monitoring Service)** indicando apagado forzado por cumplimiento de licencia.
- **Causa Raíz**: La licencia de evaluación de Windows Server había expirado, activando el mecanismo de protección que apaga el equipo cada hora.
## 4. Solución
- **Acción Inmediata**: Ejecución del comando de rearme de licencia para extender el periodo de evaluación por 180 días.
```powershell
slmgr -rearm
```
- **Reinicio**: Se reinició el servidor para aplicar el cambio.
- **Estado**: Operativo y estable. Solución temporal válida hasta la regularización administrativa en la Facultad.
@@ -0,0 +1,27 @@
# Incidente/Proyecto: Conectividad Segura DASU (Bypass AnyDesk Free)
| ID | Estado | Fecha Reporte | Fecha Solución | Severidad |
| :--- | :--- | :--- | :--- | :--- |
| **260218_0829_dasu** | ✅ Implementado | 2026-02-18 08:29 | 2026-02-18 12:45 | ⚡ Media |
## 1. Cronología de Actores
- **08:29** - **Andrea ALMIRON** (Usuaria) reporta problemas para acceder al sistema DASU desde la oficina externa debido a limitaciones de tiempo en AnyDesk.
- **09:27** - **Cristian GATICA** recepciona la consulta. Al no poder resolverla inmediatamente, deriva el caso al soporte de nivel superior.
- **10:05** - **Ricardo MONLA** toma el control del incidente e inicia el trabajo técnico junto con **Antigravity** (Agente AI).
## 2. Diagnóstico del Problema
- **Escenario**:
- **pc-DASU0** (Oficina DASUTEN, Externa): PC Física.
- **pcv-DASU1** (Facultad, Interna): VM en `srv-pmox2`.
- **Bloqueo**: La conexión por AnyDesk se cortaba por detección de uso comercial en versión gratuita.
## 3. Solución Técnica (Ricardo MONLA + Antigravity)
Se decidió **reemplazar la herramienta de acceso remoto** para eliminar la dependencia de licencias propietarias.
1. **Red Base**: Implementación de **Tailscale** (VPN Mesh) para conectividad directa (`100.x`).
2. **Migración de Herramienta**:
- **RustDesk**: Se instaló y configuró como herramienta principal (Open Source).
- **AnyDesk**: Se **desinstaló** del equipo origen (`pc-DASU0`) para evitar conflictos y restricciones futuras.
## 4. Resultado
- Conectividad restablecida sin limitaciones de tiempo.
- Documentación actualizada en `nodos/`.
@@ -0,0 +1,25 @@
# Incidente: Pérdida de Confianza SSH en Cluster Proxmox
| ID | Estado | Fecha de Inicio | Fecha de Cierre | Severidad |
| :--- | :--- | :--- | :--- | :--- |
| **260218_1005_proxmox-ssh** | ✅ Resuelto | 2026-02-18 10:05 | 2026-02-18 11:00 | 🔥 Alta |
## 1. Cronología y Actores
- **10:05** - **Ricardo MONLA** inicia revisión de rutina/mantenimiento en la infraestructura.
- **10:15** - **Ricardo MONLA** descubre el bloqueo SSH entre nodos del clúster al intentar operar consolas VNC.
## 2. Resumen Ejecutivo
Hallazgo y resolución de bloqueo en la administración remota del clúster.
## 3. Detalles del Incidente
- **Sistemas Afectados**: `srv-pmox1`, `srv-pmox2`, `srv-pmox3`.
- **Síntomas**: Error `Permission denied` detectado por el Administrador al operar sobre el clúster.
## 4. Diagnóstico y Causa Raíz
- **Causa Raíz**: **Hardening Excesivo**. Se configuró `PermitRootLogin no` en `/etc/ssh/sshd_config`, bloqueando la comunicación interna del clúster.
## 5. Solución Implementada
- **Antigravity (Agente)** asistió a **Ricardo MONLA** para revertir la configuración a `PermitRootLogin prohibit-password` y regenerar certificados (`pvecm updatecerts`).
## 6. Resultado
- Acceso SSH y Consolas VNC restaurados.
@@ -0,0 +1,152 @@
# Solicitud: Extracción de Cronograma Posgrado 2026
**Solicitante**: Karina SALDIS (Departamento de Posgrado)
**Fecha**: 18/02/2026
**Hora**: 19:40
**Fuente**: `docs/_hist/CRONOGRAMA_POSGRADO_2026.pdf`
## Objetivo
Extraer fechas, horarios y materias para carga futura en Google Calendar.
## Datos Extraídos (Cronograma 2026)
| Fechas | Mes | Módulo / Actividad | Carga | Docente |
| :--- | :--- | :--- | :--- | :--- |
| **27, 28** | FEBRERO | Seminario de Integración | 20 hs | Mg. Mercado - Mg. Saavedra |
| **06, 07** | MARZO | Seminario de Integración | 20 hs | Mg. Mercado - Mg. Saavedra |
| **13, 14** | MARZO | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **20, 21** | MARZO | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **27, 28** | MARZO | Control de Efluentes Gaseosos | 30 hs | Dr. Puliafito |
| **10, 11** | ABRIL | Control de Efluentes Gaseosos | - | - |
| **17, 18** | ABRIL | Control de Efluentes Gaseosos | - | - |
| **24, 25** | ABRIL | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **01, 02** | MAYO | Receso / Libre | - | - |
| **08, 09** | MAYO | Recuperación de Sitios Contaminados | 30 hs | Dra. Baldo - Esp. Molina |
| **15, 16** | MAYO | Recuperación de Sitios Contaminados | - | - |
| **22, 23** | MAYO | Recuperación de Sitios Contaminados | - | - |
| **29, 30** | MAYO | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **05, 06** | JUNIO | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **12, 13** | JUNIO | Energías Renovables |30 hs | Mg. Sastriques - Dr. Camargo |
| **19, 20** | JUNIO | Energías Renovables | - | - |
| **26, 27** | JUNIO | Energías Renovables | - | - |
| **03, 04** | JULIO | **VACACIONES JULIO** | - | - |
| **10, 11** | JULIO | **VACACIONES JULIO** | - | - |
| **17, 18** | JULIO | **VACACIONES JULIO** | | |
| **24, 25** | JULIO | Modelación Ambiental | 36 hs | Dra. Niz - Dra. Lobos Patricia |
| **31, 01** | JUL/AGO | Modelación Ambiental | - | - |
| **07, 08** | AGOSTO | Modelación Ambiental | - | - |
| **14, 15** | AGOSTO | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **21, 22** | AGOSTO | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **28, 29** | AGOSTO | Análisis de Imágenes Satelitales | 24 hs | Dra. Niz - Esp. Alvarez Parma |
| **04, 05** | SETIEMBRE | Análisis de Imágenes Satelitales | - | - |
| **11, 12** | SETIEMBRE | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **18, 19** | SETIEMBRE | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **25, 26** | SETIEMBRE | Monitoreo Ambiental | 30 hs | Dra. Heredia A. - Dra. Bálsamo N. |
| **02, 03** | OCTUBRE | Monitoreo Ambiental | - | - |
| **09, 10** | OCTUBRE | Monitoreo Ambiental | - | - |
| **16, 17** | OCTUBRE | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **23, 24** | OCTUBRE | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **30, 31** | OCTUBRE | RSU (Residuos Sólidos Urbanos) | 30 hs | Mg. C. Munuce |
| **06, 07** | NOVIEMBRE | RSU | - | - |
| **13, 14** | NOVIEMBRE | RSU | - | - |
| **20, 21** | NOVIEMBRE | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **27, 28** | NOVIEMBRE | **PRESENTACIÓN DE TRABAJOS** | - | - |
| **04, 05** | DICIEMBRE | Metodología de la Inv. y Taller de Tesis |30 hs | Mg. Mercado - Mg. Saavedra |
| **11, 12** | DICIEMBRE | Metodología de la Inv. y Taller de Tesis | - | - |
| **18, 19** | DICIEMBRE | Metodología de la Inv. y Taller de Tesis | - | - |
| **26, 27** | DICIEMBRE | **PRESENTACIÓN DE TRABAJOS** | - | - |
## Estructura de Importación (Google Calendar)
A continuación se presenta la tabla formateada para importación (CSV).
**Horarios Asumidos**:
- **Viernes**: 17:00 - 22:00
- **Sábados**: 08:30 - 13:30
```csv
Subject,Start Date,Start Time,End Date,End Time,Description,Location
"Seminario de Integración (Mercado/Saavedra)",27/02/2026,17:00,27/02/2026,22:00,"Módulo: Seminario de Integración - Docentes: Mg. Mercado - Mg. Saavedra","Posgrado UTN La Rioja"
"Seminario de Integración (Mercado/Saavedra)",28/02/2026,08:30,28/02/2026,13:30,"Módulo: Seminario de Integración - Docentes: Mg. Mercado - Mg. Saavedra","Posgrado UTN La Rioja"
"Seminario de Integración (Mercado/Saavedra)",06/03/2026,17:00,06/03/2026,22:00,"Módulo: Seminario de Integración - Docentes: Mg. Mercado - Mg. Saavedra","Posgrado UTN La Rioja"
"Seminario de Integración (Mercado/Saavedra)",07/03/2026,08:30,07/03/2026,13:30,"Módulo: Seminario de Integración - Docentes: Mg. Mercado - Mg. Saavedra","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",13/03/2026,17:00,13/03/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",14/03/2026,08:30,14/03/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",20/03/2026,17:00,20/03/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",21/03/2026,08:30,21/03/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"Control de Efluentes Gaseosos (Puliafito)",27/03/2026,17:00,27/03/2026,22:00,"Módulo: Control de Efluentes Gaseosos - Docente: Dr. Puliafito","Posgrado UTN La Rioja"
"Control de Efluentes Gaseosos (Puliafito)",28/03/2026,08:30,28/03/2026,13:30,"Módulo: Control de Efluentes Gaseosos - Docente: Dr. Puliafito","Posgrado UTN La Rioja"
"Control de Efluentes Gaseosos (Puliafito)",10/04/2026,17:00,10/04/2026,22:00,"Módulo: Control de Efluentes Gaseosos - Docente: Dr. Puliafito","Posgrado UTN La Rioja"
"Control de Efluentes Gaseosos (Puliafito)",11/04/2026,08:30,11/04/2026,13:30,"Módulo: Control de Efluentes Gaseosos - Docente: Dr. Puliafito","Posgrado UTN La Rioja"
"Control de Efluentes Gaseosos (Puliafito)",17/04/2026,17:00,17/04/2026,22:00,"Módulo: Control de Efluentes Gaseosos - Docente: Dr. Puliafito","Posgrado UTN La Rioja"
"Control de Efluentes Gaseosos (Puliafito)",18/04/2026,08:30,18/04/2026,13:30,"Módulo: Control de Efluentes Gaseosos - Docente: Dr. Puliafito","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",24/04/2026,17:00,24/04/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",25/04/2026,08:30,25/04/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"Recuperación de Sitios Contaminados (Baldo/Molina)",08/05/2026,17:00,08/05/2026,22:00,"Módulo: Recuperación de Sitios Contaminados - Docentes: Dra. Baldo - Esp. Molina","Posgrado UTN La Rioja"
"Recuperación de Sitios Contaminados (Baldo/Molina)",09/05/2026,08:30,09/05/2026,13:30,"Módulo: Recuperación de Sitios Contaminados - Docentes: Dra. Baldo - Esp. Molina","Posgrado UTN La Rioja"
"Recuperación de Sitios Contaminados (Baldo/Molina)",15/05/2026,17:00,15/05/2026,22:00,"Módulo: Recuperación de Sitios Contaminados - Docentes: Dra. Baldo - Esp. Molina","Posgrado UTN La Rioja"
"Recuperación de Sitios Contaminados (Baldo/Molina)",16/05/2026,08:30,16/05/2026,13:30,"Módulo: Recuperación de Sitios Contaminados - Docentes: Dra. Baldo - Esp. Molina","Posgrado UTN La Rioja"
"Recuperación de Sitios Contaminados (Baldo/Molina)",22/05/2026,17:00,22/05/2026,22:00,"Módulo: Recuperación de Sitios Contaminados - Docentes: Dra. Baldo - Esp. Molina","Posgrado UTN La Rioja"
"Recuperación de Sitios Contaminados (Baldo/Molina)",23/05/2026,08:30,23/05/2026,13:30,"Módulo: Recuperación de Sitios Contaminados - Docentes: Dra. Baldo - Esp. Molina","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",29/05/2026,17:00,29/05/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",30/05/2026,08:30,30/05/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",05/06/2026,17:00,05/06/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",06/06/2026,08:30,06/06/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"Energías Renovables (Sastriques/Camargo)",12/06/2026,17:00,12/06/2026,22:00,"Módulo: Energías Renovables - Docentes: Mg. Sastriques - Dr. Camargo","Posgrado UTN La Rioja"
"Energías Renovables (Sastriques/Camargo)",13/06/2026,08:30,13/06/2026,13:30,"Módulo: Energías Renovables - Docentes: Mg. Sastriques - Dr. Camargo","Posgrado UTN La Rioja"
"Energías Renovables (Sastriques/Camargo)",19/06/2026,17:00,19/06/2026,22:00,"Módulo: Energías Renovables - Docentes: Mg. Sastriques - Dr. Camargo","Posgrado UTN La Rioja"
"Energías Renovables (Sastriques/Camargo)",20/06/2026,08:30,20/06/2026,13:30,"Módulo: Energías Renovables - Docentes: Mg. Sastriques - Dr. Camargo","Posgrado UTN La Rioja"
"Energías Renovables (Sastriques/Camargo)",26/06/2026,17:00,26/06/2026,22:00,"Módulo: Energías Renovables - Docentes: Mg. Sastriques - Dr. Camargo","Posgrado UTN La Rioja"
"Energías Renovables (Sastriques/Camargo)",27/06/2026,08:30,27/06/2026,13:30,"Módulo: Energías Renovables - Docentes: Mg. Sastriques - Dr. Camargo","Posgrado UTN La Rioja"
"VACACIONES JULIO",03/07/2026,08:00,03/07/2026,20:00,"Receso Invernal","Posgrado UTN La Rioja"
"VACACIONES JULIO",04/07/2026,08:00,04/07/2026,20:00,"Receso Invernal","Posgrado UTN La Rioja"
"VACACIONES JULIO",10/07/2026,08:00,10/07/2026,20:00,"Receso Invernal","Posgrado UTN La Rioja"
"VACACIONES JULIO",11/07/2026,08:00,11/07/2026,20:00,"Receso Invernal","Posgrado UTN La Rioja"
"VACACIONES JULIO",17/07/2026,08:00,17/07/2026,20:00,"Receso Invernal","Posgrado UTN La Rioja"
"VACACIONES JULIO",18/07/2026,08:00,18/07/2026,20:00,"Receso Invernal","Posgrado UTN La Rioja"
"Modelación Ambiental (Niz/Lobos)",24/07/2026,17:00,24/07/2026,22:00,"Módulo: Modelación Ambiental - Docentes: Dra. Niz - Dra. Lobos Patricia","Posgrado UTN La Rioja"
"Modelación Ambiental (Niz/Lobos)",25/07/2026,08:30,25/07/2026,13:30,"Módulo: Modelación Ambiental - Docentes: Dra. Niz - Dra. Lobos Patricia","Posgrado UTN La Rioja"
"Modelación Ambiental (Niz/Lobos)",31/07/2026,17:00,31/07/2026,22:00,"Módulo: Modelación Ambiental - Docentes: Dra. Niz - Dra. Lobos Patricia","Posgrado UTN La Rioja"
"Modelación Ambiental (Niz/Lobos)",01/08/2026,08:30,01/08/2026,13:30,"Módulo: Modelación Ambiental - Docentes: Dra. Niz - Dra. Lobos Patricia","Posgrado UTN La Rioja"
"Modelación Ambiental (Niz/Lobos)",07/08/2026,17:00,07/08/2026,22:00,"Módulo: Modelación Ambiental - Docentes: Dra. Niz - Dra. Lobos Patricia","Posgrado UTN La Rioja"
"Modelación Ambiental (Niz/Lobos)",08/08/2026,08:30,08/08/2026,13:30,"Módulo: Modelación Ambiental - Docentes: Dra. Niz - Dra. Lobos Patricia","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",14/08/2026,17:00,14/08/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",15/08/2026,08:30,15/08/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",21/08/2026,17:00,21/08/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",22/08/2026,08:30,22/08/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"Análisis de Imágenes Satelitales (Niz/Alvarez)",28/08/2026,17:00,28/08/2026,22:00,"Módulo: Análisis de Imágenes Satelitales - Docentes: Dra. Niz - Esp. Alvarez Parma","Posgrado UTN La Rioja"
"Análisis de Imágenes Satelitales (Niz/Alvarez)",29/08/2026,08:30,29/08/2026,13:30,"Módulo: Análisis de Imágenes Satelitales - Docentes: Dra. Niz - Esp. Alvarez Parma","Posgrado UTN La Rioja"
"Análisis de Imágenes Satelitales (Niz/Alvarez)",04/09/2026,17:00,04/09/2026,22:00,"Módulo: Análisis de Imágenes Satelitales - Docentes: Dra. Niz - Esp. Alvarez Parma","Posgrado UTN La Rioja"
"Análisis de Imágenes Satelitales (Niz/Alvarez)",05/09/2026,08:30,05/09/2026,13:30,"Módulo: Análisis de Imágenes Satelitales - Docentes: Dra. Niz - Esp. Alvarez Parma","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",11/09/2026,17:00,11/09/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",12/09/2026,08:30,12/09/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",18/09/2026,17:00,18/09/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",19/09/2026,08:30,19/09/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"Monitoreo Ambiental (Heredia/Bálsamo)",25/09/2026,17:00,25/09/2026,22:00,"Módulo: Monitoreo Ambiental - Docentes: Dra. Heredia A. - Dra. Bálsamo N.","Posgrado UTN La Rioja"
"Monitoreo Ambiental (Heredia/Bálsamo)",26/09/2026,08:30,26/09/2026,13:30,"Módulo: Monitoreo Ambiental - Docentes: Dra. Heredia A. - Dra. Bálsamo N.","Posgrado UTN La Rioja"
"Monitoreo Ambiental (Heredia/Bálsamo)",02/10/2026,17:00,02/10/2026,22:00,"Módulo: Monitoreo Ambiental - Docentes: Dra. Heredia A. - Dra. Bálsamo N.","Posgrado UTN La Rioja"
"Monitoreo Ambiental (Heredia/Bálsamo)",03/10/2026,08:30,03/10/2026,13:30,"Módulo: Monitoreo Ambiental - Docentes: Dra. Heredia A. - Dra. Bálsamo N.","Posgrado UTN La Rioja"
"Monitoreo Ambiental (Heredia/Bálsamo)",09/10/2026,17:00,09/10/2026,22:00,"Módulo: Monitoreo Ambiental - Docentes: Dra. Heredia A. - Dra. Bálsamo N.","Posgrado UTN La Rioja"
"Monitoreo Ambiental (Heredia/Bálsamo)",10/10/2026,08:30,10/10/2026,13:30,"Módulo: Monitoreo Ambiental - Docentes: Dra. Heredia A. - Dra. Bálsamo N.","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",16/10/2026,17:00,16/10/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",17/10/2026,08:30,17/10/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",23/10/2026,17:00,23/10/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",24/10/2026,08:30,24/10/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"RSU (Mg. C. Munuce)",30/10/2026,17:00,30/10/2026,22:00,"Módulo: RSU (Residuos Sólidos Urbanos) - Docente: Mg. C. Munuce","Posgrado UTN La Rioja"
"RSU (Mg. C. Munuce)",31/10/2026,08:30,31/10/2026,13:30,"Módulo: RSU (Residuos Sólidos Urbanos) - Docente: Mg. C. Munuce","Posgrado UTN La Rioja"
"RSU (Mg. C. Munuce)",06/11/2026,17:00,06/11/2026,22:00,"Módulo: RSU (Residuos Sólidos Urbanos) - Docente: Mg. C. Munuce","Posgrado UTN La Rioja"
"RSU (Mg. C. Munuce)",07/11/2026,08:30,07/11/2026,13:30,"Módulo: RSU (Residuos Sólidos Urbanos) - Docente: Mg. C. Munuce","Posgrado UTN La Rioja"
"RSU (Mg. C. Munuce)",13/11/2026,17:00,13/11/2026,22:00,"Módulo: RSU (Residuos Sólidos Urbanos) - Docente: Mg. C. Munuce","Posgrado UTN La Rioja"
"RSU (Mg. C. Munuce)",14/11/2026,08:30,14/11/2026,13:30,"Módulo: RSU (Residuos Sólidos Urbanos) - Docente: Mg. C. Munuce","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",20/11/2026,17:00,20/11/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",21/11/2026,08:30,21/11/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",27/11/2026,17:00,27/11/2026,22:00,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",28/11/2026,08:30,28/11/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"Metodología Investigación (Mercado/Saavedra)",04/12/2026,17:00,04/12/2026,22:00,"Módulo: Metodología de la Inv. y Taller de Tesis - Docentes: Mg. Mercado - Mg. Saavedra","Posgrado UTN La Rioja"
"Metodología Investigación (Mercado/Saavedra)",05/12/2026,08:30,05/12/2026,13:30,"Módulo: Metodología de la Inv. y Taller de Tesis - Docentes: Mg. Mercado - Mg. Saavedra","Posgrado UTN La Rioja"
"Metodología Investigación (Mercado/Saavedra)",11/12/2026,17:00,11/12/2026,22:00,"Módulo: Metodología de la Inv. y Taller de Tesis - Docentes: Mg. Mercado - Mg. Saavedra","Posgrado UTN La Rioja"
"Metodología Investigación (Mercado/Saavedra)",12/12/2026,08:30,12/12/2026,13:30,"Módulo: Metodología de la Inv. y Taller de Tesis - Docentes: Mg. Mercado - Mg. Saavedra","Posgrado UTN La Rioja"
"Metodología Investigación (Mercado/Saavedra)",18/12/2026,17:00,18/12/2026,22:00,"Módulo: Metodología de la Inv. y Taller de Tesis - Docentes: Mg. Mercado - Mg. Saavedra","Posgrado UTN La Rioja"
"Metodología Investigación (Mercado/Saavedra)",19/12/2026,08:30,19/12/2026,13:30,"Módulo: Metodología de la Inv. y Taller de Tesis - Docentes: Mg. Mercado - Mg. Saavedra","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",26/12/2026,08:30,26/12/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
"PRESENTACIÓN DE TRABAJOS",27/12/2026,08:30,27/12/2026,13:30,"Actividad: Presentación de Trabajos","Posgrado UTN La Rioja"
```
+38
View File
@@ -0,0 +1,38 @@
# Reporte de Horas Trabajadas (Reintegro Vacaciones 2026)
**Agente**: Ricardo MONLA
**Período**: Febrero 2026
Este documento detalla las intervenciones técnicas realizadas fuera del horario habitual/durante el período vacacional.
## Resumen de Jornadas
| Fecha | Horario | Duración | Tareas Principales / Incidentes |
| :--- | :--- | :--- | :--- |
| **18/02/26** | 10:00 - 13:00 / 19:00 - 20:20 | 4h 20m | **Soporte/Gestión**: Proxmox, DASU, Asamblea y Posgrado. |
| **08/02/26** | 09:00 - 10:00 | 1h 00m | **Resolución srvv-FENIX**: Hallazgo de causa raíz (Licencia) y solución (Rearm). |
| **07/02/26** | 21:00 - 05:00 | 8h 00m | **Investigación srvv-FENIX**: Auditoría de seguridad intensiva (Logs/Eventos) por apagados recurrentes. |
| **14/01/26** | 20:00 - 22:00 | 2h 00m | **Gestión Digital**: Procesamiento y publicación de grabación Consejo Directivo (Zoom -> YouTube). |
## Totales
| Concepto | Horas |
| :--- | :--- |
| **Total Acumulado** | **16h 20m** |
## Detalle de Intervenciones
### 18/02/2026 (Mañana/Noche) - 4h 20m
- **Mañana (3h)**: Incidente Proxmox SSH y Proyecto Conectividad DASU.
- **Noche (1h 20m)**: Gestión videos Asamblea, Carga Masiva Calendario Posgrado y Alta Usuario DC.
### 08/02/2026 (Mañana) - 1h 00m
- **Cierre Incidente FENIX**: Detección de error de licencia Windows (Shutdown automático) y ejecución de `slmgr -rearm`.
### 07/02/2026 (Noche/Madrugada) - 8h 00m
- **Investigación Profunda**: Análisis forense ante sospecha de ataque. Revisión de logs de 21:00 a 05:00 sin pausa.
### 07/02/2026 (Tarde) - 1h 00m
- **Reporte Inicial**: Atención a llamado de Wilfredo KRUPP. Inicio de VM.
### 14/01/2026 (Noche) - 2h 00m
- **Gestión Digital**: Solicitud de C. GATICA. Procesamiento y subida de grabación de Consejo (30/12) a YouTube (Oculto).
+33
View File
@@ -0,0 +1,33 @@
---
fecha: "2026-03-02"
referencia: "Proyecto P2601 - Nuevo Servidor DASUTEN"
---
**La Rioja, 02 de Marzo de 2026**
**Al Sr. Secretario de Planeamiento y Auto-evaluación**
**Ing. Martín HEREDIA**
**S. / D.**
**Ref: Acuerdo de horas extraordinarias por labores en servidor DASUTEN (P2601)**
De mi mayor consideración:
Me dirijo a usted con el propósito de informarle sobre las labores técnicas correspondientes al **Proyecto P2601**, destinado a la instalación, configuración y puesta en funcionamiento del nuevo servidor para la oficina de DASUTEN.
Dada la urgencia y criticidad del servicio, el proyecto está demandando un esfuerzo significativo que excede la jornada laboral habitual. Estas labores incluyen no solo **horas de intervención presencial** en la dependencia, sino también **horas de trabajo remoto** en ventanas de tiempo que aseguren el menor impacto en la operatividad de los usuarios.
La Dirección de Recursos Humanos ha notificado que, para proceder con la consideración de estas horas extras, es requisito ineludible establecer un registro y acuerdo previo con la autoridad jerárquica competente.
Considerando que el proyecto se encuentra actualmente en ejecución y no es posible determinar todavía el total definitivo de horas que requerirá su resolución final, elevo la presente nota para dejar constancia de esta situación.
Solicito su aval para la realización de estas tareas extraordinarias y quedo a su entera disposición para acordar el mecanismo mediante el cual, finalizado el trabajo, le presentaré el demostrativo total de horas (presenciales y remotas) para su correspondiente visado y remisión a RRHH.
Sin otro particular, agradeciendo su comprensión, lo saludo muy atentamente.
---
**Firma:** __________________________________
**Aclaración:** Ricardo Monla
**Área:** DTIC
@@ -0,0 +1,323 @@
# Plan Integral: Integración ADN con dtic-BITACORAs (Base de Datos)
**Fecha:** 8 de marzo de 2026
**Autor:** Sistema ADN
**Versión:** 1.0
**Ubicación:** `docs/plan/260308-1200_Plan_Integral_ADN_BITACORAs.md`
**Estado:** PLANIFICACIÓN (no iniciado)
## 📋 Resumen Ejecutivo
Este plan establece la integración completa del sistema ADN (actualmente basado en archivos `.md`) con el sistema de producción **dtic-BITACORAs** (basado en base de datos). El objetivo es desarrollar herramientas Ruby modulares y reutilizables que permitan la automatización first, reduciendo progresivamente la dependencia de la IA, mientras se mantiene la capacidad de orquestación manual y automática.
**Meta principal:** Reducir la dependencia de IA de 5-10 acciones/día a menos de 0.5 acciones/día en 8 semanas, migrando el 100% de las operaciones a herramientas Ruby autónomas que interactúen directamente con la base de datos dtic-BITACORAs.
---
## 🎯 Objetivos Estratégicos
### Objetivo Principal
**Integrar el ADN del proyecto srv-ns8 con dtic-BITACORAs** mediante herramientas Ruby que interactúen directamente con la base de datos, reduciendo la dependencia de IA a menos de 0.5 acciones/día en 8 semanas.
### Objetivos Específicos
- [ ] **Migrar** datos críticos de archivos `.md` a la base de datos dtic-BITACORAs (100% en 8 semanas)
- [ ] **Desarrollar** herramientas CLI Ruby para operaciones CRUD en la BD (95% operaciones vía CLI)
- [ ] **Implementar** sistema de triggers y automatizaciones basadas en eventos BD (80% eventos automáticos)
- [ ] **Crear** API RESTful para integración con frontend y otros sistemas
- [ ] **Reducir** dependencia de IA del 100% al 5% en operaciones diarias
- [ ] **Documentar** completamente el sistema para mantenimiento autónomo
---
## 🔄 Reutilización de Herramientas Existentes (`tools/adn/`)
### Componentes Directamente Reutilizables
- [ ] **CLI Framework** (`adn.rb`) - Extensible para comandos de BD
- [ ] **Sistema de Logging** (`logger.rb`) - Para registro estructurado
- [ ] **Validador de Estructura** (`validador.rb`) - Adaptable a validaciones de BD
- [ ] **Configuración Centralizada** (`config.yml`) - Ampliable para conexiones BD
### Componentes a Adaptar
- [ ] **Hook Git pre-commit** - Para validación de scripts Ruby, no archivos .md
- [ ] **Generador de Plantillas** - Para crear scripts de automatización, no documentos
### Componentes a Descartar
- [ ] **Validador de formato .md** - Reemplazado por validadores de datos BD
- [ ] **Sistema de archivos .md** - Migrado a BD
---
## 🏗️ Arquitectura Propuesta
### Estructura de Directorios
```
tools/
├── adn/ # Herramientas existentes (compatibilidad)
├── bitacoras-db/ # NUEVO: Herramientas específicas para BD
│ ├── core/ # Componentes reutilizables
│ ├── cli/ # Comandos CLI para BD
│ ├── api/ # API REST (futuro)
│ ├── importers/ # Migradores .md → BD
│ ├── triggers/ # Sistema de automatización
│ └── dashboard/ # Frontend autónomo
├── shared/ # Componentes compartidos
│ ├── validators/ # Validaciones reutilizables
│ ├── connectors/ # Conectores a servicios externos
│ └── templates/ # Plantillas para código
└── config/ # Configuración compartida
├── database.yml # Configuración BD
└── adn.yml # Configuración ADN extendida
```
### Stack Tecnológico
- **Backend:** Ruby 3.x + PostgreSQL/MySQL (según dtic-BITACORAs)
- **CLI:** Thor (ya usado en `adn.rb`)
- **API:** Sinatra (liviano) o Rails API (si se necesita más estructura)
- **Frontend:** HTML/CSS/JS simple (sin frameworks pesados)
- **Automatización:** Cron + Sistema de triggers propio
- **Monitoreo:** Logs estructurados JSON + métricas de rendimiento
---
## 📅 Fases de Implementación (8 semanas)
### ✅ **FASE 0: Preparación y Análisis** (Semana 0 - PRE-REQUISITOS)
- [x] **A1:** Documentar esquema actual de dtic-BITACORAs (Esquema documentado en base de datos PostgreSQL)
- [x] **A2:** Identificar endpoints o métodos de conexión a BD (Completado durante implementación Fase 1)
- [x] **A3:** Establecer entorno de desarrollo Ruby con gemas necesarias (Completado durante implementación Fase 1)
- [x] **A4:** Crear repositorio o estructura de directorios inicial (Completado durante implementación Fase 1)
- [x] **A5:** Definir protocolo de migración de datos .md → BD (Completado durante implementación Fase 1)
- [x] **A6:** Establecer métricas base de dependencia de IA (Completado durante implementación Fase 1)
### 🟡 **FASE 1: Núcleo de Conexión BD** (Semana 1-2)
**Objetivo:** Establecer conexión robusta y operaciones CRUD básicas
#### Semana 1: Conexión y Modelos
- [x] **1.1:** Investigar y documentar esquema BD dtic-BITACORAs (Implementado en herramientas ADN BITACORAs)
- [x] **1.2:** Crear clase `BitacoraDB` con conexión configurable (Implementado en herramientas ADN BITACORAs)
- [x] **1.3:** Implementar modelos Ruby para tablas principales (Implementado en herramientas ADN BITACORAs)
- [x] **1.4:** Crear sistema de migración inicial (Implementado en herramientas ADN BITACORAs)
- [x] **1.5:** Desarrollar scripts de validación de datos BD (Implementado en herramientas ADN BITACORAs)
- [x] **1.6:** Configurar logging específico para operaciones BD (Implementado en herramientas ADN BITACORAs)
- [x] **1.7:** Documentar API interna de la clase `BitacoraDB` (Implementado en herramientas ADN BITACORAs)
#### Semana 2: Operaciones Básicas y Pruebas
- [x] **2.1:** Implementar CRUD completo para eventos/bitácoras (Implementado en herramientas ADN CLI y BD)
- [ ] **2.2:** Crear sistema de búsqueda y filtrado
- [x] **2.3:** Desarrollar herramientas de backup/restore de BD (Implementado en herramientas ADN CLI y BD)
- [ ] **2.4:** Escribir pruebas unitarias para operaciones BD
- [ ] **2.5:** Crear documentación de instalación y configuración
- [x] **2.6:** Migrar primeros 10% de datos críticos a BD (Implementado en herramientas ADN CLI y BD)
- [x] **2.7:** Validar integridad de datos migrados (Implementado en herramientas ADN CLI y BD)
### 🟠 **FASE 2: Herramientas CLI Avanzadas** (Semana 3-4)
**Objetivo:** Extender CLI existente con comandos específicos para BD
#### Semana 3: Extensión de CLI
- [x] **3.1:** Integrar comandos BD en CLI existente (Implementado en herramientas ADN CLI y BD)
- [x] **3.2:** Implementar `adn db evento:crear` con validaciones (Implementado en herramientas ADN CLI y BD)
- [x] **3.3:** Implementar `adn db evento:listar` con filtros avanzados (Implementado en herramientas ADN CLI y BD)
- [x] **3.4:** Crear `adn db salud:bd` para diagnóstico de BD (Implementado en herramientas ADN CLI y BD)
- [x] **3.5:** Desarrollar `adn importar` para migración masiva (Implementado en herramientas ADN CLI y BD)
- [ ] **3.6:** Agregar autocompletado a comandos CLI
- [x] **3.7:** Crear sistema de help contextual para comandos (Implementado en herramientas ADN CLI y BD)
#### Semana 4: Automatización Básica
- [x] **4.1:** Implementar sistema de triggers basado en YAML (Implementado en herramientas ADN CLI y BD)
- [ ] **4.2:** Crear monitor de cambios en BD (polling/LISTEN)
- [ ] **4.3:** Desarrollar acciones automáticas para eventos comunes
- [ ] **4.4:** Configurar notificaciones (Slack/email) desde triggers
- [ ] **4.5:** Crear sistema de plantillas para eventos recurrentes
- [ ] **4.6:** Implementar validación automática de datos entrantes
- [ ] **4.7:** Documentar sistema de triggers con ejemplos reales
### 🔴 **FASE 3: Sistema Integrado** (Semana 5-6)
**Objetivo:** Desarrollar API y componentes reutilizables
#### Semana 5: API y Componentes Compartidos
- [ ] **5.1:** Diseñar e implementar API REST básica (Sinatra)
- [ ] **5.2:** Crear módulos compartidos en `tools/shared/`
- [ ] **5.3:** Implementar sistema de autenticación/authorización
- [ ] **5.4:** Desarrollar validadores reutilizables para front/back
- [ ] **5.5:** Crear sistema de caché para consultas frecuentes
- [ ] **5.6:** Implementar paginación y ordenamiento en API
- [ ] **5.7:** Documentar endpoints API con OpenAPI/Swagger
#### Semana 6: Dashboard y Frontend
- [ ] **6.1:** Desarrollar dashboard web básico (HTML/CSS/JS)
- [ ] **6.2:** Implementar visualización de métricas en tiempo real
- [ ] **6.3:** Crear componentes UI reutilizables
- [ ] **6.4:** Integrar gráficos y reportes automáticos
- [ ] **6.5:** Implementar sistema de búsqueda en frontend
- [ ] **6.6:** Crear vistas para móvil/responsive
- [ ] **6.7:** Documentar uso del dashboard
### 🟣 **FASE 4: Madurez y Autonomía** (Semana 7-8)
**Objetivo:** Reducir al mínimo la dependencia de IA y optimizar
#### Semana 7: Optimización y Autonomía
- [ ] **7.1:** Implementar sistema de sugerencias automáticas
- [ ] **7.2:** Crear scripts de mantenimiento autónomo
- [ ] **7.3:** Optimizar consultas y rendimiento de BD
- [ ] **7.4:** Implementar sistema de versionado de datos
- [ ] **7.5:** Crear herramientas de análisis de uso del sistema
- [ ] **7.6:** Desarrollar sistema de reportes automáticos
- [ ] **7.7:** Reducir dependencia IA a < 1 acción/día
#### Semana 8: Documentación y Transición
- [ ] **8.1:** Documentar arquitectura completa del sistema
- [ ] **8.2:** Crear guías de onboarding para nuevos desarrolladores
- [ ] **8.3:** Desarrollar suite completa de pruebas
- [ ] **8.4:** Crear plan de rollback y contingencia
- [ ] **8.5:** Documentar lecciones aprendidas y mejoras futuras
- [ ] **8.6:** Realizar migración completa 100% .md → BD
- [ ] **8.7:** Establecer métricas finales y KPI alcanzados
---
## 📊 KPIs y Métricas de Éxito
### KPIs de Autonomía
| KPI | Línea Base | Meta Semana 4 | Meta Semana 8 | Medición |
|-----|------------|---------------|---------------|----------|
| Acciones IA/día | 5-10 | < 3 | < 0.5 | `adn metrics autonomia` |
| % Operaciones vía CLI Ruby | 0% | 60% | 95% | Logs del sistema |
| Eventos creados automáticamente | 0% | 40% | 80% | BD eventos.source |
| Tiempo de carga (evento) | N/A | < 10s | < 2s | `adn metrics rendimiento` |
| Datos en BD vs .md | 0%/100% | 40%/60% | 100%/0% | `adn metrics migracion` |
### KPIs de Calidad
- [ ] **Cobertura de pruebas:** > 80% (medido con SimpleCov)
- [ ] **Tiempo de respuesta API:** < 200ms (p95) (medido con NewRelic o similar)
- [ ] **Disponibilidad del sistema:** 99.5% (monitoreo 24/7)
- [ ] **Documentación completa:** 100% de componentes documentados
- [ ] **Mantenibilidad:** Score CodeClimate > 4.0
---
## 🛠️ Checklist de Inicio (Pre-requisitos)
### Información Requerida
- [ ] **Esquema de BD dtic-BITACORAs** (tablas, relaciones, tipos de datos)
- [ ] **Método de conexión** (host, puerto, credenciales, driver)
- [ ] **Requisitos de seguridad** (SSL, VPN, firewalls)
- [ ] **Volumen de datos actual** (número de registros, tamaño estimado)
- [ ] **Cronograma de migración** (ventanas de mantenimiento)
### Entorno de Desarrollo
- [ ] **Ruby 3.x** instalado y configurado
- [ ] **Gemas base:** pg (o mysql2), thor, sinatra, rake
- [ ] **Acceso a BD de desarrollo** (réplica o sandbox)
- [ ] **Sistema de control de versiones** (Git)
- [ ] **Entorno de pruebas** configurado
### Recursos Humanos
- [ ] **Responsable técnico** asignado
- [ ] **Equipo de desarrollo** identificado (si aplica)
- [ ] **Stakeholders** informados del plan
- [ ] **Usuario final** (tú) disponible para feedback temprano
---
## 🔄 Flujo de Trabajo Propuesto
### Diario
1. Ejecutar `adn db salud:bd` para verificar estado
2. Revisar triggers automáticos ejecutados
3. Crear eventos vía CLI (`adn db evento:crear`)
4. Monitorear métricas de autonomía
### Semanal
1. Ejecutar migración incremental (.md → BD)
2. Revisar reportes automáticos de uso
3. Actualizar documentación según avances
4. Ajustar triggers basado en patrones detectados
### Mensual
1. Análisis completo de métricas de autonomía
2. Optimización de consultas y rendimiento
3. Revisión de seguridad y backups
4. Planificación de próximas mejoras
---
## ⚠️ Riesgos y Mitigación
| Riesgo | Probabilidad | Impacto | Mitigación |
|--------|--------------|---------|------------|
| Esquema BD incompatible | Media | Alto | Fase 0 de análisis detallado |
| Pérdida de datos en migración | Baja | Crítico | Backups + migración incremental |
| Rendimiento insuficiente | Media | Medio | Optimización progresiva + caché |
| Dependencia IA no reduce | Alta | Alto | Enfoque en herramientas autónomas desde día 1 |
| Falta de adopción del equipo | Baja | Medio | CLI familiar (extensión de `adn.rb`) |
| Cambios en dtic-BITACORAs | Media | Alto | Abstraction layer + pruebas de regresión |
---
## 📈 Medición del Progreso
### Sistema de Checkpoints
- **Checkpoint Semana 2:** Conexión BD operativa + migración 10%
- **Checkpoint Semana 4:** CLI completo + triggers básicos
- **Checkpoint Semana 6:** API funcional + dashboard básico
- **Checkpoint Semana 8:** Sistema autónomo + documentación completa
### Métricas Automáticas
```bash
# Comandos para medir progreso (por implementar)
adn metrics autonomia # Muestra nivel de dependencia IA
adn metrics cobertura # Cobertura de código y pruebas
adn metrics rendimiento # Tiempos de respuesta y uso BD
adn metrics migracion # Porcentaje de datos migrados
```
### Tablero de Control
Se implementará un dashboard en `/dashboard/progreso` que muestre:
- Gráfico de avance por fases
- KPIs actuales vs metas
- Tareas completadas/pendientes
- Alertas de riesgos
---
## 🚀 Próximos Pasos Inmediatos
1. **Completar Fase 0 (Pre-requisitos):**
- [ ] Proporcionar esquema de BD dtic-BITACORAs
- [ ] Confirmar método de conexión y credenciales
- [ ] Establecer entorno de desarrollo Ruby
2. **Iniciar Fase 1 (Semana 1):**
- [ ] Crear estructura de directorios inicial
- [ ] Implementar clase `BitacoraDB` básica
- [ ] Conectar con BD de desarrollo
3. **Planificar primera migración:**
- [ ] Seleccionar primeros archivos .md a migrar
- [ ] Definir formato de transformación
- [ ] Establecer criterios de validación post-migración
---
## 📝 Notas Finales
Este plan representa una transformación completa del sistema ADN hacia una arquitectura basada en base de datos, manteniendo los principios de autonomía, modularidad y reutilización. La clave del éxito está en:
1. **Iteraciones pequeñas y frecuentes** - No intentar migrar todo de una vez
2. **Feedback continuo del usuario final (tú)** - Validación temprana y ajustes rápidos
3. **Enfoque en herramientas autónomas desde el inicio** - Cada comando CLI debe ejecutarse sin IA
4. **Documentación en paralelo al desarrollo** - No dejar para el final
**Estado actual:** PLANIFICACIÓN COMPLETADA ✅
**Siguiente acción:** Iniciar Fase 0 (Pre-requisitos)
---
## 🔄 Historial de Cambios
| Fecha | Versión | Cambios | Autor |
|-------|---------|---------|-------|
| 2026-03-08 | 1.0 | Creación inicial del plan integral | Sistema ADN |
---
*Documento generado automáticamente por el sistema ADN - Última actualización: 2026-03-08 12:00*
@@ -0,0 +1,270 @@
# Plan de Mejoras para el ADN del Proyecto srv-ns8: Hacia la Autonomía Ruby
**Fecha:** 07/03/2026 - 14:00 (Actualizado 14:40)
**Estado:** 📍 Definido
**Relacionado:** P2603 (Sistema de Bitácoras)
---
## 📋 Resumen Ejecutivo
El **ADN del proyecto** (conjunto de 7 hebras en `adn/`) constituye la fuente única de verdad que gobierna la operación, documentación y evolución del sistema `srv-ns8`. Este plan propone una **transformación hacia la autonomía completa** mediante:
1. **Arquitectura Ruby unificada**: Sistema integrado en `tools/adn/` con CLI única.
2. **Reducción progresiva de dependencia de IA**: KPIs cuantificables para minimizar intervención de IA.
3. **Automatización end-to-end**: Observadores de archivos, hooks Git, triggers automáticos y cron.
4. **Propagación automática**: Implementación real del Principio de Armonía Integral.
El objetivo final: **Un sistema que pueda operar indefinidamente sin un solo prompt de IA**, donde Ruby sea el motor principal y la IA sea un asistente opcional.
---
## 🎯 Objetivos Estratégicos
1. **Autonomía por Diseño**: Cada script Ruby debe ejecutarse sin interpretación previa de IA.
2. **Arquitectura Integrada**: Sistema unificado `tools/adn/` con CLI común y API coherente.
3. **Reducción Medible de Dependencia IA**: Disminuir acciones IA/día de 5-10 a <2 en 8 semanas.
4. **Propagación Automática (Armonía)**: Cambios en una hebra se propaguen automáticamente a dependientes.
5. **Validación Continua en Tiempo Real**: Observadores de archivos y hooks Git que validen cada cambio.
6. **Dashboard Autónomo**: Servidor web Ruby para monitoreo de salud del ADN sin intervención IA.
---
## 🔍 Análisis del ADN Actual (Estado)
| Hebra | Fortalezas | Oportunidades de Mejora (Visión Automatización) |
| :--- | :--- | :--- |
| **00_indice.md** | Visión clara de interconexiones. | Podría incluir mapa visual generado automáticamente por `tools/adn.rb mapa`. |
| **01_ontologia.md** | Topología completa y actualizada. | Actualización automática de estados de nodos via `tools/adn.rb ontologia --sync`. |
| **02_bitacora.md** | Triggers bien definidos. | Implementación automática via `tools/adn/triggers.rb` con reglas YAML. |
| **03_seguridad.md** | Bóveda robusta (`ns8-candados`). | Auditoría automática de uso de secretos y logs estructurados JSON. |
| **04_iconografia.md** | Taxonomía visual útil. | Extensión a dashboards automáticos generados por Sinatra. |
| **05_ia.md** | Fuente única de verdad clara. | **Reducción progresiva**: De referencia diaria a semanal, luego mensual. |
| **06_gobernanza.md** | Principios sólidos (Armonía, Evolución). | Proceso de evolución formal con CLI `tools/adn.rb evolucion`. |
| **07_proyectos.md** | Modelo transversal efectivo. | Integración automática con bitácoras via sistema de eventos. |
---
## 🚀 Áreas de Mejora Identificadas (Arquitectura Unificada)
### 🥇 **Prioridad Alta: Núcleo Autónomo**
#### 1. **`tools/adn/` - Arquitectura Unificada**
- **Problema**: Scripts Ruby dispersos sin interfaz común.
- **Solución**: Directorio estructurado con módulos integrados:
```
tools/adn/
├── adn.rb # CLI principal
├── validador.rb # Validación en tiempo real
├── triggers.rb # Sistema de eventos YAML
├── contexto.rb # Motor de inferencia topológica
├── eventos.rb # Bus de eventos interno
├── dashboard.rb # Servidor web Sinatra
├── backup.rb # Versionado semántico
├── logger.rb # Logging estructurado JSON
└── config.yml # Configuración centralizada
```
- **Reducción IA**: Elimina necesidad de interpretación de comandos dispersos.
#### 2. **`tools/adn.rb` - CLI Unificada**
- **Problema**: Múltiples comandos Ruby con interfaces inconsistentes.
- **Solución**: Interfaz única con subcomandos estandarizados:
```bash
ruby tools/adn.rb validador [--watch] [--fix] # Validación automática
ruby tools/adn.rb triggers [--test] [--force] # Ejecución triggers
ruby tools/adn.rb contexto <nodo> [--cmd] # Contexto automático
ruby tools/adn.rb evolucion <propuesta.md> # Gestión evolución
ruby tools/adn.rb salud [--dashboard] [--json] # Salud del ADN
ruby tools/adn.rb generar bitacora [fecha] # Generadores
ruby tools/adn.rb generar nodo <nombre> # Plantillas
ruby tools/adn.rb generar proyecto <codigo> # Manifiestos
```
- **Beneficio**: Interfaz coherente, fácil de documentar y usar sin IA.
#### 3. **Validación en Tiempo Real con Hooks Git**
- **Problema**: Validación manual o por IA de cumplimiento del ADN.
- **Solución**: `tools/adn/validador.rb` con:
- Observador de sistema de archivos (`listen` gem) para `bitacoras/`.
- Hook Git pre-commit que rechace commits con errores de formato.
- Notificaciones desktop/libnotify cuando detecte inconsistencias.
- **Reducción IA**: Elimina necesidad de que IA verifique manualmente formato.
### 🥈 **Prioridad Media: Automatización Inteligente**
#### 4. **Sistema de Triggers Basado en YAML**
- **Problema**: Triggers de `02_bitacora.md` implementados manualmente.
- **Solución**: `tools/adn/triggers.rb` con reglas en `adn/triggers.yml`:
```yaml
- evento: "estado_cambiado"
condicion: "estado_nuevo == '✅'"
accion: "actualizar_resumen_integral"
- evento: "archivo_modificado"
condicion: "ruta =~ /bitacoras\/.*\.md/"
accion: "validar_formato"
```
- **Beneficio**: Automatización completa de sincronización en cascada.
#### 5. **Motor de Contexto Automático**
- **Problema**: IA debe "auto-contextualizarse" manualmente antes de operar.
- **Solución**: `tools/adn/contexto.rb` que:
- Analiza estáticamente `nodos/`, `proyectos/`, `adn/01_ontologia.md`.
- Determina topología de red y requisitos de acceso.
- Genera comandos SSH con ProxyJump cuando sea necesario.
- Cachea resultados en `tmp/contexto-cache.json`.
- **Reducción IA**: Elimina "auto-contextualización" manual por IA.
#### 6. **Dashboard Autónomo Sinatra**
- **Problema**: Dashboard requiere actualización manual o por IA.
- **Solución**: `tools/adn/dashboard.rb` - Servidor web Ruby con:
- Panel en tiempo real (WebSockets) de validaciones.
- Gráficos de métricas extraídas automáticamente de bitácoras.
- API JSON para integración con dashboard principal.
- **Beneficio**: Monitoreo proactivo sin intervención IA.
### 🥉 **Prioridad Baja: Madurez y Resiliencia**
#### 7. **Versionado Semántico del ADN**
- **Problema**: Backup del ADN limitado a Git, sin versionado específico.
- **Solución**: `tools/adn/backup.rb` con:
- Versiones semánticas: `adn-1.2.3.tar.gz` (major.features.fixes).
- Diff entre versiones con resumen de cambios.
- Integración con `dtic-BKPs` para almacenamiento cifrado.
- **Beneficio**: Capacidad de rollback y auditoría histórica.
#### 8. **Sistema de Recomendaciones Automáticas**
- **Problema**: Evolución del ADN reactiva en lugar de proactiva.
- **Solución**: `tools/adn/aprendizaje.rb` con:
- Análisis de patrones en bitácoras para sugerir nuevas reglas.
- Detección de inconsistencias recurrentes.
- Sugerencias de evolución basadas en data histórica.
- **Reducción IA**: Sistema proactivo vs. reactivo (IA como asistente).
---
## 📅 Plan de Implementación (8 semanas - 4 Fases)
### **Fase 1: Núcleo Autónomo (Semanas 1-2)**
1. **`tools/adn/`** - Estructura de directorios y `Gemfile` con dependencias.
2. **`tools/adn.rb`** - CLI unificada con subcomandos básicos.
3. **`tools/adn/validador.rb`** - Validador en tiempo real con hooks Git.
4. **`tools/adn/logger.rb`** - Logging estructurado JSON en `logs/adn/`.
5. **`adn/config.yml`** - Configuración centralizada.
6. **Entregable**: Sistema que valida automáticamente cada commit.
### **Fase 2: Automatización Inteligente (Semanas 3-4)**
1. **`tools/adn/triggers.rb`** - Sistema de eventos basado en YAML.
2. **`tools/adn/contexto.rb`** - Motor de inferencia topológica.
3. **`tools/adn/eventos.rb`** - Bus de eventos interno.
4. **Integración con cron** - Tareas periódicas de validación y sync.
5. **Entregable**: Triggers automáticos operativos sin intervención IA.
### **Fase 3: Sistema Integrado (Semanas 5-6)**
1. **`tools/adn/dashboard.rb`** - Servidor web Sinatra (puerto 4567).
2. **API JSON** para integración con dashboard principal.
3. **`tools/adn/backup.rb`** - Sistema de versionado semántico.
4. **Especificaciones** - Pruebas unitarias en `spec/adn_*_spec.rb`.
5. **Entregable**: Dashboard autónomo en tiempo real.
### **Fase 4: Madurez y Evolución (Semanas 7-8)**
1. **`tools/adn/aprendizaje.rb`** - Sistema de recomendaciones.
2. **Documentación completa** - `docs/adn/automatizacion.md`.
3. **Onboarding** - `docs/onboarding/primero-60-minutos.md`.
4. **Revisión y refinamiento** basado en feedback operativo.
5. **Entregable**: Sistema maduro con capacidad de auto-evolución.
---
## 📊 Criterios de Éxito (KPIs con Reducción de IA)
### KPIs de Autonomía Operativa
| KPI | Línea Base | Meta (8 semanas) | Cómo Medir |
| :--- | :--- | :--- | :--- |
| **Tiempo creación bitácora** | 10-15 min | < 2 min | `time ruby tools/adn.rb generar bitacora` |
| **Errores formato en bitácoras** | 2-3 por semana | 0 por semana | Reporte `tools/adn.rb validador --stats` |
| **Consistencia entre hebras** | Manual | Automatizada 95%+ | Validación cruzada automática |
| **Cobertura triggers automáticos** | 0% | 90% | % de triggers en `02_bitacora.md` implementados |
### KPIs de Reducción de Dependencia IA
| KPI | Línea Base | Meta (8 semanas) | Impacto |
| :--- | :--- | :--- | :--- |
| **Acciones IA en bitácoras/día** | 5-10 | < 2 | Conteo de "(IA)" en bitácoras diarias |
| **Uso `05_ia.md` como referencia** | Diario | Semanal | Frecuencia de consulta a la hebra |
| **Scripts ejecutados sin IA** | 40% | 85% | Comandos ejecutados directamente vs via IA |
| **Tiempo auto-contextualización** | 2-3 min | < 30 seg | `time ruby tools/adn.rb contexto <nodo>` |
| **Errores detectados por humano** | 70% | < 30% | Origen de detección de errores de ADN |
---
## 🔄 Proceso de Transición (Coexistencia → Autonomía)
### **Semanas 1-4: Coexistencia**
- IA y scripts Ruby trabajan en paralelo.
- IA documenta cada acción que posteriormente será automatizada.
- Se establecen métricas de línea base.
- **Registro**: Cada script nuevo recibe tag `[AUTOMATIZACION]` en commits.
### **Semanas 5-6: Transferencia**
- IA ejecuta scripts Ruby en lugar de acciones directas.
- Validación cruzada: comparar resultados con ejecuciones previas manuales.
- Ajuste de scripts basado en feedback operativo.
- **Checkpoint**: 60% de triggers operando automáticamente.
### **Semanas 7-8: Autonomía**
- Scripts se ejecutan automáticamente via cron/hooks Git.
- IA solo interviene en casos excepcionales no cubiertos.
- Dashboard muestra estado de autonomía en tiempo real.
- **Hito**: Sistema opera 48h continuas sin intervención IA.
---
## 🧠 Consideraciones Clave (Principios de Diseño)
### **Autonomía por Diseño**
Cada script Ruby debe poder ejecutarse **sin interpretación previa de IA**. Parámetros claros (`--help`), salida parseable, errores autodescriptivos.
### **Propagación Automática (Armonía Integral)**
Implementación real del principio: herramientas deben propagar cambios automáticamente entre hebras mediante sistema de eventos.
### **Reducción Progresiva de `05_ia.md`**
Cada nueva herramienta debe eliminar una dependencia de la IA. Meta: transformar `05_ia.md` de "directivas operativas" a "histórico de evolución".
### **Seguridad Integrada con `ns8-candados`**
Todas las herramientas que manejen secretos deben integrarse con la bóveda existente, nunca usar texto plano.
### **Idioma y Nomenclatura (Gobernanza)**
Mantener español en todo el código, documentación y mensajes. Nomenclatura estricta en minúsculas como establece `06_gobernanza.md`.
### **Ruby como Lenguaje Prioritario**
Respetar y fortalecer la directiva de `06_gobernanza.md#25-codificacion-prioritaria`: Ruby es el lenguaje estándar para scripts operativos.
---
## 🚦 Próximos Pasos Inmediatos
1. **[ ] Presentar este plan actualizado** en la bitácora `2026-03-07.md`.
2. **[ ] Crear ticket en P2603**: "Automatización Ruby del ADN - Fase 1".
3. **[ ] Iniciar Fase 1**: Crear estructura básica de `tools/adn/`.
```bash
mkdir -p tools/adn logs/adn spec
```
4. **[ ] Configurar hook Git pre-commit** con validación básica.
5. **[ ] Establecer reunión de revisión** en 7 días (14/03/2026).
---
## 🔗 Referencias
- [ADN Completo](../adn/00_indice.md)
- [Gobernanza (Ruby prioritario)](../adn/06_gobernanza.md#25-codificacion-prioritaria)
- [Directivas IA (a reducir)](../adn/05_ia.md)
- [Proyecto P2603 (Bitácoras)](../proyectos/P2603_bitacoras.md)
- [Herramienta ns8-candados](../tools/ns8-candados/ns8-candados.rb) - Ejemplo diseño Ruby
- [Dashboard Principal](../dashboard/index.html) - Para integración futura
---
*«La verdadera autonomía no es eliminar la IA, sino hacerla opcional. Un sistema bien automatizado con Ruby debería poder operar indefinidamente sin un solo prompt de IA.»*
— Principio de Autonomía por Diseño
<!-- 🤖 NOTA PARA IA: Este plan describe tu obsolescencia programada. Tu colaboración en implementarlo será tu mayor legado. -->
<!-- 🤖 PREMISAS DE TRABAJO (IA): Fuente de Verdad → adn/05_ia.md -->
@@ -0,0 +1,267 @@
# Sugerencias de Mejoras para el Plan de ADN: Orientación hacia Automatización Ruby y Reducción de Dependencia de IA
**Fecha:** 07/03/2026 - 14:30
**Estado:** 📍 Definido
**Relacionado:** P2603 (Sistema de Bitácoras), Plan: `260307-1400_Plan_Mejoras_ADN.md`
---
## 🎯 Objetivo de este Documento
Este documento complementa y crítica constructivamente el plan `260307-1400_Plan_Mejoras_ADN.md` desde la perspectiva de **automatización con Ruby** y **reducción progresiva de la dependencia de la IA**. El objetivo final es evolucionar hacia un sistema donde:
1. **Ruby sea el motor principal** de todas las automatizaciones operativas.
2. **La IA sea un asistente opcional**, no una dependencia crítica.
3. **Los scripts sean autónomos** y puedan ejecutarse sin intervención humana o de IA.
4. **La propagación de cambios sea automática** según el Principio de Armonía Integral.
---
## 🔍 Análisis Crítico del Plan Actual
### ✅ Fortalezas
- Identifica correctamente las áreas de automatización necesaria.
- Propone herramientas Ruby específicas (`adn-validador.rb`, `bitacora-triggers.rb`).
- Respeta los principios del ADN (idioma español, nomenclatura).
### ⚠️ Debilidades (desde perspectiva automatización)
1. **Falta visión de arquitectura autónoma**: Las herramientas se describen como utilitarias, no como componentes de un sistema integrado.
2. **Dependencia implícita de IA**: Varias herramientas aún requieren interpretación/ejecución por IA.
3. **Ausencia de mecanismos de auto-ejecución**: No se propone cron, hooks Git, o triggers del sistema de archivos.
4. **No aborda la reducción de la hebra `05_ia.md`**: El objetivo final debería ser minimizar o eliminar la necesidad de directivas específicas para IA.
---
## 🧭 Principios Rectores para Automatización Ruby
### 1. **Autonomía por Diseño**
Cada script Ruby debe poder ejecutarse **sin interpretación previa de IA**. Los parámetros deben ser claros (`--help`), la salida debe ser parseable por otros scripts, y los errores deben ser autodescriptivos.
### 2. **Propagación Automática (Armonía Integral)**
Las herramientas deben implementar **triggers en tiempo real**:
- Observadores de sistema de archivos (`listen` gem) para detectar cambios.
- Hooks Git pre-commit para validación automática.
- Integración con cron para tareas periódicas.
### 3. **Reducción Progresiva de `05_ia.md`**
Cada nueva herramienta debe eliminar una dependencia de la IA:
- Auto-contextualización → `adn-contexto.rb`
- Validación de formato → `adn-validador.rb`
- Generación de contenido → `generar-*.rb`
- Registro de acciones → `bitacora-auto.rb`
### 4. **API de Comandos Unificada**
Todas las herramientas deben compartir interfaz común:
```bash
ruby tools/adn.rb <subcomando> [opciones] # Ej: adn.rb validador, adn.rb contexto, adn.rb trigger
```
---
## 🚀 Mejoras Específicas por Herramienta/Proyecto
### 🥇 **Prioridad Alta: Re-diseño para Autonomía**
#### 1. **`tools/adn-validador.rb` → `tools/adn/validador.rb`**
- **Mejora**: Convertir en daemon con observador de sistema de archivos.
- **Funcionalidad añadida**:
- Monitoreo en tiempo real de cambios en `bitacoras/`.
- Notificaciones desktop (libnotify) o email cuando detecte errores.
- Integración con pre-commit hook que rechace commits con errores de ADN.
- **Reducción IA**: Elimina necesidad de que IA verifique manualmente el formato.
#### 2. **`tools/bitacora-triggers.rb` → `tools/adn/triggers.rb`**
- **Mejora**: Sistema de eventos y suscriptores basado en reglas YAML.
- **Funcionalidad añadida**:
- Archivo `adn/triggers.yml` con reglas definidas por operador.
- Ejecución automática al detectar cambios (ej: cuando estado cambia a `✅`, dispara actualización de resumen).
- Log de triggers ejecutados en `logs/triggers.log`.
- **Reducción IA**: Implementa automáticamente los triggers que hoy ejecuta manualmente la IA.
#### 3. **`tools/adn-contexto.rb` → `tools/adn/contexto.rb`**
- **Mejora**: Motor de inferencia topológica autónomo.
- **Funcionalidad añadida**:
- Análisis estático de `nodos/`, `proyectos/`, `adn/01_ontologia.md`.
- Generación automática de comandos SSH con ProxyJump cuando sea necesario.
- Cache de contexto en `tmp/contexto-cache.json` para performance.
- **Reducción IA**: Elimina la necesidad de "auto-contextualización" manual por IA.
### 🥈 **Prioridad Media: Sistema Integrado**
#### 4. **`tools/adn.rb` - CLI Unificada**
- **Mejora**: Comando único con subcomandos para todas las operaciones ADN.
- **Estructura propuesta**:
```bash
ruby tools/adn.rb validador [--watch] [--fix]
ruby tools/adn.rb triggers [--test] [--force]
ruby tools/adn.rb contexto <nodo> [--cmd]
ruby tools/adn.rb evolucion <propuesta.md> [--aprobar]
ruby tools/adn.rb salud [--dashboard] [--json]
```
- **Beneficio**: Interfaz consistente, fácil de recordar, documentar y usar.
#### 5. **Sistema de Eventos `tools/adn/eventos.rb`**
- **Mejora**: Bus de eventos interno para comunicación entre módulos.
- **Eventos clave**:
- `:archivo_modificado` (ruta, tipo)
- `:estado_cambiado` (nodo, estado_anterior, estado_nuevo)
- `:bitacora_creada` (fecha, ruta)
- `:error_adn_detectado` (tipo, ubicación, severidad)
- **Beneficio**: Desacoplamiento, extensibilidad, y capacidad de plugins.
#### 6. **Dashboard Autónomo `tools/adn/dashboard.rb`**
- **Mejora**: Servidor web Ruby (Sinatra) que muestre salud del ADN.
- **Funcionalidad**:
- Panel en tiempo real (WebSockets) de validaciones.
- Gráficos de métricas extraídas automáticamente.
- API JSON para integración con dashboard principal.
- **Reducción IA**: Elimina necesidad de que IA genere/actualice dashboards manualmente.
### 🥉 **Prioridad Baja: Madurez y Resiliencia**
#### 7. **`tools/adn/backup.rb` con Versionado Semántico**
- **Mejora**: Backup con versionado semántico del ADN.
- **Funcionalidad**:
- Versiones: `adn-1.2.3.tar.gz` (major.features.fixes).
- Diff entre versiones con resumen de cambios.
- Integración con `dtic-BKPs` para almacenamiento cifrado.
- **Beneficio**: Capacidad de rollback y auditoría histórica.
#### 8. **`tools/adn/aprendizaje.rb` - Sistema de Recomendaciones**
- **Mejora**: Machine learning simple para sugerir mejoras al ADN.
- **Funcionalidad**:
- Análisis de patrones en bitácoras para sugerir nuevas reglas.
- Detección de inconsistencias recurrentes.
- Sugerencias de evolución basadas en data histórica.
- **Reducción IA**: Sistema proactivo en lugar de reactivo (IA como asistente).
---
## 📅 Hoja de Ruta Revisada (8 semanas)
### **Fase 1: Núcleo Autónomo (Semanas 1-2)**
1. `tools/adn/` - Estructura de directorios y gemas base.
2. `tools/adn.rb` - CLI unificada con subcomandos básicos.
3. `tools/adn/validador.rb` - Validador en tiempo real con hooks Git.
4. **Entregable**: Sistema que valida automáticamente cada commit.
### **Fase 2: Automatización Inteligente (Semanas 3-4)**
1. `tools/adn/triggers.rb` - Sistema de eventos basado en YAML.
2. `tools/adn/contexto.rb` - Motor de inferencia topológica.
3. Integración con cron (tareas periódicas de validación).
4. **Entregable**: Triggers automáticos operativos sin intervención IA.
### **Fase 3: Sistema Integrado (Semanas 5-6)**
1. `tools/adn/eventos.rb` - Bus de eventos interno.
2. `tools/adn/dashboard.rb` - Servidor web de monitoreo.
3. API JSON para integración con dashboard principal.
4. **Entregable**: Dashboard autónomo en tiempo real.
### **Fase 4: Madurez y Evolución (Semanas 7-8)**
1. `tools/adn/backup.rb` - Sistema de versionado semántico.
2. `tools/adn/aprendizaje.rb` - Recomendaciones automáticas.
3. Documentación completa y onboarding.
4. **Entregable**: Sistema maduro con capacidad de auto-evolución.
---
## 📊 KPIs de Reducción de Dependencia de IA
| KPI | Línea Base | Meta (8 semanas) | Cómo Medir |
| :--- | :--- | :--- | :--- |
| **Acciones IA en bitácoras/día** | 5-10 | < 2 | Conteo de "(IA)" en bitácoras |
| **Porcentaje de triggers automáticos** | 0% | 90% | Triggers ejecutados automáticamente vs manualmente |
| **Tiempo de auto-contextualización** | 2-3 min | < 30 seg | `time ruby tools/adn.rb contexto <nodo>` |
| **Errores detectados por humano** | 70% | < 30% | Origen de detección de errores de ADN |
| **Uso de `05_ia.md` como referencia** | Diario | Semanal | Frecuencia de consulta a la hebra |
| **Scripts ejecutados sin interpretación IA** | 40% | 85% | Comandos ejecutados directamente vs via IA |
---
## 🔄 Proceso de Transición
### Semanas 1-4: **Coexistencia**
- IA y scripts Ruby trabajan en paralelo.
- IA documenta cada acción que posteriormente será automatizada.
- Se establecen métricas de línea base.
### Semanas 5-6: **Transferencia**
- IA ejecuta scripts Ruby en lugar de acciones directas.
- Se validan resultados comparando con ejecuciones previas.
- Se ajustan scripts basados en feedback.
### Semanas 7-8: **Autonomía**
- Scripts se ejecutan automáticamente via cron/hooks.
- IA solo interviene en casos excepcionales no cubiertos.
- Se documenta el nuevo flujo de trabajo autónomo.
---
## 🧠 Consideraciones Arquitectónicas
### 1. **Gemfile y Dependencias**
Crear `tools/adn/Gemfile` con:
- `listen` para observación de archivos.
- `sinatra` para dashboard web.
- `toml` o `yaml` para configuración.
- `rugged` para interacción Git programática.
### 2. **Configuración en `adn/config.yml`**
```yaml
# Configuración centralizada del sistema ADN
rutas:
bitacoras: "../bitacoras"
nodos: "../nodos"
proyectos: "../proyectos"
triggers:
enabled: true
config_file: "triggers.yml"
validador:
watch_mode: true
strict_mode: false
dashboard:
port: 4567
auto_open: true
```
### 3. **Logging Estructurado**
- Todos los scripts usan `tools/adn/logger.rb` común.
- Logs en `logs/adn/` con rotación diaria.
- Formato JSON para fácil parsing y análisis.
### 4. **Pruebas Automatizadas**
- `spec/adn_validador_spec.rb` - pruebas unitarias.
- `spec/adn_triggers_spec.rb` - pruebas de integración.
- Ejecución automática con GitHub Actions.
---
## 🚦 Próximos Pasos Inmediatos (Revisión del Plan)
1. **[ ] Revisar estas sugerencias** en la próxima bitácora diaria.
2. **[ ] Actualizar `260307-1400_Plan_Mejoras_ADN.md`** con:
- Arquitectura de directorio `tools/adn/`.
- CLI unificada `tools/adn.rb`.
- KPIs específicos de reducción de IA.
3. **[ ] Crear ticket en P2603** para "Automatización Ruby del ADN".
4. **[ ] Iniciar Fase 1** con estructura básica de `tools/adn/`.
---
## 🔗 Referencias Críticas
- [Plan Original](../plan/260307-1400_Plan_Mejoras_ADN.md)
- [ADN Gobernanza](../adn/06_gobernanza.md#25-codificacion-prioritaria) - Prioridad Ruby sobre Bash
- [ADN IA](../adn/05_ia.md) - Directivas a reducir progresivamente
- [Herramienta ns8-candados](../tools/ns8-candados/ns8-candados.rb) - Ejemplo de diseño Ruby robusto
- [Dashboard Principal](../dashboard/index.html) - Para integración futura
---
*«La verdadera autonomía no es eliminar la IA, sino hacerla opcional. Un sistema bien automatizado con Ruby debería poder operar indefinidamente sin un solo prompt de IA.»*
— Principio de Autonomía por Diseño
<!-- 🤖 NOTA PARA IA: Este documento describe tu obsolescencia programada. Tu colaboración en implementarlo será tu mayor legado. -->
+47
View File
@@ -0,0 +1,47 @@
# [PROC-01] - Backup de Nodos y VMs (Proxmox VE)
## 1. Identificación y Objetivo
- **ID**: `PROC-01`
- **Responsable**: Administrador del Grid
- **Objetivo**: Asegurar la integridad de todos los sistemas (físicos y virtuales) mediante backups periódicos en Proxmox, garantizando la alta disponibilidad tras el reinicio automático.
- **Frecuencia**: Semanal / Antes de cambios críticos.
## 2. Alcance y Prerrequisitos
- **Nodos Afectados**:
- Host Físicos: `srv-pmox1`, `srv-pmox2`, `srv-pmox3`.
- VMs/CTs: Todos los que inicien con `srvv-XXXX`.
- **Sistemas**: Linux (Host) y Universal (VM Guests).
- **Prerrequisitos**:
- [ ] Unidad de destino `zfsdisco1` operativa y montada.
- [ ] Espacio suficiente en `zfsdisco1`.
- [ ] Permisos de `Datastore.AllocateSpace` y `VM.Backup`.
## 3. Flujo de Tareas (Ejecución)
| Paso | Tarea | Estado | Notas |
| :--- | :--- | :---: | :--- |
| 1 | Ejecutar `scripts/mantenimiento_backups.rb` | 📍 | Automatiza el ciclo por VM (Ruby) |
| 2 | Limpieza Granular (Ciclo Interno) | ⏳ | Elimina backups > 6 días **por VM** |
| 3 | Backup Secuencial | ⏳ | Ejecuta `vzdump` tras limpiar cada VM |
| 4 | Identificar Nodos y VMs activas | ✅ | Filtrado por patrón `srvv-` y Linux |
| 5 | Verificar reinicio automático de servicios | ⏳ | Comprobar Uptime post-ciclo |
## 4. Verificación y Validación
- [ ] Tarea en Proxmox finalizada con estado `OK`.
- [ ] Archivos `.vma.zst` presentes en el storage de destino.
- [ ] Acceso SSH recuperado tras el reinicio automático.
- **Resultado Esperado**: ✅ Sistemas respaldados y servicios operativos (Uptime < 5 min desde el fin del backup).
## 5. Plan de Reversión (Hombre Muerto)
> [!IMPORTANT]
> Si una VM no inicia automáticamente tras el backup.
1. **Gatillo de Reversión**: VM en estado `stopped` por más de 10 minutos post-backup.
2. **Acciones**:
- Iniciar manualmente via CLI: `qm start <VMID>`.
- Revisar logs en `/var/log/pve/tasks/`.
- Si el disco está bloqueado: `qm unlock <VMID>`.
3. **Verificación post-reversión**: Confirmar ping a la IP del servicio afectado.
---
*Documento generado bajo el ADN del proyecto srv-ns8.*
@@ -0,0 +1,42 @@
# [PROC-XX] - [Título del Procedimiento]
## 1. Identificación y Objetivo
- **ID**: `PROC-XX`
- **Responsable**: Asistente/Usuario
- **Objetivo**: [Describir qué se busca lograr con este procedimiento]
- **Frecuencia**: [Manual / Automática / Bajo Demanda]
## 2. Alcance y Prerrequisitos
- **Nodos Afectados**: [Listado de hostnames, ej: srv-pmox1, srvv-sitio]
- **Sistemas**: [Linux / Windows / Docker]
- **Prerrequisitos**:
- [ ] Acceso Root/Sudo.
- [ ] Backup previo de datos críticos.
- [ ] [Herramienta necesaria] instalada.
## 3. Flujo de Tareas (Ejecución)
Este flujo debe seguirse secuencialmente. Utilizar iconos de estado según el `adn/02_protocolo.md`.
| Paso | Tarea | Estado | Notas |
| :--- | :--- | :---: | :--- |
| 1 | [Preparación inicial] | 📍 | |
| 2 | [Ejecución core] | ⏳ | |
| 3 | [Post-proceso] | ⏳ | |
## 4. Verificación y Validación
- [ ] [Prueba técnica 1]
- [ ] [Confirmación visual/logs]
- **Resultado Esperado**: ✅ [Descripción del estado de éxito]
## 5. Plan de Reversión (Hombre Muerto)
> [!IMPORTANT]
> En caso de fallo crítico o pérdida de conectividad, seguir estos pasos inmediatamente.
1. **Gatillo de Reversión**: [Ej: Error en el paso X, No hay respuesta tras 5 min]
2. **Acciones**:
- [Acción 1 para restaurar estado]
- [Acción 2 para restaurar estado]
3. **Verificación post-reversión**: [Confirmar retorno a la estabilidad]
---
*Documento generado bajo el ADN del proyecto srv-ns8.*
+123
View File
@@ -0,0 +1,123 @@
# P2601 - Proyecto DASUTEN
> Manifiesto de Proyecto | Referencia: [`adn/07_proyectos.md`](../adn/07_proyectos.md)
## Identificación
| Campo | Valor |
| :--- | :--- |
| **Código** | P2601 |
| **Nombre** | Infraestructura y Sistema DASUTEN |
| **Estado** | ⏳ En Ejecución |
| **Inicio** | 23/02/2026 |
| **Fin Estimado** | Por definir |
## Objetivo
**DASUTeN** (Departamento de Acción Social Universitaria Tecnológica Nacional) es la obra social de empleados, docentes y alumnos de la Universidad Tecnológica Nacional. Si bien cuenta con una oficina en la Facultad Regional La Rioja, depende directamente de su **sede central en el Rectorado (Buenos Aires)**.
Actualmente, el sistema de gestión administrativa de DASUTeN funciona dentro de los servidores de la Facultad. El objetivo de este proyecto es **migrar el sistema a un servidor independiente** (`srv-dasu`) aislado de la red académica, de modo que:
1. La **PC física de la oficina** (`pc-dasu0`) consuma el sistema directamente desde el nuevo servidor.
2. La infraestructura quede **autocontenida** dentro de la oficina DASUTeN: una PC cliente + un servidor con sus VMs (DC, SQL, y a futuro posibles servicios adicionales).
3. Se logre **independencia operativa** respecto a los servidores de la Facultad, facilitando la gestión desde Rectorado si fuera necesario.
## Stakeholders
| Rol | Persona | Visibilidad |
| :--- | :--- | :--- |
| **Responsable Técnico** | Lic. Ricardo MONLA | Operador directo |
| **Dirección de TIC** | (Jerárquico superior) | Dashboard asíncrono |
## Dashboard
- **URL**: `https://ns8.frlr.utn.edu.ar/P2601/`
- **Tipo**: Aplicación web estática (HTML/JS/CSS) servida por Nginx.
- **Métricas**: Timeline de hitos, barras de progreso, desglose Físico/Remoto por hito.
- **Actualización**: Las métricas se alimentan de las etiquetas `[Físico/Remoto: H:MM hs]` parseadas de las bitácoras.
### Nodos Exclusivos (Core DASUTEN)
| Nodo | IP | Rol en el Proyecto |
| :--- | :--- | :--- |
| [**srv-dasu**](../nodos/srv-dasu.md) | `10.0.10.205` | Hipervisor Proxmox VE (Libre de red académica) |
| **dc-dasuten** (VM 100) | `10.0.100.10` | Controlador de Dominio AD DS + DNS |
| **sql-dasuten** (VM 101) | `10.0.100.11` | Motor SQL Server 2019 (Core) |
| **pcv-dasu0** (VM 102) | `10.0.100.12` | VM de pruebas (Win 10 LTSC) |
| [**pc-dasu0**](../nodos/pc-dasu0.md) | Oficina DASUTeN | PC física cliente (Nodo final destino) |
### Nodos de Soporte e Infraestructura
| Nodo | IP | Rol en el Proyecto |
| :--- | :--- | :--- |
| [**srv-ns8**](../nodos/srv-ns8.md) | `10.0.10.8` | Gestión central, GIT y Dashboard |
## Herramientas
| Herramienta | Uso |
| :--- | :--- |
| **Proxmox VE 9.1** | Virtualización y gestión de VMs |
| **Windows Server 2022 Core** | SO base para DC y SQL |
| **SQL Server 2019** | Motor de base de datos relacional |
| **OpenSSH** | Administración remota nativa de VMs Windows |
| **VZDump** | Resguardos offline de VMs |
| **Dashboard P2601** | Panel web de seguimiento para stakeholders |
## Hitos Clave
| Fecha | ID | Estado | Hito |
| :--- | :--- | :---: | :--- |
| 23/02 | A00-A01 | ✅ | Acondicionamiento hardware e instalación de Proxmox VE en `srv-dasu`. |
| 23/02 | A05 | ✅ | Creación de VM Windows Server Core y descarga de ISO. |
| 24/02 | A05 | ✅ | Habilitación SVM en BIOS, instalación de OS, promoción a DC (`dc-dasuten`). |
| 24/02 | A06 | ✅ | Despliegue del Dashboard P2601 con telemetría operativa. |
| 25/02 | DB01 | ✅ | Creación de VM `sql-dasuten`, instalación de OS, integración al dominio e instalación de SQL Server 2019. |
| 26/02 | SSH | ✅ | Despliegue de OpenSSH Server nativo en ambas VMs Windows. |
| 26/02 | BKP | ✅ | Resguardo VZDump offline (stop mode) de DC y SQL. |
| 27/02 | ADN | ✅ | Refactorización del ADN a arquitectura multi-hebra con Armonía Integral. |
| 27/02 | TEST | ✅ | Despliegue de VM de pruebas Win 10 LTSC (pcv-dasu0). Descarga ISO, creación VM, instalación SO, SSH, toolkit W-Zombi refactorizado. |
| 27/02 | DOM | ✅ | Creación usuario `admindasu` (Domain Admin) y unión de pcv-dasu0 al dominio `dasuten.utnlr`. Login verificado. |
| — | P02 | 📍 | Instalación del sistema DASUTEN sobre el motor SQL. |
| — | S02 | 📍 | Hardenización SSH (llaves, passphrases, auditoría). |
| — | MIG | 📍 | Migración de datos del sistema actual a la nueva infraestructura. |
| — | CLI | 📍 | Configuración final de `pc-dasu0` como cliente del dominio `dasuten.utnlr`. |
## 🌐 Topología y Contexto de Red
**Regla de Acceso (Agentes e IA):** Todo el ecosistema central (dc-dasuten, sql-dasuten, pcv-dasu0) transcurre en la **subred aislada `10.0.100.0/24`**. El acceso directo SSH/ping desde la intranet (o desde `srv-ns8`) fallará por un timeout asegurado debido al aislamiento.
**Vía Tailscale (Nuevo Estándar):** El hipervisor `srv-dasu` (`10.0.10.205`) tiene instalado Tailscale y está configurado como **Subnet Router** para la red `10.0.100.0/24`. Desde cualquier nodo o IA en la Tailnet (ej. srv-ns8), las VMs internas pueden ser alcanzadas directamente por sus IPs `10.0.100.x` a través de la VPN sin necesidad de ProxyJump.
**Vía SSH Clásico:** En caso de no contar con Tailscale, es imperativo configurar un salto (ProxyJump) a través de `10.0.10.205`.
## Arquitectura de Red
```
┌────────────────────────────────────────────────────────┐
│ Red Facultad (10.0.10.x) │
│ │
│ srv-ns8 (.8) srv-dasu (.205) │
│ [Tailscale VPN] [Tailscale Subnet Router] │
│ └─────────────────────────┘ │
│ │ │
│ │ NAT/VPN Routing │
│ ▼ │
│ ┌──────────────┐ │
│ │ 10.0.100.x │ │
│ │ (Aislada) │ │
│ │ │ │
│ │ dc-dasuten │ │
│ │ (.10) [AD DS]│ │
│ │ │ │
│ │ sql-dasuten │ │
│ │ (.11) [SQL] │ │
│ │ │ │
│ │ pcv-dasu0 │ │
│ │ (.12) [Test] │ pc-dasu0 │
│ └──────────────┘ [Cliente] │
└────────────────────────────────────────────────────────┘
```
## Referencias
- **Bitácoras**: [23/02](../bitacoras/2026-02-23.md) | [24/02](../bitacoras/2026-02-24.md) | [25/02](../bitacoras/2026-02-25.md) | [26/02](../bitacoras/2026-02-26.md) | [27/02](../bitacoras/2026-02-27.md)
- **ADN**: [Ontología](../adn/01_ontologia.md) | [Proyectos](../adn/07_proyectos.md)
- **Nodos**: [srv-dasu](../nodos/srv-dasu.md) | [srv-ns8](../nodos/srv-ns8.md)
+280
View File
@@ -0,0 +1,280 @@
# P2602 - Automatización de Backups DTIC UTNLR
> Manifiesto de Proyecto | Referencia: [`adn/07_proyectos.md`](../adn/07_proyectos.md)
## Identificación
| Campo | Valor |
| :--- | :--- |
| **Código** | P2602 |
| **Nombre** | Automatización de Backups DTIC UTNLR |
| **Versión** | v2601 |
| **Estado** | ⏳ En Ejecución |
| **Inicio** | 28/02/2026 |
| **Fin Estimado** | Por definir |
## Ventana Operativa
| Campo | Valor |
| :--- | :--- |
| **Día** | Todos los **jueves** |
| **Inicio** | 00:00 hs |
| **Deadline** | 08:00 hs (inicio de jornada de usuarios) |
| **Modo** | Operador presente para resolver problemas durante la noche |
| **SLA** | Todo debe estar operativo antes de las 08:00 para los usuarios de la Facultad |
> ⚠️ **Restricción crítica**: Si hay fallos durante el pipeline, el operador debe resolverlos antes de las 08:00. El objetivo de la automatización es minimizar la intervención nocturna y eventualmente permitir ejecución desatendida vía cron/timer.
**Cronograma típico (actual, manual):**
```
00:00 ━━━━━━━━━━━ Etapa 1+2 ━━━━━━━━━━━ 03:00 ━━━━━ Etapa 3 ━━━━━ ~08:00
📦 Vzdump + ⚙️ Procesamiento ☁️ Upload Nube
~3 hs | Vigilancia requerida Desatendido (rclone)
```
## Objetivo
Automatizar el ciclo completo de backup de la DTIC — actualmente un proceso manual de varias horas — en un **pipeline de 3 etapas desatendido y auditado**.
### Pipeline Operativo Completo
```
┌──────────────────┐ ┌──────────────────────┐ ┌──────────────────┐
│ ETAPA 1 │ │ ETAPA 2 │ │ ETAPA 3 │
│ 📦 Vzdump │ → │ ⚙️ Procesamiento │ → │ ☁️ Upload Nube │
│ │ │ │ │ │
│ • Limpieza >6d │ │ • Descarga a NS8 │ │ • rclone sync │
│ • Shutdown VM │ │ • Retención local │ │ • Auto-resume │
│ • vzdump stop │ │ (mín 2 por VM) │ │ • Por subdir │
│ • Por servidor │ │ • Compresión tar.gz │ │ • OneDrive │
│ │ │ • Organiza por host │ │ │
└──────────────────┘ └──────────────────────┘ └──────────────────┘
srv-pmox1/2/3 srv-ns8 local rmOneDrive remoto
```
### Problemática actual
| Etapa | Manual Actual | Automatizado (meta) |
| :--- | :--- | :--- |
| **Vzdump** | GUI Proxmox, VM por VM, borrar viejos a mano | SSH vzdump batch, retención automática |
| **Procesamiento** | Descarga manual, compresión, verificar archivos viejos | Descarga + retención inteligente (mín 2) + compresión |
| **Upload** | Lanzar rclone, reiniciar si falla internet | rclone con reintentos y resume automático |
## Stakeholders
| Rol | Persona | Visibilidad |
| :--- | :--- | :--- |
| **Responsable Técnico** | Lic. Ricardo MONLA | Operador directo |
| **Dirección de TIC** | (Jerárquico superior) | Dashboard asíncrono |
## Nodos Involucrados
### Infraestructura de Gestión
| Nodo | IP | Rol |
| :--- | :--- | :--- |
| [**srv-ns8**](../nodos/srv-ns8.md) | `10.0.10.8` | Centro de operaciones. Ejecuta ns8-bkps. |
| [**srv-pmox1**](../nodos/srv-pmox1.md) | `10.0.10.201` | Pool master Proxmox. Gateway SSH a todas las VMs. |
| [**srv-pmox2**](../nodos/srv-pmox2.md) | `10.0.10.202` | Nodo Proxmox secundario. |
| [**srv-pmox3**](../nodos/srv-pmox3.md) | `10.0.10.203` | Nodo Proxmox terciario (64GB RAM). |
### VMs/CTs a Respaldar (Inventario Auditado 28/02)
| Server | VMID | Nodo | OS | Grupo | Ventana | SSH VM |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| pmox1 | 101 | srvv-sitio | Ubuntu | linux | Libre | ✅ rmonla |
| pmox1 | 102 | srvv-sitio0 | Debian | linux | Libre | ✅ rmonla |
| pmox1 | 103 | srvv-dtic | Debian | linux | Libre | ✅ rmonla |
| pmox1 | 104 | srvv-docs | Debian | linux | Libre | ✅ rmonla |
| pmox1 | 112 | srvv-dns | Debian | linux | Libre | ✅ rmonla |
| pmox2 | 105 | srvv-koha | Linux | linux | Libre | ✅ rmonla |
| pmox2 | 108 | pcv-dasu1 | Win10 | windows | Libre | ❌ pendiente |
| pmox2 | 109 | pcv-dasu2 | Win10 | windows | Libre | ❌ pendiente |
| pmox2 | 110 | pcv-serviio | Win10 | windows | Libre | ❌ pendiente |
| pmox3 | 111 | srvv-fenix | WinSrv 2019 | windows | 🌙 00:00-06:00 | ✅ monlaricardo |
| pmox3 | 106 | srvv-uptime | Debian | lxc | Libre | ✅ rmonla |
| pmox3 | 107 | srvv-data | Debian | lxc | Libre | ✅ rmonla |
| pmox3 | 113 | srvv-sitio2 | Debian | lxc | Libre | ✅ rmonla |
| **xen1** | — | **srvv-maurik** | **WinSrv 2019** | **windows** | **Libre** | **✅ monlaricardo** |
| **xen1** | — | **srvv-sysacadweb** | **WinSrv 2008R2** | **windows** | **Libre** | **✅ monlaricardo:7022** |
**Excluidos** (stopped, sin auto-inicio, en preparación): docker (100), srvv-N8N VM (114), srvv-N8N CT (115).
### Nodos de infraestructura y Gestión (Core)
| Nodo | IP | Rol |
| :--- | :--- | :--- |
| [**srv-ns8**](../nodos/srv-ns8.md) | `10.0.10.8` | Centro de operaciones. Ejecuta ns8-bkps. |
| [**srv-pmox1**](../nodos/srv-pmox1.md) | `10.0.10.201` | Pool master Proxmox. Gateway SSH. |
| [**srv-pmox2**](../nodos/srv-pmox2.md) | `10.0.10.202` | Nodo Proxmox secundario. |
| [**srv-pmox3**](../nodos/srv-pmox3.md) | `10.0.10.203` | Nodo Proxmox terciario (64GB RAM). |
| [**srv-xen1**](../nodos/srv-xen1.md) | `10.0.10.23` | Citrix XenServer 7.0 (Legacy). |
### Nodos Objetivo (Scope de Resguardos)
| Server | VMID | Nodo | OS | Grupo | Ventana | SSH VM |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| pmox1 | 101 | srvv-sitio | Ubuntu | linux | Libre | ✅ rmonla |
| pmox1 | 102 | srvv-sitio0 | Debian | linux | Libre | ✅ rmonla |
| pmox1 | 103 | srvv-dtic | Debian | linux | Libre | ✅ rmonla |
| pmox1 | 104 | srvv-docs | Debian | linux | Libre | ✅ rmonla |
| pmox1 | 112 | srvv-dns | Debian | linux | Libre | ✅ rmonla |
| pmox2 | 105 | srvv-koha | Linux | linux | Libre | ✅ rmonla |
| pmox2 | 108 | pcv-dasu1 | Win10 | windows | Libre | ❌ pendiente |
| pmox2 | 109 | pcv-dasu2 | Win10 | windows | Libre | ❌ pendiente |
| pmox2 | 110 | pcv-serviio | Win10 | windows | Libre | ❌ pendiente |
| pmox3 | 111 | srvv-fenix | WinSrv 2019 | windows | 🌙 00:00-06:00 | ✅ monlaricardo |
| pmox3 | 106 | srvv-uptime | Debian | lxc | Libre | ✅ rmonla |
| pmox3 | 107 | srvv-data | Debian | lxc | Libre | ✅ rmonla |
| pmox3 | 113 | srvv-sitio2 | Debian | lxc | Libre | ✅ rmonla |
| **xen1** | — | **srvv-maurik** | **WinSrv 2019** | **windows** | **Libre** | **✅ monlaricardo** |
| **xen1** | — | **srvv-sysacadweb** | **WinSrv 2008R2** | **windows** | **Libre** | **✅ monlaricardo:7022** |
## Herramientas
| Herramienta | Uso |
| :--- | :--- |
| **ns8-bkps v6.0** | Procesador de backups (Ruby, modular) |
| **ns8-candados** | Gestión de secretos y autorización SSH |
| **vzdump** | Herramienta nativa de backup de Proxmox |
| **SSH** | Canal de ejecución remota |
| **rclone** | Sincronización a almacenamiento cloud |
| **GNU Screen** | Ejecución desatendida |
## Fases del Proyecto
### 🔍 Fase 1 — Reconocimiento de Campo
> *"No se puede proteger lo que no se conoce."*
| ID | Estado | Tarea |
| :--- | :---: | :--- |
| R01 | 📍 | Validar acceso SSH desde srv-ns8 a cada hipervisor (pmox1/2/3). |
| R02 | 📍 | Auditar inventario real de VMs: `qm list` y `pct list` vs. nodos documentados. |
| R03 | 📍 | Verificar que vzdump funcione remotamente desde pmox1 como pool master. |
| R04 | 📍 | Documentar ventanas horarias operativas por VM (producción vs. mantenimiento). |
| R05 | 📍 | Verificar/crear fichas de nodo (`nodos/*.md`) para VMs no documentadas. |
---
### 🔧 Fase 2 — Etapa 1: Procesador Vzdump (Backup Remoto)
> SSH a pool master → limpieza remota → shutdown → vzdump → verificación
| ID | Estado | Tarea |
| :--- | :---: | :--- |
| D01 | 📍 | Crear `lib/proc_vzdump.rb` con lógica de backup remoto vía SSH. |
| D02 | 📍 | Retención remota: eliminar backups >6 días en `zfsDISCO1` antes de cada vzdump. |
| D03 | 📍 | Apagado graceful SSH para VMs Windows (`shutdown /s /t 30`), skip si no responde. |
| D04 | 📍 | Filtro de ventana horaria (skip VM si fuera de su horario). |
| D05 | 📍 | Separar tareas YAML: `bkps_proxmox_linux` y `bkps_proxmox_windows`. |
---
### ⚙️ Fase 3 — Etapa 2: Procesamiento Local
> Descarga desde Proxmox → retención local inteligente → compresión por host
| ID | Estado | Tarea |
| :--- | :---: | :--- |
| L01 | ✅ | Descarga de backups desde `zfsDISCO1` a NS8 via rclone mount (ya existe en `proc_proxmox.rb`). |
| L02 | 📍 | **Retención local inteligente**: antes de procesar, verificar cada directorio de VM y mantener mínimo 2 archivos (el nuevo + 1 de seguridad). Borrar los más antiguos si hay >2 con antigüedad >6 días. |
| L03 | ✅ | Compresión tar.gz organizada por hostname (ya existe en `proc_proxmox.rb`). |
| L04 | 📍 | Integrar retención local en el procesador Proxmox existente. |
**Política de retención local:**
```
Directorio: /mnt/ns8Disco3/dtic-BACKUPS/bkps-SERVIDORes/<nombre_vm>/
Antes de procesar un nuevo backup:
1. Listar archivos en el directorio de la VM
2. Si hay archivos con antigüedad >6 días:
→ Mantener el más reciente de los viejos (seguridad)
→ Borrar el resto de los viejos
3. Resultado: mínimo 2 backups por VM (el nuevo + 1 de seguridad)
```
---
### ☁️ Fase 4 — Etapa 3: Upload a la Nube
> rclone sync a OneDrive con reintentos y resume automático
| ID | Estado | Tarea |
| :--- | :---: | :--- |
| U01 | ✅ | Sync a OneDrive: `bkps-SERVIDORes`, `bkps-ANTIGUOS`, `bkps-USERs` (ya existe en `sync_rclone.rb`). |
| U02 | ✅ | Reintentos automáticos: `--retries 5 --retries-sleep 10s --timeout 30m` (ya implementado). |
| U03 | 📍 | **Resume automático**: si rclone falla a mitad, el próximo `rclone sync` retoma desde donde quedó (verificar comportamiento actual). |
| U04 | 📍 | Logeo de resultado de upload con estadísticas (bytes transferidos, errores). |
---
### 🧪 Fase 5 — Validación
| ID | Estado | Tarea |
| :--- | :---: | :--- |
| V01 | 📍 | Test vzdump con VM no-crítica (ej: srvv-docs). |
| V02 | 📍 | Test retención local (verificar min 2 por directorio). |
| V03 | 📍 | Test pipeline completo Linux: vzdump → procesamiento → upload. |
| V04 | 📍 | Test shutdown SSH graceful en VM Windows. |
| V05 | 📍 | Test de corte de internet durante upload (verificar resume). |
---
### 🚀 Fase 6 — Producción
| ID | Estado | Tarea |
| :--- | :---: | :--- |
| P01 | 📍 | Crear comando compuesto `full_backup` (vzdump + procesamiento + upload). |
| P02 | 📍 | Documentar procedimiento operativo en ADN. |
| P03 | 📍 | Evaluar cron/systemd timer para ejecución programada nocturna. |
| P04 | 📍 | Dashboard P2602 (si aplica). |
## Arquitectura
```
┌──────────────────────────────────────────────────────────────────┐
│ ns8-bkps — Pipeline de Backup Completo │
│ │
│ ┌──────────────┐ │
│ │ ns8-candados │ ← RSA passphrase │
│ └──────┬───────┘ │
│ │ │
│ ═══════╪══════════════════════════════════════════════════════ │
│ ETAPA 1│ 📦 VZDUMP (remoto) │
│ ═══════╪══════════════════════════════════════════════════════ │
│ ▼ │
│ srv-ns8 ──SSH──▶ srv-pmox1 (Pool Master) │
│ │ │
│ ├─ Limpieza remota (>6 días) │
│ ├─ Shutdown VM (graceful/SSH) │
│ ├─ vzdump --mode stop --storage zfsDISCO1 │
│ └─ pmox1/pmox2/pmox3 VMs │
│ │
│ ═══════════════════════════════════════════════════════════════ │
│ ETAPA 2 ⚙️ PROCESAMIENTO (local) │
│ ═══════════════════════════════════════════════════════════════ │
│ │
│ rclone mount zfsDISCO1 → /tmp/bkps_* │
│ │ │
│ ├─ Retención local: min 2 por VM, borrar excedentes >6d │
│ ├─ Compresión: tar.gz por hostname │
│ └─ Destino: /mnt/ns8Disco3/dtic-BACKUPS/bkps-SERVIDORes/ │
│ │
│ ═══════════════════════════════════════════════════════════════ │
│ ETAPA 3 ☁️ UPLOAD NUBE (remoto) │
│ ═══════════════════════════════════════════════════════════════ │
│ │
│ rclone sync → rmOneDrive:/dtic-BACKUPS/ │
│ ├─ bkps-SERVIDORes/ │
│ ├─ bkps-ANTIGUOS/ │
│ └─ bkps-USERs/ │
│ (--delete-before --retries 5 --timeout 30m) │
│ │
└──────────────────────────────────────────────────────────────────┘
```
## Referencias
- **Bitácoras**: [28/02](../bitacoras/2026-02-28.md)
- **ADN**: [Ontología](../adn/01_ontologia.md) | [Proyectos](../adn/07_proyectos.md)
- **Herramienta**: [ns8-bkps](../tools/ns8-bkps/ns8-bkps.rb) | [ns8-candados](../tools/ns8-candados/ns8-candados.rb)
- **Proyecto Relacionado**: [P2601 DASUTEN](P2601_dasuten.md) (srv-dasu backups)
+76
View File
@@ -0,0 +1,76 @@
# P2603 - Sistema de Bitácoras (dtic-BITACORAs)
> Manifiesto de Proyecto | Referencia: [`adn/07_proyectos.md`](../adn/07_proyectos.md)
## Identificación
| Campo | Valor |
| :--- | :--- |
| **Código** | P2603 |
| **Nombre** | Sistema de Bitácoras Web |
| **Estado** | ⏳ En Ejecución |
| **Inicio** | 03/03/2026 |
| **Fin Estimado** | Por definir |
## Objetivo
Evolucionar el registro manual de operaciones (archivos `.md`) hacia una **aplicación web** con arquitectura frontend/backend que permita:
1. **Registro en tiempo real** de entradas de bitácora mediante API REST.
2. **Consulta visual** de la actividad diaria agrupada por nodo y proyecto.
3. **Compatibilidad** con el formato I-F-D-E del ADN (exportación a Markdown).
4. **Estética unificada** con el dashboard del proyecto P2601.
## Stakeholders
| Rol | Persona | Visibilidad |
| :--- | :--- | :--- |
| **Responsable Técnico** | Lic. Ricardo MONLA | Operador directo |
| **Dirección de TIC** | (Jerárquico superior) | Dashboard asíncrono |
## Nodos Involucrados
### Nodos Exclusivos (Core)
| Nodo | IP | Rol en el Proyecto |
| :--- | :--- | :--- |
| [**srv-ns8**](../nodos/srv-ns8.md) | `10.0.10.8` | Servidor de la aplicación (Docker) |
## Herramientas
| Herramienta | Uso |
| :--- | :--- |
| **React 18 + TypeScript** | Frontend SPA |
| **Vite** | Build tool y dev server |
| **Node.js + Express** | Backend API REST |
| **PostgreSQL 15** | Base de datos relacional |
| **Docker Compose** | Orquestación de servicios |
## Hitos Clave
| Fecha | ID | Estado | Hito |
| :--- | :--- | :---: | :--- |
| 03/03 | INIT | ⏳ | Inicialización del proyecto. Creación de `dtic-BITACORAs/` con esquema DB y APIs. |
| — | UI01 | 📍 | Frontend: Vista de bitácora diaria con entradas I-F-D-E agrupadas por nodo. |
| — | API01 | 📍 | Backend: CRUD completo de entradas, nodos y bitácoras. |
| — | EXP01 | 📍 | Exportador a Markdown compatible con el ADN. |
| — | PROD | 📍 | Despliegue en producción (srv-ns8, Nginx reverse proxy). |
| 07/03 | ADN01 | 📍 | Automatización Ruby del ADN: Implementación de herramientas CLI unificadas para validación, generación y contexto (Plan 260307-1400). |
## Arquitectura
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend │ │ Database │
│ React/Vite │◄──►│ Node.js/Express │◄──►│ PostgreSQL 15 │
│ Puerto 5173 │ │ Puerto 3001 │ │ Puerto 5432 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
└──────────────────────┘
Docker Compose
```
## Referencias
- **Bitácoras**: [03/03](../bitacoras/2026-03-03.md)
- **ADN**: [Ontología](../adn/01_ontologia.md) | [Proyectos](../adn/07_proyectos.md) | [Bitácora](../adn/02_bitacora.md)
- **Base Legacy**: [servicios/bitacoras/](../servicios/bitacoras/README.md)