Commit Graph

155 Commits

Author SHA1 Message Date
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
Johannes Zellner
373db25077 Make accessRestriction a JSON format to prepare for group access control 2015-10-16 15:32:19 +02:00
Johannes Zellner
f8c2ebe61a Taks accessRestriction and oauthProxy into account for an update through the cli 2015-10-16 14:50:00 +02:00
Johannes Zellner
ae23fade1e Show oauthProxy and accessRestriction values at app installation and configuration 2015-10-16 14:50:00 +02:00