Skip to content

Latest commit

 

History

History
50 lines (39 loc) · 2.14 KB

ROADMAP.md

File metadata and controls

50 lines (39 loc) · 2.14 KB

What's planned / considered

Daemon mode

Instead of relying on scheduled tasks, we could launch backup & housekeeping operations as deamon. Caveats:

  • We need a windows service (nuitka commercial implements one)
  • We need to use apscheduler (wait for v4)
  • We need a resurrect service config for systemd and windows service

Web interface (planned)

Since runner can discuss in JSON mode, we could simply wrap it all in FastAPI Caveats:

  • We'll need a web interface, with templates, whistles and bells
  • We'll probably need an executor (Celery ?) in order to not block threads

KVM Backup plugin (planned, already exists as external script)

Since we run cube backup, we could "bake in" full KVM support Caveats:

  • We'll need to re-implement libvirt controller class for linux

SQL Backups

That's a pre-script job ;) Perhaps, provide pre-scripts for major SQL engines Perhaps, provide an alternative dump | npbackup-cli syntax. In the latter case, shell (bash, zsh, ksh) would need shopt -o pipefail, and minimum backup size set. The pipefail will not be given to npbackup-cli, so we'd need to wrap everything into a script, which defeats the prometheus metrics.

Key management

Possibility to add new keys to current repo, and delete old keys if more than one key present

Provision server (planned)

Possibility to auto load repo settings for new instances from central server We actually could improve upgrade_server to do so

Hyper-V Backup plugin

That's another story. Creating snapshots and dumping VM is easy Shall we go that route since alot of good commercial products exist ? Probably not

Full disk cloning

Out of scope of NPBackup. There are plenty of good tools out there, designed for that job

Rust rewrite

That would be my "dream" project in order to learn a new language in an existing usecase. But this would need massive sponsoring as I couldn't get the non-paid time to do so.

More backends support

Rustic is a current alternative backend candidate I tested. Might happen if enough traction.

Branding manager

We might want to put all files into resources directory and have customization.py files generated from there.