Girish Ramakrishnan
a65611a37b
Fix error handling in s3 backend
2017-04-20 19:27:12 -07: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
40f5d0412b
Bring the caas storage backend up to speed
...
This is mostly the same as the s3 backend at the moment
2017-04-19 13:30:05 +02:00
Johannes Zellner
65af062c33
Cleanup linter issues
2017-04-19 13:20:24 +02:00
Johannes Zellner
d5db9657ca
Add s3 mock for the s3 storage tests
2017-04-18 19:15:56 +02:00
Johannes Zellner
ad9cb00f13
Add s3 storage removeBackup() and getDownloadStream() implementations
2017-04-18 17:33:59 +02:00
Johannes Zellner
5ccca76b17
Fix typo
2017-04-18 17:33:17 +02:00
Johannes Zellner
cec52e14f6
Remove s3 backup test shell script
2017-04-18 16:58:27 +02:00
Johannes Zellner
261d15f0f7
Handle S3 not found errors
2017-04-18 16:47:49 +02:00
Johannes Zellner
14fe1dde58
s3 storage backend with backup and restore implemented
2017-04-18 16:28:39 +02:00
Johannes Zellner
737bbd26ee
sort requires alphabetically
2017-04-18 15:32:59 +02:00
Johannes Zellner
f5db7c974f
Sync the storage interface api
2017-04-18 14:55:22 +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
794efb5ef5
Merge backupDone webhook into caas storage backend
2017-01-04 16:29:25 -08:00
Girish Ramakrishnan
31a9437b2c
Add backupDone hook
2017-01-04 16:23:12 -08:00
Johannes Zellner
6e1751d0ed
Set empty endpoint url for caas storage backend
...
Caas storage backend also uses the s3 code branches
2016-12-12 14:00:07 +01:00
Johannes Zellner
b2dbb5a100
Fixup bugs with updated backup scripts
2016-12-12 09:51:52 +01:00
Johannes Zellner
816911d071
Make s3 backup scripts aware of endpoints
...
Part of #123
2016-12-12 09:51:52 +01:00
Johannes
5ba86d5c35
Use aws s3 cli to test credentials
...
This allows us to test the exact same usage of the api
through the cli tool, not the javascript api
2016-10-28 16:36:05 +02:00
Johannes Zellner
6e6d4f7413
Actually verify s3 credentials by using the api
2016-10-11 11:46:28 +02: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
Johannes Zellner
6352064e6c
Add backup download route if backend supports it
2016-09-20 09:25:48 +02:00
Johannes Zellner
c9c1964e09
The storage backends dont need a backup listing function
2016-09-20 09:25:48 +02:00