Commit Graph

282 Commits

Author SHA1 Message Date
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
Johannes Zellner e8be76f2e8 Fixup typos 2016-09-20 09:25:48 +02:00
Johannes Zellner 0ef9102b50 Set default backup folder to /var/backups 2016-09-20 09:25:48 +02:00
Johannes Zellner d8de9555f2 Add storage interface definition 2016-09-20 09:25:48 +02:00
Johannes Zellner f348fedd50 Caas backend has to use the AWS credentials provided by appstore 2016-09-20 09:25:48 +02:00
Johannes Zellner 2a92d4772c Fix typo 2016-09-20 09:25:48 +02:00
Johannes Zellner fa828cc661 Basic backup listing for filesystem backend 2016-09-20 09:25:48 +02:00
Johannes Zellner 04b7822be5 Implement filesystem storage backend getRestoreUrl() 2016-09-20 09:25:48 +02:00
Johannes Zellner 1fd96a847f Implement filesystem storage backend copy 2016-09-20 09:25:48 +02:00
Johannes Zellner bf177473fe Rename getBackupDetails() -> getBoxBackupDetails() 2016-09-20 09:25:48 +02:00
Johannes Zellner 2ce768e29a Refactor getAppBackupCredentials() 2016-09-20 09:25:48 +02:00
Johannes Zellner 96c8f96c52 Group exports 2016-09-20 09:25:48 +02:00
Johannes Zellner 83ed87a8eb Refactor getBackupCredentials() 2016-09-20 09:25:48 +02:00
Johannes Zellner 1736d50260 Add filesystem storage backend only as noop currently 2016-09-20 09:25:48 +02:00
Johannes Zellner 10e7f27b16 Actually we need to specify the signatureVersion... 2016-09-13 12:07:09 +02:00
Girish Ramakrishnan c1bb264065 Set a timeout for superagent
The default is 'no timeout' and it will wait for the response forever.

https://github.com/visionmedia/superagent/issues/17#issuecomment-207742985
2016-09-12 13:06:18 -07:00
Johannes Zellner 8de0746ac8 Revert "Use S3 signature versoin 4 to support all regions"
If we set the correct region name, the signature version is selected
automatically

This reverts commit 1e22cc3236.
2016-09-12 14:27:47 +02:00