Commit Graph

35 Commits

Author SHA1 Message Date
Girish Ramakrishnan
f2225ff6b6 fs.rmdirSync { recursive: true } is deprecated 2025-08-14 13:43:41 +05:30
Girish Ramakrishnan
12e073e8cf use node: prefix for requires
mostly because code is being autogenerated by all the AI stuff using
this prefix. it's also used in the stack trace.
2025-08-14 12:55:35 +05:30
Girish Ramakrishnan
47fc9561ab backups (tgz): save integrity information
we generate a signing key pair for each target. Initially, I had this
as global. We needed a route to return the public key and putting it
under backup target seemed natural. Since we delete the backups when
we delete a target, we lose all the signing hashes. So, it's fine to lose
the key pair on target delete.
2025-08-12 19:00:29 +05:30
Johannes Zellner
98ea5a7b70 Setup backup encryption in extra step 2025-08-06 13:53:06 +02:00
Girish Ramakrishnan
f8d74bbb6d backuptarget: add default at provisioning time (again)
we clear the db in the tests. the tests run the setup again and again.
so, it's easier to add default values in provision time instead of
migration.
2025-08-06 11:11:11 +02:00
Girish Ramakrishnan
5992658164 restore: fix restore 2025-08-05 14:38:12 +02:00
Girish Ramakrishnan
c4ee21bdb0 Revert "provision: add default backup target after setup"
This reverts commit 1a0d1f7d79.

20171205124434-settings-default-backupConfig.js already adds the default
2025-08-05 13:41:26 +02:00
Girish Ramakrishnan
2a90a0a278 backup target: add password hint and encryption route 2025-08-05 11:26:02 +02:00
Girish Ramakrishnan
fddbe6a574 Fixup tests 2025-08-04 23:11:50 +02:00
Girish Ramakrishnan
1a0d1f7d79 provision: add default backup target after setup 2025-08-04 14:33:12 +02:00
Girish Ramakrishnan
132132307f backuptarget: rename label to name 2025-08-04 14:28:37 +02:00
Girish Ramakrishnan
7ef9e7eb51 storage: add getStatus hook 2025-08-04 11:01:20 +02:00
Girish Ramakrishnan
2c80c4a7d5 backuptargets: fix del to delete archives as well 2025-08-04 10:16:19 +02:00
Girish Ramakrishnan
547d8ae113 filesystem: rename backupFolder to backupDir 2025-08-02 10:37:37 +02:00
Girish Ramakrishnan
c935744f4c backups: root ~~canal~~ path surgery
remove rootPath and getBackupFilePath from the backup target and
make this backend specific.
2025-08-02 10:15:34 +02:00
Girish Ramakrishnan
a01e1bad0f backuptarget: pseudo target for import and restore 2025-08-02 00:06:47 +02:00
Girish Ramakrishnan
3cabbc1328 backupformat: getFileExtension 2025-08-01 22:58:26 +02:00
Girish Ramakrishnan
7192439b2c no need for format specific getBackupFilePath 2025-08-01 20:49:11 +02:00
Girish Ramakrishnan
53e9925880 backups: make id, provider a backend specific setting
the backend can stash whatever values it wants in the config.
just like the DNS backends, we make verifyConfig return a sanitized config.
added benefit is that extra user fields (via API) are also not dumped into the db.
2025-08-01 18:55:04 +02:00
Girish Ramakrishnan
ea419509f1 backups: add setup/teardown
1. add setup, teardown hooks
2. move the managed mount setup and teardown to filesystem backend
3. remove this vague storage.js

we should convert storageApi into a real object, so we don't have to
keep passing apiConfig around
2025-08-01 15:36:25 +02:00
Girish Ramakrishnan
ae3a34287a backup target: create snapshot and cache files per target
snapshot file tracks the snapshot directory. when app gets deleted,
the cleaner will remove the upstream snapshot directory when it runs.

cache files are used in rsync logic to track what was uploading into
snapshot in the previous run without needing to rescan upstream.
2025-07-30 11:44:42 +02:00
Girish Ramakrishnan
cbc73f5c9a remove uuid module
built into node.js now
2025-07-28 12:54:09 +02:00
Girish Ramakrishnan
373ef5b7e1 import: make the ui work again 2025-07-28 12:12:43 +02:00
Girish Ramakrishnan
89388940ed backups: make backup download config work 2025-07-28 11:18:02 +02:00
Girish Ramakrishnan
b2c94adabf cron: fix cleanup task 2025-07-25 14:54:51 +02:00
Girish Ramakrishnan
3904f50c1b locks: make full backup use a prefix 2025-07-25 14:46:55 +02:00
Girish Ramakrishnan
fc4da4408c backups: fix app restore with tgz 2025-07-25 13:39:09 +02:00
Girish Ramakrishnan
83ab701d02 eventlog: add backup target eventlog 2025-07-25 12:23:41 +02:00
Girish Ramakrishnan
3f07bb5c3a backup targets: add test for all routes 2025-07-25 11:29:00 +02:00
Girish Ramakrishnan
94dd1eb0c2 backups: add setPrimary route 2025-07-25 09:43:26 +02:00
Girish Ramakrishnan
69cd766f88 backups: run cron schedule per target 2025-07-25 08:36:09 +02:00
Girish Ramakrishnan
276db17f0c backups: use a real targetId 2025-07-25 08:12:27 +02:00
Girish Ramakrishnan
62017b3ff5 backup: rename back backuplisting.js to backups.js
this was a transitional rename till I figured out how to split
it in backuptargets.js
2025-07-25 01:37:19 +02:00
Girish Ramakrishnan
3aafbd2ccb backups: add backup multiple targets 2025-07-25 01:30:27 +02:00
Girish Ramakrishnan
931311f11f rename backups to backuptargets 2025-07-24 18:54:10 +02:00