Whitepaper técnico — PodHeitor Notes / Domino para Bacula

Backup online application-consistent y restore granular para HCL Domino / IBM Lotus Notes vía Domino C API (NSFBackupStart / NSFBackupStop), con incrementales por transaction-log, PITR vía NSFRecoverDatabases, restore granular por mailbox/UNID/NoteID, y exportación NSF → EML/MBOX. Estado: Phase 0 (bootstrap) — pre-alpha.

Documento técnico complementario a la página del plugin PodHeitor Notes.

1. El problema: Bacula Enterprise no tiene plugin Notes/Domino

Verificado en campo en los manuales Bacula Enterprise 6.2.x → 18.2.x: ningún plugin Notes/Domino. Los operadores de Domino que necesitan integrar con Bacula caen en:

  • Backup de filesystem crudo de los archivos .nsf en /local/notesdata/. No funciona — las bases NSF están abiertas por el servidor Domino y los cambios in-flight producen copias inconsistentes.
  • Quiesce del servidor (detener Domino, hacer backup, reiniciar). Una ventana de mantenimiento real, email/colaboración no disponibles.
  • Soluciones propietarias (NetBackup, Commvault, Spectrum Protect) con agentes Domino — caras, fuera del mundo Bacula.

PodHeitor Notes lo aborda vía Domino C API — online application-consistent, sin quiesce, sin downtime. Esta es la primera capacidad de este tipo en el mundo Bacula.

2. Modelo arquitectónico

┌──────────────────┐  load   ┌─────────────────────┐  spawn  ┌────────────────────────────┐
│   bacula-fd      │ ──────> │  podheitor_notes_fd │ ──────> │  podheitor-notes-backend   │
│ (Bacula AGPLv3)  │ dlopen  │   (cdylib Rust,     │  PTCOMM │  (sidecar Rust)            │
│                  │         │    proprietary)     │         │                            │
└──────────────────┘         └─────────────────────┘         └────────────┬───────────────┘
                                                                          │ dlopen
                                                                          ▼
                                                           ┌──────────────────────────────┐
                                                           │  libnotes (HCL/IBM C API)    │
                                                           │  operator-installed,         │
                                                           │  NEVER vendored or shipped   │
                                                           └──────────────────────────────┘

Pure-Rust cdylib + sidecar — sin C/C++ shim, sin Bacula source linkeado estáticamente. AGPL-clean per ADR-001. libnotes es proporcionada por HCL/IBM y nunca se vendoriza ni redistribuye por el plugin — el operador instala el SDK Notes localmente.

3. Capacidades planificadas (roadmap 12 phases)

Capacidad Mecanismo
Backup Full online de bases NSF Domino C API NSFBackupStart / NSFBackupStop — sin downtime, sin quiesce
Incremental por transaction-log Verdadero PITR — requiere Domino archive transaction logging habilitado
Differential backups Delta desde el último Full
PITR restore Replay de log vía NSFRecoverDatabases a timestamp arbitrario
Restore granular Mailbox único, documento único por UNID/NoteID/regex de subject, design element único. ACLs preservadas
NSF → EML/MBOX export Para ediscovery, legal hold, migración IMAP. (PST deferred to v1.1)
Verify / fixup / compact Gates de integridad
Alta paralelismo tokio + rayon hybrid; compresión zstd on-the-fly

4. Layout del repositorio

Componente Ubicación Rol
cdylib ../PodHeitor Rust cdylib/crates/plugin-notes/ Bacula plugin entry point, registra vía metaplugin-rs
sidecar ./backend-rs/ Drives libnotes, streama NSF + .txn sobre PTCOMM
docs ./docs/ Operator guide, parameters, troubleshooting (Phase 11)
packaging ./packaging/ builds rpm / deb / msi (Phase 11)

5. Postura de licencia

Propietaria. El HCL/IBM Notes C API SDK es operator-installed; este proyecto no vendoriza ni redistribuye bits HCL/IBM.

¿Quiere acompañar el desarrollo?

Trial gratuito de 30 días planificado para la primera release alpha (workloads Domino calificadas). Garantizamos al menos 50% de descuento vs Bacula Enterprise (que no tiene plugin Notes), Veeam, o Commvault, con más funcionalidades — incluyendo restore granular por documento y export EML/MBOX.

Heitor Faria — Fundador, PodHeitor International
[email protected]
☎ +1 (789) 726-1749 · +55 (61) 98268-4220 (WhatsApp)
🔗 Página del plugin PodHeitor Notes

Disponível em: pt-brPortuguês (Portugués, Brasil)enEnglish (Inglés)esEspañol

Deja una respuesta