Girish Ramakrishnan
a2ec308155
pass the lastBackupId explicity as the backup to restore to
2016-06-13 10:13:54 -07:00
Girish Ramakrishnan
b82610ba00
pass data argument to restore
2016-06-13 10:08:58 -07:00
Girish Ramakrishnan
1766da9174
update code path now takes appStoreId
2016-06-04 20:05:29 -07:00
Girish Ramakrishnan
dbdcf1ec27
pass data object to update
2016-06-04 19:12:36 -07:00
Girish Ramakrishnan
c916ea2589
fix style
2016-06-04 18:56:53 -07:00
Girish Ramakrishnan
5540b5f545
remove unused require
2016-06-04 18:55:31 -07:00
Girish Ramakrishnan
1e38190e68
setting falsy values for cert/key removes it
2016-06-04 18:30:05 -07:00
Girish Ramakrishnan
8f3553090f
make args optional in configure
2016-06-04 18:07:06 -07:00
Girish Ramakrishnan
cc0f5a1f03
fix configure arg insanity
2016-06-04 16:32:27 -07:00
Girish Ramakrishnan
a1c531d2a8
better type checking in configure and make accessRestriction optional
2016-06-04 16:27:50 -07:00
Girish Ramakrishnan
a49cf98a8d
do not allow appId to be set
...
this is some legacy code
2016-06-04 13:40:43 -07:00
Girish Ramakrishnan
3b7cfdd7db
better type checking
2016-06-04 13:31:18 -07:00
Girish Ramakrishnan
ee073c91a3
return BAD_FIELD if app was not found
2016-06-04 13:15:38 -07:00
Girish Ramakrishnan
9e8742ca87
download manifest from appstore when appStoreId is provided
2016-06-04 01:07:43 -07:00
Girish Ramakrishnan
e2848d3e08
fix apps.install insane arg list
2016-06-03 23:35:55 -07:00
Girish Ramakrishnan
8fc44e6bc9
remove redundant checks
2016-06-03 19:08:47 -07:00
Girish Ramakrishnan
44f4872134
remove dead comments
2016-06-03 17:55:05 -07:00
Girish Ramakrishnan
10e0cbcebc
do not set allowHalfOpen (otherwise we have to end socket ourself)
2016-05-23 10:50:04 -07:00
Girish Ramakrishnan
37512c4cac
Wrap the stdin stream to indicate EOF
...
The docker exec protocol supports half-closing to signal that the stdin
is finished. The CLI tool tried to do this by closing it's half of the
socket when the stdin finished. Unfortunately, this does not work because
nginx immediately terminates a half-close :/ Node itself has no problem.
http://mailman.nginx.org/pipermail/nginx/2008-September/007388.html
seems to support the hypothesis. Basically, for HTTP and websockets
there is no notion of half-close.
Websocket protocol itself has no half-close as well:
http://www.lenholgate.com/blog/2011/07/websockets---i-miss-the-tcp-half-close.html
http://doc.akka.io/docs/akka/2.4.5/scala/http/client-side/websocket-support.html
The fix is to implement our own protocol that wrap stdin. We put a length
header for every payload. When we hit EOF, the length is set to 0. The server
sees this 0 length header and closes the exec container socket.
2016-05-22 22:27:49 -07:00
Girish Ramakrishnan
0aaaa866e4
Add a whole bunch of magic for docker.exec to work
2016-05-22 00:27:32 -07:00
Girish Ramakrishnan
53cb7fe687
debug out cmd
2016-05-19 15:54:35 -07:00
Girish Ramakrishnan
da42f2f00c
fix boolean logic
2016-05-19 15:54:35 -07:00
Johannes Zellner
c7958f8e1d
Remove unused /api/v1/subdomains/:subdomain
2016-05-06 14:51:02 +02:00
Girish Ramakrishnan
994cbaa22a
add event log in model code
2016-05-01 21:38:20 -07:00
Girish Ramakrishnan
43051cea3b
add app update event
2016-04-30 20:25:20 -07:00
Girish Ramakrishnan
90719cd4d9
do not store entire manifest
2016-04-30 14:28:59 -07:00
Girish Ramakrishnan
71219c6af7
add eventlog hooks
2016-04-30 14:05:19 -07:00
Girish Ramakrishnan
c511019d79
remove jslint hint
2016-04-30 11:53:46 -07:00
Girish Ramakrishnan
d2a3925e04
add altDomain to install route
2016-04-26 14:45:58 -07:00
Girish Ramakrishnan
a1e2cd438e
return altDomain in response
2016-04-25 10:52:12 -07:00
Girish Ramakrishnan
3d5aa9fd23
pass altDomain in configure route
2016-04-25 10:52:12 -07:00
Girish Ramakrishnan
5c1970b37f
Fix crash where portBindings is set to undefined
2016-04-15 21:27:42 -07:00
girish@cloudron.io
8b2903015d
list app backups from db
2016-03-08 08:57:28 -08:00
Johannes Zellner
aa693e529b
Only list apps where a user has access to
2016-02-25 12:20:11 +01:00
Johannes Zellner
cdce6e605d
Adjust to new apps api
2016-02-19 16:14:02 +01:00
Johannes Zellner
eab3bda8e1
Remove oauthProxy from the apps rest routes
2016-02-19 15:54:01 +01:00
Johannes Zellner
75d22d7988
Introduce memoryLimit to apps routes
2016-02-11 17:00:21 +01:00
Johannes Zellner
30618b8644
add missing argument
2016-01-19 14:03:01 +01:00
Johannes Zellner
e15bd89ba2
Add route to list application backups
2016-01-19 13:35:28 +01:00
girish@cloudron.io
7ef3d55cbf
add tty option to exec
2016-01-18 11:39:09 -08: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
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
5de3baffd4
send monotonic timestamp as well
2015-11-02 14:26:15 -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
a892de5c2d
Ensure cert and key are strings
2015-10-28 11:50:50 +01:00
Johannes Zellner
4ea3238391
Pass certs down to apps.configure
2015-10-27 16:36:09 +01:00
Johannes Zellner
fa12e7bd97
Add cert and key to app configure route
2015-10-27 15:44:47 +01:00
Johannes Zellner
fa193276c9
Require exactly one user in accessRestriction for singleUser app installations
2015-10-16 20:01:45 +02:00