refactor(ambitos): Migración completa dtic-DASUTEN (A04) y dtic-BKPs (A03) + herramientas ADN

Migración dtic-DASUTEN a estándar A04:
- A04_dtic-DASUTEN.md: Manifiesto creado
- A04.P001 a A04.P005: Planes renombrados de P2601.*
- _hist/_hist_P2601_dasuten.md: Legacy archivado

Migración dtic-BKPs a estándar A03:
- A03_dtic-BKPs.md: Manifiesto creado
- A03.P001, A03.P002: Planes migrados
- docs/ambito/dtic-BKPs/: Nueva estructura

Herramientas ADN nuevas:
- adn/tools/bkps/: BKPs migrado a tools ADN
- adn/tools/cli/dron.rb: Vigía de tareas largas
- adn/tools/cli/copiloto.rb: Asistente CLI
- adn/tools/cli/novato.rb: CLI de aprendizaje

Limpieza:
- dtic-BKPs/ → _hist/dtic-BKPs/ (legacy archivado)
- adn/tools/cli/backup.rb → _hist/ (migrado a bkps.rb)

Otros:
- nodos/pcv-dasu1.md, srvv-data.md, srvv-nginx-rm.md: Actualizados
- adn/tools/core/conciliador.rb: Mejoras
- adn/tools/w-zombi/data/cmd.json: Actualizado

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ricardo Monla
2026-04-07 10:23:53 -03:00
co-authored by Claude Opus 4.6
parent 018e45e046
commit 1802c25194
61 changed files with 3148 additions and 1201 deletions
@@ -0,0 +1,108 @@
# Plan: Migración dtic-BKPs a Tools ADN
> **Grupo de Trabajo:** dtic-BKPs (Respaldos de Infraestructura)
**Código:** A03.P001
**Fecha:** 06 de abril de 2026
**Autor:** Sistema ADN
**Versión:** 1.0
**Estado:** ✅ COMPLETADO
## 📋 Resumen Ejecutivo
La herramienta `dtic-BKPs v6.0` actualmente reside en el directorio raíz del repositorio (`dtic-BKPs/`) como un sistema independiente con su propio entrypoint (`dtic-BKPs.rb`), configuración YAML, librería interna (`lib/`) y logs propios. Esto contradice el principio de **Armonía Integral** del ADN, donde todas las herramientas deben integrarse bajo `./adn/tools/run <subcomando>`.
Ya existe un intento previo parcial en `adn/tools/cli/backup.rb` (25KB) y `adn/tools/cli/backup/configurador.rb`, pero tiene bugs (el `--help` falla con `undefined local variable or method 'mostrar_ayuda'`).
El objetivo es **completar la migración** integrando la lógica probada de `dtic-BKPs v6.0` en el ecosistema ADN, preservando la configuración YAML y los procesadores funcionales.
## 🎯 Objetivo
Migrar `dtic-BKPs/` completamente a `adn/tools/cli/` para que:
1. Se invoque vía `./adn/tools/run bkps <subcomando>` (consistente con el ecosistema).
2. La configuración YAML se centralice en `adn/tools/config/bkps.yml`.
3. Los procesadores (Proxmox, Xen, Rclone) se integren como módulos ADN.
4. Los logs se unifiquen con el sistema de logging ADN (`adn/tools/core/logger`).
5. El directorio `dtic-BKPs/` raíz quede deprecado y eventualmente archivado.
## 📊 Inventario Actual
### Fuente: `dtic-BKPs/` (a migrar)
| Archivo | Tamaño | Función |
| :--- | :--- | :--- |
| `dtic-BKPs.rb` | 5.6 KB | Entrypoint, dispatcher, menú, auto-screen |
| `dtic-BKPs.yml` | 2.3 KB | Configuración de tareas y comandos |
| `lib/config.rb` | 1.7 KB | Parser de configuración YAML |
| `lib/logger.rb` | 1.7 KB | Logger propio (duplica ADN Logger) |
| `lib/menu.rb` | 5.9 KB | Menú interactivo con auto-avance |
| `lib/proc_proxmox.rb` | 5.0 KB | Procesador de dumps Proxmox |
| `lib/proc_xen.rb` | 2.7 KB | Procesador de backups XenServer |
| `lib/sync_rclone.rb` | 1.5 KB | Sincronización rclone |
### Destino: `adn/tools/cli/` (existente parcial)
| Archivo | Tamaño | Estado |
| :--- | :--- | :--- |
| `backup.rb` | 25.5 KB | ⚠️ Incompleto, `--help` roto |
| `backup/configurador.rb` | 1.2 KB | ⚠️ Solo configurador |
## 📅 Fases de Implementación
### ✅ FASE 1: Auditoría y Diagnóstico (Completada 2026-04-06)
- **1.1:** ✅ Analizado `adn/tools/cli/backup.rb` — 25KB con bugs (`mostrar_ayuda` undefined).
- **1.2:** ✅ Comparado con `dtic-BKPs v6.0` — funcionalidad probada y estable.
- **1.3:** ✅ Dependencias verificadas: rclone ✔, pv ✔, screen ✔.
### ✅ FASE 2: Migración a adn/tools/bkps/ (Completada 2026-04-06)
- **2.1:** ✅ Creado `adn/tools/bkps/bkps.rb` — CLI `SubcomandoBkps` con subcomandos: help, list, run, status, menu.
- **2.2:** ✅ Migrados procesadores a `adn/tools/bkps/lib/` — proc_proxmox.rb, proc_xen.rb, sync_rclone.rb, config.rb, menu.rb.
- **2.3:** ✅ Configuración YAML copiada a `adn/tools/bkps/bkps.yml`.
- **2.4:** ✅ Logger propio reemplazado por ADN Logger nativo.
- **2.5:** ✅ Dispatcher (`adn/tools/run`) actualizado con ruta `'bkps'``ADN::SubcomandoBkps`.
### ✅ FASE 3: Auditoría de backup.rb legacy (Completada 2026-04-06)
Análisis de `adn/tools/cli/backup.rb` (659 líneas, 25KB) — funcionalidades **diferentes** a las de dtic-BKPs v6.0:
| Funcionalidad | Descripción | Asimilar? |
| :--- | :--- | :---: |
| `ejecutar_backup(nodo)` | Backup remoto individual vía vzdump+SSH+candados, auto-detección VMID/host desde nodos/*.md | ✅ |
| Bitácora-First integrado | Auto-crear/actualizar evento en DB durante ejecución | ✅ |
| `comando_estados` | Consulta en tiempo real de tareas vzdump en cluster Proxmox vía API JSON | ✅ |
| `comando_sanear` | Saneamiento con retención configurable, exclusiones interactivas, borrado remoto | ✅ |
| `predeterminar` | Persistencia de defaults vía Configurador | ⏳ |
| `auto_reconciliar_bitacora` | Cierre automático de entradas pendientes cruzando con API Proxmox | ✅ |
**Bugs encontrados:** `mostrar_ayuda` mal anidado (fuera de scope private), `end` desbalanceados (L620-658).
### ✅ FASE 4: Asimilación de funcionalidades de backup.rb (Completada 2026-04-06)
- **4.1:** ✅ `bkps backup <nodo>` — backup remoto individual vía vzdump+SSH+candados con auto-detección de VMID/host.
- **4.2:** ✅ `bkps estados` — consulta estado Proxmox en tiempo real vía API JSON.
- **4.3:** ✅ `bkps sanear --dias N` — saneamiento con retención configurable, `--dry-run`, borrado remoto.
- **4.4:** ✅ Auto-cierre de bitácora implementado como tool ADN `dron` (reutilizable para cualquier ámbito).
### ✅ FASE 5: Validación, Documentación y Deprecación (Completada 2026-04-06)
- **5.1:** ✅ Pipeline C4 ejecutado exitosamente vía `./adn/tools/run bkps run C4 --batch` (23 sets, ~26min).
- **5.2:** ✅ Armonía Integral aplicada: ámbito, contexto y plan actualizados.
- **5.3:** ✅ Archivado: `dtic-BKPs/``_hist/dtic-BKPs/`, `backup.rb``adn/tools/cli/_hist/`.
## 🛠 Estructura Final
```
adn/tools/bkps/ # Tool principal (A03)
├── bkps.rb # CLI (11 subcomandos)
├── bkps.yml # Configuración YAML (tareas, retención 3 tiers)
├── cron-bkps.sh # Wrapper cron con lockfile + dron
└── lib/
├── config.rb # Parser YAML
├── menu.rb # Menú TUI interactivo
├── proc_proxmox.rb # Procesador Proxmox
├── proc_xen.rb # Procesador XEN
└── sync_rclone.rb # Sincronización rclone
adn/tools/cli/dron.rb # Dron de tareas largas (reutilizable)
```
## 📌 Notas
- Pipeline C4 ejecutado exitosamente el 2026-04-06 (23 sets Proxmox, ~26min).
- Tool `dron` creada como herramienta ADN genérica: `./adn/tools/run dron {lanzar|vigilar|estado|limpiar}`.
- Legacy archivado en `_hist/dtic-BKPs/` (standalone) y `adn/tools/cli/_hist/backup.rb` (intento previo).