Whitepaper técnico — PodHeitor Notes / Domino para Bacula

Backup online application-consistent e restore granular para HCL Domino / IBM Lotus Notes via Domino C API (NSFBackupStart / NSFBackupStop), com transaction-log incrementals, PITR via NSFRecoverDatabases, restore granular por mailbox/UNID/NoteID, e exportação NSF → EML/MBOX. Status: Phase 0 (bootstrap) — pre-alpha.

Documento técnico complementar à página do plugin PodHeitor Notes.

1. Problema: Bacula Enterprise não tem plugin Notes/Domino

Verificado em campo nos manuais Bacula Enterprise 6.2.x → 18.2.x: nenhum plugin Notes/Domino. Operadores de Domino que precisam integrar com Bacula caem em duas alternativas:

  • Backup de filesystem cru dos arquivos .nsf em /local/notesdata/. Não funciona — NSF databases são abertos pelo servidor Domino e mudanças in-flight produzem cópias inconsistentes.
  • Quiesce do servidor (parar o Domino, fazer backup, religar). Janela de manutenção real, indisponibilidade de email/colaboração.
  • Soluções proprietárias (NetBackup, Commvault, Spectrum Protect) com agentes Domino — caras, fora do mundo Bacula.

O PodHeitor Notes endereça isso via Domino C API — online application-consistent, sem quiesce, sem downtime. Esta é a primeira solução do mundo Bacula com essa capacidade.

2. Modelo arquitetural

┌──────────────────┐  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 — sem C/C++ shim, sem Bacula source linkado estaticamente. AGPL-clean per ADR-001. libnotes é fornecida pelo HCL/IBM e nunca é vendorizada ou redistribuída pelo plugin — operador instala o SDK Notes localmente.

3. Capabilities planejadas (roadmap 12 phases)

Capability Mecanismo
Backup Full online de databases NSF Domino C API NSFBackupStart / NSFBackupStop — sem downtime, sem quiesce
Incremental por transaction-log Verdadeiro PITR — requer Domino archive transaction logging habilitado
Differential backups Delta from last Full
PITR restore Replay de log via NSFRecoverDatabases para timestamp arbitrário
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, migração IMAP. (PST deferred to v1.1)
Verify / fixup / compact Gates de integridade
Alta paralelismo tokio + rayon hybrid; compressão zstd on-the-fly

4. Repositório layout

Componente Local Papel
cdylib ../PodHeitor Rust cdylib/crates/plugin-notes/ Bacula plugin entry point, registra via 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. License posture

Proprietary. O HCL/IBM Notes C API SDK é operator-installed; este projeto não vendoriza nem redistribui bits HCL/IBM.

Pronto para acompanhar o desenvolvimento?

Trial gratuito de 30 dias planejado para a primeira release alpha (workloads Domino qualificadas). Garantimos no mínimo 50% de desconto vs Bacula Enterprise (que não tem plugin Notes), Veeam, ou Commvault, com mais funcionalidades — incluindo restore granular por documento e export EML/MBOX.

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

Disponível em: pt-brPortuguêsenEnglish (Inglês)esEspañol (Espanhol)

Deixe um comentário