Johannes Zellner
ef200fcc85
Support s3 backup upload without session tokens
2016-06-22 10:21:56 +02:00
Girish Ramakrishnan
b3ad463470
use debug instead
2016-06-20 22:42:37 -05:00
Girish Ramakrishnan
b59739ec54
fix typo
...
this is sad. why didn't jshint catch this?
2016-06-20 21:38:39 -05:00
Girish Ramakrishnan
060d9e88ef
Pass manifest to backupApp
2016-06-14 11:32:29 -07:00
Girish Ramakrishnan
9c2d217176
fix typo
2016-06-13 23:04:43 -07:00
Girish Ramakrishnan
3197349058
Fix app backup before updates
...
we were passing the current manifest to the backup code which meant that
the app version and manifest was incorrect.
2016-06-13 21:19:29 -07:00
Girish Ramakrishnan
5f3378878e
remove lastBackupConfig
2016-06-13 19:19:28 -07:00
Girish Ramakrishnan
53cd45496b
parse the response
2016-06-13 18:28:51 -07:00
Girish Ramakrishnan
2c0eb33625
use apps.getAppConfig when generating config.json
2016-06-13 15:11:49 -07:00
Girish Ramakrishnan
8f21126697
add a way to get the restore config (config.json)
2016-06-13 15:04:27 -07:00
Girish Ramakrishnan
716d29165c
store altDomain in backupConfig
2016-06-13 13:14:04 -07:00
Girish Ramakrishnan
6be0d0814d
pass auditSource from cron.js
2016-06-02 18:51:50 -07:00
Girish Ramakrishnan
126d64ffa8
move backup event in backupBoxAndApps
...
the updater uses this code route
2016-05-03 18:36:52 -07:00
Johannes Zellner
b855dee4cb
Fix crash by providing required eventsource
2016-05-02 13:43:12 +02:00
Girish Ramakrishnan
fec388b648
move backup eventlog to model
2016-05-01 13:17:23 -07:00
Girish Ramakrishnan
20d6da8230
add debugs
2016-04-20 19:40:58 -07:00
Girish Ramakrishnan
f159cacfbb
Use same timestamp for archive and config
...
This fixes a very curious case:
1. App has backup.
2. App dies.
3. Box backs up. This make it reuse the backup. But it generates wrong config file timestamp.
4. Box cannot update anymore. This is because the backup of app fails - it tries to reuse
the backup and that fails with AccessDenied because the timestamp above is wrong!
2016-04-20 19:37:00 -07:00
Girish Ramakrishnan
3bdbcff811
add debug
2016-04-10 22:34:55 -07:00
Girish Ramakrishnan
ea3bd6d71d
remove trailing comma
2016-04-10 22:29:09 -07:00
Girish Ramakrishnan
d5cc96b1ff
clean up backups code
2016-04-10 22:24:01 -07:00
Girish Ramakrishnan
4ed368cdd8
remove getBackupUrl
2016-04-10 22:12:06 -07:00
Girish Ramakrishnan
5229222014
getBackupCredentials is never used
2016-04-10 22:09:29 -07:00
Girish Ramakrishnan
9b0aa331e1
remove unused function
2016-04-10 22:08:11 -07:00
Girish Ramakrishnan
70cc073b1c
only add to backupdb when the backup succeeded
2016-04-10 21:55:08 -07:00
Girish Ramakrishnan
29502fd8af
remove unused exports
2016-04-10 21:52:01 -07:00
Girish Ramakrishnan
b2668579d6
pass appid to backup script
2016-04-10 21:41:53 -07:00
Girish Ramakrishnan
ba663faa64
fix debug
2016-04-10 21:39:45 -07:00
Girish Ramakrishnan
8db76f6b70
backup swap is not required anymore
2016-04-10 20:55:59 -07:00
Girish Ramakrishnan
322e9faee7
rework backup code
...
move all the backup code into backups.js
2016-04-10 20:41:08 -07:00
Girish Ramakrishnan
af9d489395
backup apps use aws-cli
2016-04-10 18:47:25 -07:00
Girish Ramakrishnan
4565291c1c
use aws-cli to upload box backups
2016-04-10 18:22:05 -07:00
Girish Ramakrishnan
8b3a44b33c
Add getBackupCredentials to backups API
2016-04-10 11:01:59 -07:00
Johannes Zellner
0b1dcd2940
Use userdb.getByUsername() instead of get()
2016-04-05 09:27:32 +02:00
Girish Ramakrishnan
ec160fe45f
make getBackupUrl return id as well
2016-04-04 12:45:09 -07:00
Girish Ramakrishnan
bbff195863
rename filename to id
2016-04-04 12:20:56 -07:00
Girish Ramakrishnan
e528dbcfc0
creationTime is redundant
2016-04-04 12:13:54 -07:00
Girish Ramakrishnan
c9ef0056e0
rename getSignedUploadUrl to getBackupUrl
2016-04-04 12:01:47 -07:00
Girish Ramakrishnan
3135783fe3
rename getSignedDownloadUrl to getRestoreUrl
2016-04-04 11:43:56 -07:00
Girish Ramakrishnan
d839f0b762
remove redundant session token
2016-04-03 23:23:23 -07:00
Girish Ramakrishnan
16a65fb185
drop configJson
...
The initial idea was to store exactly where the backups are stored.
But this only causes problems for migrations where the bucket might
change and clones where the prefix (box.id) changes.
Thus, it's best to leave the url creation to the caas side. (That
has to be done in another change)
2016-04-03 22:55:08 -07:00
Girish Ramakrishnan
3ea2070cdb
pass filename (it is not part of the config!)
2016-03-31 09:53:56 -07:00
Girish Ramakrishnan
9e7ae1a4f7
we really need a better linter
2016-03-31 09:38:40 -07:00
Girish Ramakrishnan
d27159275b
pick region as well
2016-03-31 09:34:57 -07:00
Girish Ramakrishnan
6c2ae756f1
fix usage of backupInfo
2016-03-31 09:23:41 -07:00
Girish Ramakrishnan
39cc5d07d1
use the backupdb config to determine bucket and prefix
2016-03-31 00:50:56 -07:00
Girish Ramakrishnan
df39384056
do not save backup secrets in database
2016-03-30 23:39:48 -07:00
Girish Ramakrishnan
c097651a88
store backup configuration as part of backups table
2016-03-30 15:04:39 -07:00
Girish Ramakrishnan
e2b7ec3ffd
store filename with tar.gz extension
2016-03-08 16:47:53 -08:00
girish@cloudron.io
d157bf30f3
remove box backups from the database
2016-03-08 08:52:20 -08:00
girish@cloudron.io
7996b32022
add backups to the database
...
ideally, these should be done _after_ the backup is successful and not when
the backup url is generated.
we had a discussion on why need backupdb to start with. Some rationale includes:
1. we can use it as a FK constraint (like make sure you delete backups when you delete app)
2. have labels for backups
3. dependancy relation from box backup to apps
4. s3 reverse sort is little painful and requires us to get all items in bulk and sort in JS
(also requires us to change our backup filename format)
5. any metadata storage requires database
The cons include:
1. s3 and this db go out of sync
2. db entry is useless if s3 file is missing
2016-03-08 08:42:00 -08:00