Files
dtic-DIIAA/docs/ambito/dtic-BKPs/A03.P001_Migracion_ADN.md
Ricardo MonlaandClaude Opus 4.6 1802c25194 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>
2026-04-07 10:23:53 -03:00

6.1 KiB

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.rbadn/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).