npbackup/ROADMAP.md

59 lines
2.5 KiB
Markdown
Raw Normal View History

2024-01-15 08:23:13 +08:00
## What's planned / considered
2023-12-28 21:53:21 +08:00
2024-06-04 19:52:46 +08:00
### Daemon mode (planned)
2023-12-28 21:53:21 +08:00
Instead of relying on scheduled tasks, we could launch backup & housekeeping operations as deamon.
Caveats:
- We need a windows service (nuitka commercial implements one)
2024-01-15 08:23:13 +08:00
- We need to use apscheduler (wait for v4)
2023-12-28 21:53:21 +08:00
- We need a resurrect service config for systemd and windows service
2024-06-04 19:52:46 +08:00
- Upgrade checks will be done via service
### Fallback (considered)
- Repository uri should allow to have a fallback server
- Prometheus support should have a push gateway fallback server option.
- Upgrade server should have a fallback server
2023-12-28 21:53:21 +08:00
2024-04-18 06:41:31 +08:00
### Web interface (planned)
2023-12-28 21:53:21 +08:00
Since runner can discuss in JSON mode, we could simply wrap it all in FastAPI
Caveats:
2024-04-18 06:41:31 +08:00
- We'll need a web interface, with templates, whistles and bells
2023-12-28 21:53:21 +08:00
- We'll probably need an executor (Celery ?) in order to not block threads
2024-04-18 06:41:31 +08:00
### KVM Backup plugin (planned, already exists as external script)
2023-12-28 21:53:21 +08:00
Since we run cube backup, we could "bake in" full KVM support
Caveats:
- We'll need to re-implement libvirt controller class for linux
2024-01-15 08:23:13 +08:00
### 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.
2023-12-28 21:53:21 +08:00
2024-01-11 10:09:05 +08:00
### Key management
Possibility to add new keys to current repo, and delete old keys if more than one key present
2024-04-18 06:41:31 +08:00
### Provision server (planned)
2024-01-11 10:09:05 +08:00
Possibility to auto load repo settings for new instances from central server
2024-01-15 08:23:13 +08:00
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
2024-04-24 05:32:54 +08:00
Rustic is a current alternative backend candidate I tested. Might happen if enough traction.
### Branding manager
2024-06-04 19:52:46 +08:00
We might want to put all files into `resources` directory and have `customization.py` files generated from there.
### New installer
We might need to code an installer script for Linux, and perhaps a NSIS installer for Windows.