Rewrite backups #35

Merged
inex merged 475 commits from restic-rewrite into master 2023-07-20 18:42:57 +03:00
Collaborator
  • Backend support for multiple clouds via multiple tools
  • In-Memory backups for testing (partial, cannot persist even for a session)
  • In-file backups for testing (works, but slow)
  • Repo init
  • Folder backup
  • Snapshot listing
  • Restoring a service from snapshot
  • Measurement of snapshot size
  • Encryption and simple key management
  • Loading provider from json
  • Storing provider in redis
  • Keeping track of initted vs uninitted repos
  • Huey tasks
  • Integration with Jobs
  • Integration with API
- [x] Backend support for multiple clouds via multiple tools - [x] In-Memory backups for testing (partial, cannot persist even for a session) - [x] In-file backups for testing (works, but slow) - [x] Repo init - [x] Folder backup - [x] Snapshot listing - [x] Restoring a service from snapshot - [x] Measurement of snapshot size - [x] Encryption and simple key management - [x] Loading provider from json - [x] Storing provider in redis - [x] Keeping track of initted vs uninitted repos - [x] Huey tasks - [x] Integration with Jobs - [x] Integration with API
houkime force-pushed restic-rewrite from 4aab5e0b57 to f6402f2394 2023-04-04 02:32:04 +03:00 Compare
houkime added 5 commits 2023-04-10 16:33:04 +03:00
houkime added 2 commits 2023-04-10 19:37:18 +03:00
houkime force-pushed restic-rewrite from 6c84359649 to 03d4632465 2023-05-17 23:31:44 +03:00 Compare
houkime added 14 commits 2023-06-05 14:55:01 +03:00
houkime added 1 commit 2023-06-07 17:11:50 +03:00
houkime added 1 commit 2023-06-07 17:25:38 +03:00
houkime added 1 commit 2023-06-07 17:29:44 +03:00
houkime added 1 commit 2023-06-07 18:06:24 +03:00
houkime added 1 commit 2023-06-07 18:55:57 +03:00
houkime added 1 commit 2023-06-07 19:33:40 +03:00
inex added 1 commit 2023-06-13 23:54:09 +03:00
inex added 1 commit 2023-06-14 00:03:08 +03:00
houkime added 3 commits 2023-06-14 13:18:07 +03:00
houkime added 4 commits 2023-06-14 13:29:41 +03:00
houkime added 1 commit 2023-06-14 14:15:09 +03:00
houkime added 7 commits 2023-06-14 16:01:10 +03:00
houkime added 1 commit 2023-06-14 16:06:51 +03:00
houkime added 2 commits 2023-06-14 17:17:19 +03:00
houkime added 2 commits 2023-06-16 17:34:03 +03:00
houkime added 1 commit 2023-06-16 17:39:15 +03:00
houkime added 1 commit 2023-06-16 18:09:54 +03:00
houkime added 1 commit 2023-06-16 18:19:40 +03:00
houkime added 2 commits 2023-06-16 19:03:52 +03:00
houkime added 1 commit 2023-06-19 14:09:48 +03:00
houkime added 1 commit 2023-06-19 14:17:30 +03:00
houkime added 1 commit 2023-06-19 16:28:34 +03:00
houkime added 1 commit 2023-06-19 17:13:19 +03:00
inex added 1 commit 2023-06-21 06:47:03 +03:00
c6919293b6 refactor(api): Group mutations
I've learned that there is no problem in grouping mutations like we do with queries.
This is a big mistake from my side, now we have legacy not so conveniently placed endpoints.
I've grouped all mutations, left the copies of old ones flattened in the root for backwards compatibility.
We will migrate to mutation groups on client side, and backups now only use grouped mutations.
Tests are updated.
houkime changed title from WIP: Rewrite backups to Rewrite backups 2023-06-21 15:26:08 +03:00
houkime requested review from inex 2023-06-21 15:27:33 +03:00
houkime changed title from Rewrite backups to WIP: Rewrite backups 2023-06-21 15:52:50 +03:00
Poster
Collaborator

This PR will be ready to be merged when backblaze tests on CI pass.

