Houkime
45011450c5
feature(backup):calculate needed space for inplace restoration
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
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
Houkime
f361f44ded
feature(backups): check restore exit code
2023-07-17 16:05:00 +03:00
Houkime
4423db7458
refactor(backups): download a copy before replacing original
2023-07-17 16:05:00 +03:00
Houkime
9137536294
feature(backups): mounting a repo
2023-07-17 16:05:00 +03:00
Houkime
9a28c0ebcb
refactor(backups): move syncing (non-restic) into backup utils
2023-07-17 16:05:00 +03:00
Houkime
7ad5f91be1
refactor(backups): move output yielding into backup utils
2023-07-17 16:05:00 +03:00
Houkime
1c28984475
feature(backups): a wrapper for rclone sync
2023-07-17 16:05:00 +03:00
Inex Code
21c5f6814c
style: fix styling
2023-07-17 16:05:00 +03:00
Houkime
0e13e61b73
fix(services): proper backup progress reporting
2023-07-17 16:05:00 +03:00
Inex Code
a7d0f6226f
fix(backups): missing space in rclone args
2023-07-17 16:05:00 +03:00
Houkime
e8f1f39b18
refactor(backups): rename service_snapshot_size to snapshot_restored_size
2023-07-17 16:05:00 +03:00
Houkime
f804c88fa6
refactor(backups): remove the by-service getting of cached snapshots
2023-07-17 16:05:00 +03:00
Houkime
6004977845
refactor(backups): rename force_snapshot_reload to force_snapshot_cache_reload
2023-07-17 16:05:00 +03:00
Houkime
3551813b34
refactor(backups): merge sync_all_snapshots with force_snapshot_reload
2023-07-17 16:05:00 +03:00
Houkime
ce55416b26
refactor(backups): straighten get_all_snapshots
2023-07-17 16:05:00 +03:00
Houkime
16a96fe0fa
refactor(backups): delete sync_service_snapshots
2023-07-17 16:05:00 +03:00
Houkime
f2161f0532
refactor(backups): privatize assert_restorable and restore_snapshot_from_id
2023-07-17 16:05:00 +03:00
Houkime
cb2273323f
refactor(backups): group operations together
2023-07-17 16:05:00 +03:00
Houkime
6369042420
refactor(backups): move reset() to top because toplevel interface
2023-07-17 16:05:00 +03:00
Houkime
3edb38262f
refactor(backups): make redis and json provider related lowlevels private
2023-07-17 16:05:00 +03:00
Houkime
3684345c2d
refactor(backups): make construct_provider not public
2023-07-17 16:05:00 +03:00
Houkime
6b0c55a786
refactor(backups): make lookup_provider not public
2023-07-17 16:05:00 +03:00
Houkime
dbac010303
refactor(backups): reorder imports
2023-07-17 16:05:00 +03:00
Houkime
c09f2f393b
refactor(backups): api readability reorg
2023-07-17 16:05:00 +03:00
Houkime
4b1594ca22
refactoring(backups): backuper -> backupper
2023-07-17 16:05:00 +03:00
Inex Code
4225772573
fix(backups): Providers were not initialized corretly
2023-07-17 16:05:00 +03:00
Inex Code
f27a3df807
refactor(backups): fix typing errors
2023-07-17 16:05:00 +03:00
Inex Code
b78ee5fcca
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.
2023-07-17 16:05:00 +03:00
Houkime
53dfb38284
test(backups): ensure asking to reload snaps does not explode the server
2023-07-17 16:05:00 +03:00
Houkime
f829a34dc7
refactor(backups): delete legacy provider setting
2023-07-17 16:05:00 +03:00
Houkime
9f096ed2c0
feature(backups): actually dealing with situation when the provider is not configured
2023-07-17 16:05:00 +03:00
Houkime
cd32aa83b7
refactor(backups): NoneBackupper class for those cases when we do not know
2023-07-17 16:05:00 +03:00
Houkime
a56461fb96
refactor(backups): make a dir for backuppers
2023-07-17 16:05:00 +03:00
Houkime
806fb3c84b
feature(backups): resetting json config too
2023-07-17 16:05:00 +03:00
Houkime
1c96743c5d
test(backups): test reinitting repository
2023-07-17 16:05:00 +03:00
Houkime
38de01da8b
refactor(backups): cleanup localfile-specific logic
2023-07-17 16:05:00 +03:00
Houkime
8475ae3375
refactor(backups): make localfile repos normal
2023-07-17 16:05:00 +03:00
Inex Code
93b98cd4fd
fix(backups): Handle orphaned snapshots
2023-07-17 16:05:00 +03:00
Inex Code
421c92d12e
fix(backups): return type of encryption key
2023-07-17 16:05:00 +03:00
Inex Code
c603394449
fix(backups): try to actually get backup configuration
2023-07-17 16:05:00 +03:00
Houkime
42a5b6f70a
test(backups): test backup API - backing up
2023-07-17 16:05:00 +03:00
Houkime
ad130e392c
feature(backups): check available space before restoring
2023-07-17 16:05:00 +03:00
Houkime
780c12df6c
refactor(backups): expect one more error of restic json output parsing
2023-07-17 16:05:00 +03:00