Girish Ramakrishnan
9c0f983ce1
backups: fix failure notitification
2021-06-24 01:44:46 -07:00
Girish Ramakrishnan
89607d2c64
remove the backup check notification and route
...
it seems we decided that instead of a notification, we display a warning in
the backups view itself (see #719 ).
2021-06-23 22:09:23 -07:00
Girish Ramakrishnan
3eb5a26c46
prefix translatable strings with tr:
2021-06-23 22:02:07 -07:00
Girish Ramakrishnan
f2e0ee12a2
vultr: object storage
2021-06-16 22:36:01 -07:00
Girish Ramakrishnan
8da4eaf4a3
fix tests
2021-06-03 16:08:39 -07:00
Girish Ramakrishnan
b278056941
typo in backup filename
2021-05-27 15:08:51 -07:00
Girish Ramakrishnan
a34bdb9ddf
backups: fix mounting logic of backup settings and cloudron restore
2021-05-27 13:52:05 -07:00
Girish Ramakrishnan
431e2a6ab9
clone: save app config
...
clone also clones the tags, labels and icon. this is not done for
restore or import since it's not clear if this is a good idea or not.
for example, if user had some custom tags and label set and then restores
to some old backup, is it expected to reset the labels and tags?
2021-05-26 09:03:05 -07:00
Girish Ramakrishnan
14bb928d41
backups: fix various mount issues
2021-05-17 22:58:40 -07:00
Girish Ramakrishnan
124954d490
migrate old providers as generic mountpoint provider
2021-05-17 13:23:32 -07:00
Girish Ramakrishnan
91a7a9e43c
backups: change app backup filename
...
change from app_appid_timestamp_vVersion to app_fqdn_vVersion
Fixes #782
2021-05-08 17:17:11 -07:00
Johannes Zellner
5ccb1d44fe
Send translation keys instead of raw english string for backup checks
2021-04-01 16:35:50 +02:00
Girish Ramakrishnan
176388111c
tokens: add lastUsedTime
2021-03-16 16:04:17 -07:00
Girish Ramakrishnan
1db1f3faf4
Make it 30MB for good measure
2021-03-09 19:41:36 -08:00
Girish Ramakrishnan
ac18fb47b4
Fix ENOBUFS with large number of executable files
2021-03-05 15:09:56 -08:00
Girish Ramakrishnan
cccdf68cec
backups: preserve symlinks in rsync mode
2021-03-02 18:11:59 -08:00
Girish Ramakrishnan
baded52c96
return BoxError and not Error
2021-03-01 11:31:22 -08:00
Girish Ramakrishnan
476f348693
restore: resolve any boxdata directory symilnk before downloading
...
the tar-fs module cannot handle symlinks and must be given a resolved directory
since it uses lstat()
2021-03-01 11:02:43 -08:00
Girish Ramakrishnan
c4dffa393b
backups: remove entries from database that don't exist in storage
...
fixes #772
2021-02-19 11:34:22 -08:00
Girish Ramakrishnan
72daaa9ff0
ionos: add profitbricks object storage
2021-02-04 10:14:35 -08:00
Girish Ramakrishnan
6bd87485c6
rename addons.js to services.js
...
services is the named container (services view)
addons is more like a heroku concept
2021-01-21 11:31:35 -08:00
Girish Ramakrishnan
78752fde7a
app: add export route
...
Currently, the export route only creates the snapshot (the other side
of in-place import). In the future, the export route can export to a
custom backup config (like import).
2020-12-06 19:57:26 -08:00
Girish Ramakrishnan
a113ece22b
Still have to preserveEnv for the env vars to make it across sudo
2020-11-05 16:13:42 -08:00
Girish Ramakrishnan
02eb362f37
Set the heap size with large backup memory limits
...
I had to also give the server some more swap for the backup to succeed
2020-11-05 16:06:12 -08:00
Girish Ramakrishnan
d9f88985fe
rsync: create destination file only when source is available
...
if the source disappears, the upload() in the backend creates the file
as 'root'. the chown is never done because the read stream errored.
As a result of permissions, cp fails to hardlink because the hardlink
is run as yellowtent user.
fixes #741
2020-09-30 20:12:17 -07:00
Girish Ramakrishnan
933918ea27
Fix docs url
2020-09-15 14:46:22 -07:00
Girish Ramakrishnan
e791084793
bump timeout to 24 hours
2020-09-02 18:19:25 -07:00
Girish Ramakrishnan
9b67ab9713
typo
2020-08-31 08:58:38 -07:00
Girish Ramakrishnan
dd5dfd98b7
ensure box update backups are also preserved for 3 weeks
2020-08-30 21:38:13 -07:00
Girish Ramakrishnan
9cdf5dd0f3
backups: time the rotation and total as well
2020-08-11 10:28:11 -07:00
Girish Ramakrishnan
05026771e1
add memoryLimit, copyConcurrency, downloadConcurrency to backup config
2020-08-10 22:12:01 -07:00
Girish Ramakrishnan
99f989c384
run apptask and backup task with a nice
...
A child process inherits whatever nice value is held by the parent at the time that it is forked
2020-08-06 16:46:39 -07:00
Girish Ramakrishnan
2112c7d096
sudo: remove the nice support
2020-08-06 16:44:35 -07:00
Girish Ramakrishnan
d564003c87
backup cleaner: referenced backups must be counted as part of period
...
otherwise, we end up in a state where box backups keeps referencing
app backups and app backup cleanup is only performed on the remaining
app backups.
2020-08-03 21:22:27 -07:00
Girish Ramakrishnan
d2882433a5
run backup uploader with a nice of 15
...
the gzip takes a lot of cpu processing and hogs the CPU. With a nice
level, we give other things higher priority.
An alternate idea that was explored was to use cpulimit. This is to
send SIGSTOP and SIGCONT periodically but this will not make use of the
CPU if it's idle (unlike nice).
Another idea is to use cgroups, but it's not clear how to use it with
the dynamic setup we have.
part of #691
2020-07-31 18:23:36 -07:00
Girish Ramakrishnan
a94b175805
Add timing information for backups
2020-07-31 12:59:15 -07:00
Girish Ramakrishnan
f511a610b5
backups: take a pattern instead of interval secs
...
part of #699
2020-07-28 21:54:56 -07:00
Girish Ramakrishnan
05dcbee7e3
backups: add b2 provider
...
part of #508
2020-07-13 14:52:35 -07:00
Johannes Zellner
60f1b2356a
Also make nfs storage provider same as cifs and sshfs
2020-06-22 15:51:05 +02:00
Girish Ramakrishnan
129cbb5beb
backups: fix cleanup
...
The various changes are:
* Latest backup is always kept for box and app backups
* If the latest backup is part of the policy, it is not counted twice
* Latest backup comes into action only when all backups are outside the retention policy
* For uninstalled apps, latest backup is not preserved
* This way the latest backup of apps that are not referenced in box backup is preserved.
(for example, for stopped apps)
fixes #692
2020-06-14 22:06:00 -07:00
Girish Ramakrishnan
f6cb1a0863
backups: query using identifier instead of type
...
this allows us to move the enums into backups.js instead of backupdb.js
2020-06-14 12:27:41 -07:00
Girish Ramakrishnan
4f964101a0
add identifier to backups table
2020-06-14 11:39:44 -07:00
Girish Ramakrishnan
f6dcba025f
auditSource is not used in the worker
2020-06-14 09:09:41 -07:00
Girish Ramakrishnan
c855d75f35
remove mkdirp use
...
node 10.12 has { recursive: true }
2020-06-11 08:27:48 -07:00
Girish Ramakrishnan
8f5cdcf439
backups: some logs for debugging
2020-06-10 23:00:23 -07:00
Johannes Zellner
ef764c2393
Merge sshfs.js into filesystem.js
2020-06-08 17:08:26 +02:00
Johannes Zellner
8624e2260d
add storage api to make preflight checks
...
Currently there is only disk space checking but sshfs and cifs need
mount point checking as well
2020-06-08 16:25:05 +02:00
Johannes Zellner
330b4a613c
Retrieve the backupPath from the storage provider itself
2020-06-05 13:27:18 +02:00
Johannes Zellner
6f60495d4d
Initial version of sshfs storage backend
2020-06-05 11:39:51 +02:00
Girish Ramakrishnan
4fa181b346
re-use the latest backup id for non-backupable apps
...
for stopped apps, as an example
2020-05-28 14:16:38 -07:00