This PR will be ready to be merged when backblaze tests on CI pass.
inex added 1 commit 2023-06-23 04:50:06 +03:00
inex added 1 commit 2023-06-23 12:40:23 +03:00
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
e7e0fdc4a1
refactor(backups): fix typing errors
inex added 1 commit 2023-06-23 12:57:44 +03:00
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
0f1d8e22f2
ci: ignore the failure when trying to kill redis
inex added 1 commit 2023-06-23 13:02:59 +03:00
continuous-integration/drone/push Build was killed Details
1f558d6cf9
ci: only run on push event
inex added 2 commits 2023-06-23 14:36:24 +03:00
houkime added 1 commit 2023-06-23 14:58:28 +03:00
continuous-integration/drone/push Build is failing Details
6ca68fae17
fix(tokens-repo): persistent hashing
houkime added 1 commit 2023-06-23 15:04:53 +03:00
continuous-integration/drone/push Build is failing Details
2f71469f39
refactoring(backups): backuper -> backupper
houkime added 1 commit 2023-06-23 16:06:01 +03:00
houkime added 14 commits 2023-06-26 23:06:08 +03:00
inex added 1 commit 2023-06-28 12:10:18 +03:00
continuous-integration/drone/push Build is failing Details
d9b26e12e2
fix(backups): missing space in rclone args
houkime added 1 commit 2023-06-28 12:41:21 +03:00
continuous-integration/drone/push Build is failing Details
59fef1d016
fix(backups): register the correct tasks
houkime added 1 commit 2023-06-28 12:48:49 +03:00
continuous-integration/drone/push Build is failing Details
35258bad38
fix(services): cleanup a stray get_location
houkime added 1 commit 2023-06-28 14:45:27 +03:00
continuous-integration/drone/push Build is failing Details
e4865aa094
fix(services): proper backup progress reporting
inex added 1 commit 2023-06-28 15:56:38 +03:00
continuous-integration/drone/push Build is failing Details
11184a55e8
feat(jobs): return type_id of the job in graphql api
houkime added 1 commit 2023-06-28 16:06:31 +03:00
continuous-integration/drone/push Build is failing Details
3ee90617ba
test(backup): make large testfile larger
houkime added 1 commit 2023-06-28 16:23:09 +03:00
continuous-integration/drone/push Build is failing Details
cd2e9d3ba3
fix(jobs): make finishing the job set progress to 100
inex added 2 commits 2023-06-29 13:45:05 +03:00
inex added 1 commit 2023-06-29 14:27:13 +03:00
continuous-integration/drone/push Build is failing Details
64e7afe53e
feat(backups): Add backup descriptions for UI
houkime added 6 commits 2023-07-03 18:34:22 +03:00
houkime added 1 commit 2023-07-03 23:42:10 +03:00
houkime added 1 commit 2023-07-03 23:53:35 +03:00
continuous-integration/drone/push Build is failing Details
03313b739a
feature(backups): check restore exit code
houkime added 1 commit 2023-07-05 16:13:50 +03:00
continuous-integration/drone/push Build is failing Details
53bb5cc4e2
feature(backups): forgetting snapshots
houkime added 5 commits 2023-07-07 16:25:03 +03:00
houkime added 8 commits 2023-07-12 19:55:24 +03:00
houkime added 1 commit 2023-07-12 20:03:50 +03:00
houkime added 1 commit 2023-07-14 13:58:47 +03:00
continuous-integration/drone/push Build is failing Details
4aa87edf47
fix(servers): hopefully fix moving
houkime added 1 commit 2023-07-14 14:41:24 +03:00
continuous-integration/drone/push Build is failing Details
926d0c27c5
test(backup): test moving preventing backups
houkime added 1 commit 2023-07-14 15:35:02 +03:00
inex changed title from WIP: Rewrite backups to Rewrite backups 2023-07-17 16:04:33 +03:00
inex force-pushed restic-rewrite from 9f19c677d0 to 45011450c5 2023-07-17 16:05:04 +03:00 Compare
inex added 1 commit 2023-07-17 17:39:43 +03:00
continuous-integration/drone/push Build is failing Details
8805f73812
CI: Disable redis errors on write failures
inex added 1 commit 2023-07-17 19:45:05 +03:00
continuous-integration/drone/push Build was killed Details
7fe802eb1d
ci: Fix redis port of redis-cli command
inex added 1 commit 2023-07-17 19:55:23 +03:00
continuous-integration/drone/push Build was killed Details
20f3e5c564
ci: Give redis some time to start?
inex added 1 commit 2023-07-18 20:15:27 +03:00
continuous-integration/drone/push Build is failing Details
8b504993d0
fix(backups): backup strategies were unused
houkime added 231 commits 2023-07-19 13:36:39 +03:00
c6919293b6 refactor(api): Group mutations
I've learned that there is no problem in grouping mutations like we do with queries.
This is a big mistake from my side, now we have legacy not so conveniently placed endpoints.
I've grouped all mutations, left the copies of old ones flattened in the root for backwards compatibility.
We will migrate to mutation groups on client side, and backups now only use grouped mutations.
Tests are updated.
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
e7e0fdc4a1
refactor(backups): fix typing errors
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
0f1d8e22f2
ci: ignore the failure when trying to kill redis
continuous-integration/drone/push Build was killed Details
1f558d6cf9
ci: only run on push event
continuous-integration/drone/push Build is failing Details
1664f857ea
fix(backups): Providers were not initialized corretly
continuous-integration/drone/push Build is failing Details
6ca68fae17
fix(tokens-repo): persistent hashing
continuous-integration/drone/push Build is failing Details
2f71469f39
refactoring(backups): backuper -> backupper
continuous-integration/drone/push Build is failing Details
d9b26e12e2
fix(backups): missing space in rclone args
continuous-integration/drone/push Build is failing Details
59fef1d016
fix(backups): register the correct tasks
continuous-integration/drone/push Build is failing Details
35258bad38
fix(services): cleanup a stray get_location
continuous-integration/drone/push Build is failing Details
e4865aa094
fix(services): proper backup progress reporting
continuous-integration/drone/push Build is failing Details
11184a55e8
feat(jobs): return type_id of the job in graphql api
continuous-integration/drone/push Build is failing Details
3ee90617ba
test(backup): make large testfile larger
continuous-integration/drone/push Build is failing Details
cd2e9d3ba3
fix(jobs): make finishing the job set progress to 100
continuous-integration/drone/push Build is failing Details
15ce344bc8
feat(backups): expose if the service can be backed up
continuous-integration/drone/push Build is failing Details
64e7afe53e
feat(backups): Add backup descriptions for UI
continuous-integration/drone/push Build is failing Details
b6eb27dc5e
feature(backups): mounting a repo
continuous-integration/drone/push Build is failing Details
03313b739a
feature(backups): check restore exit code
continuous-integration/drone/push Build is failing Details
53bb5cc4e2
feature(backups): forgetting snapshots
continuous-integration/drone/push Build is failing Details
1cefaefa3b
feature(backups): expose restore strategies to the API
continuous-integration/drone/push Build is failing Details
e43478d437
feature(backups): stop services before restores
continuous-integration/drone/push Build is failing Details
4aa87edf47
fix(servers): hopefully fix moving
continuous-integration/drone/push Build is failing Details
926d0c27c5
test(backup): test moving preventing backups
houkime added 1 commit 2023-07-19 13:52:02 +03:00
continuous-integration/drone/push Build is failing Details
fa53264136
refactor(backup):remove unused verify arg from do_restore
inex added 3 commits 2023-07-19 16:00:16 +03:00
inex added 1 commit 2023-07-19 16:49:43 +03:00
continuous-integration/drone/push Build is failing Details
5bee124500
style: set 88 as a line length limit
houkime added 2 commits 2023-07-19 18:41:52 +03:00
inex added 1 commit 2023-07-20 17:11:14 +03:00
continuous-integration/drone/push Build is failing Details
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.
inex added 3 commits 2023-07-20 18:28:12 +03:00
inex approved these changes 2023-07-20 18:36:11 +03:00
inex merged commit f965546ca6 into master 2023-07-20 18:42:57 +03:00
inex deleted branch restic-rewrite 2023-07-20 18:42:57 +03:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: SelfPrivacy/selfprivacy-rest-api#35
There is no content yet.