Commit graph

874 commits

Author SHA1 Message Date
Houkime 00317cc7e4 test(backups): erase repos between tests 2023-07-26 16:52:58 +00:00
Houkime cfa7f4ae59 feature(backups): add full repo erasure capability 2023-07-26 16:45:08 +00:00
Houkime ffec344ba8 test(backups): make the test repo overridable by envs 2023-07-26 14:26:04 +00:00
Houkime aa7cc71557 feature(backups):add a function to set provider from env 2023-07-26 11:54:17 +00:00
Houkime e9bb6d9973 test(backups):check that snapshot cache invalidation invalidates both ways. 2023-07-26 10:09:35 +00:00
houkime c5b7ca7565 Merge pull request 'refactor(jobs):track 100-on-finished as a progress update' (#44) from fix-no-updates-if-delayed into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/44
2023-07-21 16:30:28 +03:00
Houkime d664fcbdc4 refactor(jobs):track 100-on-finished as a progress update 2023-07-21 13:06:18 +00:00
houkime e8c59f5068 Merge pull request 'fix(backup):force backup function to return same length ids as when getting snapshots' (#43) from fix-forget into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/43
2023-07-21 14:20:42 +03:00
Houkime 26488aa12f fix(backup):force backup function to return same length ids as when getting snapshots 2023-07-21 11:11:24 +00:00
Inex Code b01247bc55 refactor: remove legacy backups implementations 2023-07-20 20:11:42 +03:00
Inex Code 413911849d refactor(backups): remove calls of legacy backups API 2023-07-20 20:06:39 +03:00
Inex Code eafc7a412c fix: timezone awareness of automatic backup task 2023-07-20 19:42:44 +03:00
Inex Code c9d20e8efd fix(backups): make datetimes from huey timezone aware 2023-07-20 19:39:10 +03:00
Inex Code e0a5ecdd9d style: reformat 2023-07-20 19:37:01 +03:00
Inex Code 95dbd4fac2 chore: bump version 2023-07-20 19:35:35 +03:00
Inex Code f965546ca6 Merge pull request 'Rewrite backups' (#35) from restic-rewrite into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/35
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-07-20 18:42:56 +03:00
Inex Code ac236569b0 chore: bump version to 2.2.0 2023-07-20 18:28:00 +03:00
Inex Code 4b575b6138 fix(graphql): duplicate imports 2023-07-20 18:25:32 +03:00
Inex Code 0245d629fd refactor(backups): linting 2023-07-20 18:24:26 +03:00
Inex Code 2df448a4a9 fix(backups): Do not shut down the service during backup
We do not want the user to expirience outages during automatic backups.
Generally, they are not even needed.
We should use hooks to service-specific tasks, such as
creating the database dump, so we don't have to shut down Postgres.
2023-07-20 17:11:02 +03:00
Houkime f4ac3d29a9 feature(backup):remove code for finegrained autobackup control 2023-07-19 15:36:25 +00:00
Houkime 466160dbf9 feature(backup):disable finegrain control over services to back up 2023-07-19 15:36:25 +00:00
Inex Code 5bee124500 style: set 88 as a line length limit 2023-07-19 16:49:35 +03:00
Inex Code a757dc7cc1 chore: add rclone as a nix shell dependency 2023-07-19 16:00:04 +03:00
Inex Code 5253780cc8 style: linting of backups module 2023-07-19 15:59:51 +03:00
Inex Code 3067d353d8 fix(backups): Do not remove failsafe snapshot after recovery 2023-07-19 15:59:29 +03:00
Houkime fa53264136 refactor(backup):remove unused verify arg from do_restore 2023-07-19 10:51:36 +00:00
Houkime a303e5ce37 Merge branch 'restic-rewrite' of https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api into restic-rewrite 2023-07-19 10:35:30 +00:00
Inex Code 8b504993d0 fix(backups): backup strategies were unused 2023-07-18 20:15:22 +03:00
Inex Code 20f3e5c564 ci: Give redis some time to start? 2023-07-17 19:55:16 +03:00
Inex Code 7fe802eb1d ci: Fix redis port of redis-cli command 2023-07-17 19:45:00 +03:00
Inex Code 8805f73812 CI: Disable redis errors on write failures 2023-07-17 17:39:34 +03:00
Houkime 45011450c5 feature(backup):calculate needed space for inplace restoration 2023-07-17 16:05:00 +03:00
Houkime f711275a5e test(backup): test moving preventing backups 2023-07-17 16:05:00 +03:00
Houkime 097cf50b37 fix(servers): hopefully fix moving 2023-07-17 16:05:00 +03:00
Houkime c53f35c947 feature(servers): set default timeout of server operations to 10 min 2023-07-17 16:05:00 +03:00
Houkime b001e198bf feature(backups): stop services before restores 2023-07-17 16:05:00 +03:00
Houkime 40ad1b5ce4 feature(backups): stop services before backups 2023-07-17 16:05:00 +03:00
Houkime a7427f3cb5 test(backups): do not store the status file in backupped folders 2023-07-17 16:05:00 +03:00
Houkime 86c2ae2c1f refactor(backups): make a StoppedService context manager 2023-07-17 16:05:00 +03:00
Houkime ea4e53f826 test(backups): make delay settable per dummyservice 2023-07-17 16:05:00 +03:00
Houkime e2b906b219 test(backups): test async service start n stop simulation 2023-07-17 16:05:00 +03:00
Houkime d33e9d6335 test(backups): simulating async service start n stop 2023-07-17 16:05:00 +03:00
Houkime 8e29634d02 feature(utils): a hopefully reusable waitloop 2023-07-17 16:05:00 +03:00
Houkime be95b84d52 feature(backups): expose restore strategies to the API 2023-07-17 16:05:00 +03:00
Houkime cacbf8335d fix(backups): actually mount if asked for an inplace restore 2023-07-17 16:05:00 +03:00
Houkime 65ce86f0f9 test(backups): test out that pre-restore backup plays nice with jobs 2023-07-17 16:05:00 +03:00
Houkime 95e4296d0b feature(backups): implement inplace restore strategy 2023-07-17 16:05:00 +03:00
Houkime 59fe386463 feature(backups): restore strategies enum 2023-07-17 16:05:00 +03:00
Houkime 02e3c9bd5e feature(backups): forgetting snapshots 2023-07-17 16:05:00 +03:00