coolify
coolify copied to clipboard
feat:(database/backups) implement pgbackrest as a backup backend
Changes
OpenAPI
- Add new request fields to allow selection of the backup backend that is being used
- When using the pgBackRest backend, you may select the type of backup (full, diff, incremental).
Backup system
- When creating a backup, the system now checks for what backup backend is being used, it will run the correct backup function to match the backup backend.
- I have also implemented the respective pgBackRest backup backend function. It runs the appropriate commands to create a pgBackRest backup (this ASSUMES pgBackRest is set up in the docker container + db and is accessible by
docker run pgbackrest(with the right image and options that already comes from the pg_dump backup backend). - I have not added pgBackRest to the docker container and the user must do that manually (idk docker, and I did not want to learn it for this, the commands I listed in the impl worked for me outside of the container though, so just adding pgBackRest should be trivial to the end-user, or even as an extension for this PR)
Saftey
- Full type saftey and checking for every user-inputted parameter above.
UI
- I also added a tiny ui to create backups with this new system, it should integrate nicely with the existing backup creation UI.
Database Migration
- I also made a migration file to add the new backup backend selection fields.
I hope mixing of "backup" and "backend" isn't that hard to read lol.
Issues
- addresses, and hopefully fixes #7423
/claim #7423
oh dear god I merged from my v4.x main into next, uhhh how can I fix this. I notice that there is an additional commit mixed into my PR.
The requester of this feature prefer another PR (see this comment), so I will close this one.
Thank you for the work you have done on this PR. 💜