Johannes Zellner
85c92ab0b4
Remove oauthProxy from the apps.js api
2016-02-19 16:07:49 +01:00
Johannes Zellner
9e87fd0440
Add apps.requiresOAuthProxy()
2016-02-19 15:03:36 +01:00
Johannes Zellner
804464c304
Add apps.getByIpAddress()
2016-02-18 15:43:46 +01:00
Johannes Zellner
5f96d862ab
Move default memory limit to constants.js
2016-02-14 12:13:49 +01:00
Johannes Zellner
79199bf023
Ensure we stash and restore the memoryLimit
2016-02-14 12:10:22 +01:00
girish@cloudron.io
5669d387af
check app state before exec
2016-02-12 12:32:58 -08:00
Johannes Zellner
957f20a9a8
Always store the memory limit in the app db record and adjust on update if needed
2016-02-11 18:14:16 +01:00
Johannes Zellner
489ea3a980
Add memoryLimit validation
2016-02-11 17:39:15 +01:00
Johannes Zellner
75d22d7988
Introduce memoryLimit to apps routes
2016-02-11 17:00:21 +01:00
Johannes Zellner
5ea81d0fd3
Ensure default minimum memory limit
2016-02-10 12:30:19 +01:00
Johannes Zellner
19cbd1f394
Ensure we never go below 256mb memoryLimit
2016-02-10 12:30:19 +01:00
Johannes Zellner
eec8708249
Set memory limit on app installation to the default or the one specified in the manifest
2016-02-10 12:25:26 +01:00
girish@cloudron.io
bfdabf9272
check groups property in accessRestriction
2016-02-09 13:03:52 -08:00
girish@cloudron.io
60988ff7f3
make hasAccessTo take a callback
2016-02-09 12:48:21 -08:00
girish@cloudron.io
1fb26bc441
make startAppTask take a callback
2016-02-09 12:14:04 -08:00
girish@cloudron.io
e6d23a9701
stop previous task explicitly
...
there is a race:
1. task is running
2. new task is created overwriting the installationState
3. new task kills the old task of step 1. this results in installationState getting overwritten by 'error' because of the sigkill
4. new task that is launched loses the installationState that was step in 2.
2016-02-09 12:09:20 -08:00
Johannes Zellner
28ffd01cf4
Invoke BACKUP_APP_CMD with the additional backupConfig.url
2016-01-29 11:55:52 +01:00
Johannes Zellner
d2ed816f44
Add apps.listBackups()
2016-01-19 13:35:18 +01:00
girish@cloudron.io
55799ebb2d
cli tool demuxes stream now
2016-01-18 21:36:05 -08:00
girish@cloudron.io
fdf4d8fdcf
maybe stream is duplex
2016-01-18 13:39:18 -08:00
girish@cloudron.io
7ef3d55cbf
add tty option to exec
2016-01-18 11:39:09 -08:00
Johannes Zellner
bebf480321
Use appdb.exists() instead of a apps.get()
2016-01-17 16:05:47 +01:00
Johannes Zellner
6ce6b96e5c
Fix linter issues
2016-01-17 15:59:11 +01:00
Johannes Zellner
16a9cae80e
Allow to specify the restore id
2016-01-17 15:50:20 +01:00
girish@cloudron.io
28baef8929
Go back to using docker exec in cloudron exec
...
The main issue is that multiple cloudron exec sessions do not
share the same rootfs. Which makes it annoying to debug.
We also have some nginx timeout which drops you out of exec
now and then resulting in loss of all state.
2016-01-15 15:24:46 -08:00
Johannes Zellner
a6eca44a0d
Do not attempt to purchase an app if we dont have an appstore token
2015-12-31 09:15:27 +01:00
Girish Ramakrishnan
a4ea693c3c
update superagent
...
the latest superchanged changed the meaning of 'error'. Previously,
error implied a network error. With the latest superagent, error means
a REST api error i.e 4xx, 5xx are flagged as errors.
error && !error.response means network error
2015-12-15 09:53:37 -08:00
Girish Ramakrishnan
cf80fd7dc5
rename certificatemanager
2015-12-11 12:24:52 -08:00
Girish Ramakrishnan
73d891b98e
move validateCertificate to certificateManager
2015-12-10 20:38:49 -08:00
Girish Ramakrishnan
fe819f95ec
always return logs regardless of state
2015-12-04 13:13:54 -08:00
Johannes Zellner
b9695b09cd
Fix crash due to wrong AppsError usage
2015-11-25 13:49:20 +01:00
Johannes Zellner
3d80821203
Give correct feedback if an app cannot be found in the appstore
2015-11-13 10:35:29 +01:00
Girish Ramakrishnan
8f05917d97
delete container on network error
2015-11-10 21:56:17 -08:00
Girish Ramakrishnan
3766d67daa
create new container from cloudron exec
2015-11-10 21:36:20 -08:00
Johannes Zellner
b1290c073e
log lines should be newline separated
2015-11-10 11:31:07 +01:00
Girish Ramakrishnan
5de3baffd4
send monotonic timestamp as well
2015-11-02 14:26:15 -08:00
Girish Ramakrishnan
63c10e8f02
fix typo
2015-11-02 14:23:02 -08:00
Girish Ramakrishnan
88b1cc553f
Use journalctl to get app logs
2015-11-02 14:08:34 -08:00
Johannes Zellner
eca328b247
Add cert and key to app install route
2015-10-28 22:09:19 +01:00
Johannes Zellner
cf021066ed
Move cert validation to settings and use it for wildcard cert
2015-10-28 14:35:39 +01:00
Johannes Zellner
04eb2a982f
Add proper cert validator
2015-10-28 14:20:25 +01:00
Johannes Zellner
e81db9728a
Set the cert and key dynamically when rendering nginx appconfig
2015-10-28 12:42:04 +01:00
Johannes Zellner
db305af8c9
We name certs with .cert extension
2015-10-28 12:33:27 +01:00
Johannes Zellner
4b3aca7773
certs should be stored with app fqdn
2015-10-28 12:28:57 +01:00
Johannes Zellner
5b5abe99e7
Save the uploaded certs to app cert directory
2015-10-28 12:24:59 +01:00
Johannes Zellner
4ea3238391
Pass certs down to apps.configure
2015-10-27 16:36:09 +01:00
Girish Ramakrishnan
6671b211e0
export a connection property from docker.js
2015-10-19 11:24:21 -07:00
Johannes Zellner
fa193276c9
Require exactly one user in accessRestriction for singleUser app installations
2015-10-16 20:01:45 +02:00
Johannes Zellner
b5cfdcf875
Fixup the unit tests for accessRestriction format change
2015-10-16 16:06:13 +02:00
Johannes Zellner
373db25077
Make accessRestriction a JSON format to prepare for group access control
2015-10-16 15:32:19 +02:00