Native Backup & Restore Management (Import/Export)
Description:
I’d like to request a new feature in Faction: a native, integrated capability within the UI and API to schedule, generate, download, and import system backups.
Use-case:
In many deployments, we need reliable disaster recovery and data portability. Currently, I have had to create my own custom OS-level bash scripts (backup-faction.sh and restore-faction.sh) to handle these backups via host cron jobs. However, we often have:
- Administrators who need to manage backups without requiring SSH access to the host machine.
- Scenarios where we need to quickly download a recent backup via the web interface.
- Disaster recovery situations where we want to easily import an existing backup archive to restore the database, templates, and modules directly from the GUI.
- The need for automated scheduling that is built into the application context rather than relying on external OS schedulers.
Since Faction extensions (FactionExtender) are purely event-driven and don't support custom APIs or background scheduled tasks, this functionality cannot be easily added via a plugin and needs to be natively supported.
Proposed Implementation:
- Under the Admin menu, add a "System Backups" section where you can:
- View a list of available backups, their sizes, and creation timestamps.
- Click to "Generate Backup Now", "Download", or "Import/Restore" a backup archive.
- Configure an automated backup schedule (e.g., daily/weekly).
- On the backend, implement a Spring
@Scheduled task to handle the automated backups internally.
- Create REST API endpoints (
/api/v1/backups) to handle the generation, listing, downloading, and importing of standardized backup archives (containing MongoDB BSONs, templates, and config metadata).
Benefits:
- Drastically improves usability and the administrator experience by keeping backup management within the application GUI.
- Eliminates the need for custom OS-level scripts and manual server access for routine maintenance.
- Increases system resilience and disaster recovery readiness for all users.
- Standardizes the import/export payload, making migrations between Faction instances significantly easier.
Happy to provide my custom bash scripts as a reference or collaborate if useful. Thanks for considering this feature!
Native Backup & Restore Management (Import/Export)
Description:
I’d like to request a new feature in Faction: a native, integrated capability within the UI and API to schedule, generate, download, and import system backups.
Use-case:
In many deployments, we need reliable disaster recovery and data portability. Currently, I have had to create my own custom OS-level bash scripts (
backup-faction.shandrestore-faction.sh) to handle these backups via hostcronjobs. However, we often have:Since Faction extensions (
FactionExtender) are purely event-driven and don't support custom APIs or background scheduled tasks, this functionality cannot be easily added via a plugin and needs to be natively supported.Proposed Implementation:
@Scheduledtask to handle the automated backups internally./api/v1/backups) to handle the generation, listing, downloading, and importing of standardized backup archives (containing MongoDB BSONs, templates, and config metadata).Benefits:
Happy to provide my custom bash scripts as a reference or collaborate if useful. Thanks for considering this feature!