Girish Ramakrishnan
781f543e87
Rename API calls in the storage backend
2017-09-17 18:50:29 -07:00
Girish Ramakrishnan
b0ee116004
targz: make sourceDir a string
2017-09-17 18:50:15 -07:00
Girish Ramakrishnan
e78d976c8f
Fix backup mapping (mail dir has moved)
2017-09-13 09:51:20 -07:00
Girish Ramakrishnan
6ef2f974ae
fs: Use key to determine backup extension
2017-05-08 16:03:29 -07:00
Girish Ramakrishnan
7a3d3a3c74
Fix usage of tar.gz API
2017-04-30 17:42:55 -07:00
Girish Ramakrishnan
81b705b25b
give inner callback variable a different name
2017-04-23 22:51:07 -07:00
Girish Ramakrishnan
f79e1993cb
use debug() more
2017-04-23 22:10:44 -07:00
Girish Ramakrishnan
aeba8e8fd2
Use retentionSecs to cleanup backups
...
Part of #310
2017-04-23 19:34:00 -07:00
Johannes Zellner
a7d7935451
Remove backup download code
2017-04-22 22:17:29 +02:00
Girish Ramakrishnan
1cca0aee6e
refactor targz logic into separate file
2017-04-21 15:45:45 -07:00
Girish Ramakrishnan
0aea7cc347
Add progress-stream for upload/download progress
2017-04-21 12:07:01 -07:00
Johannes Zellner
f516dddf30
Detect old backup format and pipe to openssl
2017-04-21 19:39:02 +02:00
Johannes Zellner
8fb1bc29d1
Fix storage tests for filesystem and s3
2017-04-21 17:21:10 +02:00
Johannes Zellner
8e1f190079
Implement check configuration for filesystem backend
2017-04-21 15:37:57 +02:00
Johannes Zellner
33492333c7
Fix backupDone() for caas
2017-04-21 10:31:43 +02:00
Johannes Zellner
0471a14894
We always encrypt even with empty key so make that clear with the file extension
2017-04-21 09:59:27 +02:00
Girish Ramakrishnan
4769d14414
Mark all fs failures as external errors
...
This gets the right error message on failures:
$ cloudron machine backup create
Waiting for backup to finish...backup failed: ENOENT: no such file or directory, open '/var/backups/2017-04-21-013900-584/app_7549c6a1-682e-4150-8b40-2c31a3fa92f7_2017-04-21-013900-591_v0.7.1.tar.gz'
2017-04-20 19:01:12 -07:00
Girish Ramakrishnan
0584ace954
Remove StorageError from backends
2017-04-20 18:12:29 -07:00
Girish Ramakrishnan
77d23d6c15
return BackupsError on error
2017-04-20 18:12:29 -07:00
Girish Ramakrishnan
31ea1e677c
Simply change ownership instead instead of umask fiddling
2017-04-20 18:12:25 -07:00
Girish Ramakrishnan
83f36981f7
Make box backups work again
2017-04-20 16:26:42 -07:00
Johannes Zellner
788873e858
Add error callbacks for backup in filesystem and s3
2017-04-20 16:18:27 +02:00
Johannes Zellner
d9a0bf457d
Don't make backup files executable
2017-04-20 16:02:13 +02:00
Johannes Zellner
9f117fcfdc
Also simplify the s3 backend
2017-04-20 15:35:52 +02:00
Johannes Zellner
fe01d1bf28
Keep storage api as simple as possible
...
Do not support the directory mapping, which is only used for box backups
This greatly simplifies things, but needs a special fix for the box.
2017-04-20 15:20:11 +02:00
Johannes Zellner
65af062c33
Cleanup linter issues
2017-04-19 13:20:24 +02:00
Johannes Zellner
5ccca76b17
Fix typo
2017-04-18 17:33:17 +02:00
Johannes Zellner
737bbd26ee
sort requires alphabetically
2017-04-18 15:32:59 +02:00
Johannes Zellner
7303a09f2f
Support older backupIds which already include the type prefix
2017-04-18 14:39:48 +02:00
Johannes Zellner
5dd10e7cd2
app restoreConfig file api is no more in the filesystem backend
2017-04-18 12:11:05 +02:00
Johannes Zellner
9c45dec8b0
Fix permissions for the filesystem backend
...
node will always apply the umask, so we have to set and then restore it
properly
2017-04-17 20:26:06 +02:00
Johannes Zellner
7b93150047
Also add intermediate removeAppRestoreConfig() api
2017-04-17 20:26:06 +02:00
Johannes Zellner
a98177fe71
Ensure non-root permissions to the backups
2017-04-17 20:26:06 +02:00
Johannes Zellner
4d42c116ce
Implement all the apis for the filesystem storage backend
2017-04-17 20:26:05 +02:00
Johannes Zellner
6d8cf8456e
Add filesystem backend encryption support
...
We will probably remove this but lets keep this for now
just to keep changes low in the next release.
2017-04-17 20:26:05 +02:00
Johannes Zellner
5e1ad4ad93
We need root access to copy backup files with the filesystem backend
2017-04-17 20:26:05 +02:00
Johannes Zellner
bd7625031e
The writeable stream end event is 'finished'
2017-04-17 20:26:05 +02:00
Johannes Zellner
9e881d1934
Gunzip the app backups
2017-04-17 20:25:59 +02:00
Johannes Zellner
31f93f0255
Use the directory property not the object
2017-04-17 20:09:10 +02:00
Johannes Zellner
67a7624da0
add an explicit saveAppRestoreConfig() api
2017-04-17 20:09:10 +02:00
Johannes Zellner
7fdf491815
Add backuptask.js to work with new storage interface
2017-04-17 20:09:02 +02:00
Girish Ramakrishnan
31a9437b2c
Add backupDone hook
2017-01-04 16:23:12 -08:00
Johannes Zellner
cac85b17bc
Add backup config test for each backend
2016-10-11 11:36:25 +02:00
Johannes Zellner
f576f38e4c
Calculate the backup checksum for client side verification
...
Fixes #54
2016-10-10 18:11:25 +02:00
Johannes Zellner
9d3f8f23ef
Also remove the app backup json files
2016-10-10 16:25:43 +02:00
Johannes Zellner
1e65142f47
Use rmbackup.sh instead of fs.unlink() due to root ownership
2016-10-10 16:25:43 +02:00
Johannes Zellner
c7e5c09bb9
Adjust removeBackup() api
2016-10-10 15:45:48 +02:00
Johannes Zellner
1b3ae1f178
Add new storage.removeBackup() api
...
This currently is only used in the filesystem backend,
but may be expanded to also cleanup S3 in the future
2016-10-10 15:45:48 +02:00
Johannes Zellner
629e061743
Use specific error if app backup for restore can't be found
2016-10-10 13:21:45 +02:00
Johannes Zellner
4a9a6dc232
Move backup config fetching into storage backend
2016-09-20 09:25:48 +02:00