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:
co-authored by
Claude Opus 4.6
parent
018e45e046
commit
1802c25194
@@ -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).
|
||||
Reference in New Issue
Block a user