Girish Ramakrishnan
a01dea3932
Allow installing from a backup
2017-04-11 13:06:39 -07:00
Johannes Zellner
979b903bf2
Add cnameTarget for apps using an external domain
...
We have 4 properties related to the domain:
1) location, is the subdomain location without information how to craft
a fqdn on the client
2) fqdn, the intended domain to reach the app
3) altDomain, just the value for the external domain, merely a db record
value
4) cnameTarget, mostly for display purpose on the client, which
otherwise has no way to build the original cloudron local fqdn
2017-03-09 15:11:27 +01:00
Girish Ramakrishnan
9692aa3c08
Better error handling of unpurchase errors
2017-02-08 18:55:41 -08:00
Girish Ramakrishnan
472020f90c
APPICONS_DIR -> APP_ICONS_DIR
2017-01-24 10:13:25 -08:00
Girish Ramakrishnan
db6474ef2a
Merge readonlyRootfs and development mode into debug mode
...
The core issue we want to solve is to debug a running app.
Let's make it explicit that it is in debugging mode because
functions like update/backup/restore don't work.
Part of #171
2017-01-20 09:29:32 -08:00
Girish Ramakrishnan
12ee7b9521
send readonly and dev mode fields
2017-01-19 19:01:29 -08:00
Girish Ramakrishnan
a71323f8b3
Add developmentMode flag to appdb
...
Part of #171
2017-01-19 15:57:24 -08:00
Girish Ramakrishnan
7ef6bd0d3f
Add readonlyRootfs flag to apps table
...
When turned off, it will put the app in a writable rootfs. This
allows us to debug live/production apps (like change start.sh) and
just get them up and running. Once turned off, this app cannot be
updated anymore (unless the force flag is set). This way we can
then update it using the CLI if we are convinced that the upcoming
update fixes the problem.
Part of #171
2017-01-19 11:55:25 -08:00
Johannes
a87831b48c
Include sso field in the app object delivered over the rest api
2016-11-22 11:12:46 +01:00
Girish Ramakrishnan
94037e5266
remove oauth proxy backend logic
2016-11-19 17:13:08 +05:30
Girish Ramakrishnan
f5ebb782c0
remove support for singleUser
2016-11-19 17:12:31 +05:30
Girish Ramakrishnan
9c0f2175f7
add sso route parameter to app install
...
presumably, we don't allow this to be changed post installation
2016-11-19 17:11:46 +05:30
Girish Ramakrishnan
b66ba0a2c7
take oauthProxy parameter in install and configure routes
...
part of #6
2016-09-06 23:43:27 -07:00
Girish Ramakrishnan
408dd61408
Send and receive oauthProxy in REST routes
...
Part of #6
2016-09-06 23:32:42 -07:00
Girish Ramakrishnan
0e9007e9ef
fix debug
2016-07-27 20:11:45 -07:00
Johannes Zellner
0d5d54d2d8
Add xFrameOptions to apps and routes
2016-07-14 16:28:59 +02:00
Girish Ramakrishnan
7009b9f3ac
implement clone
2016-06-17 17:45:14 -05:00
Girish Ramakrishnan
53cd45496b
parse the response
2016-06-13 18:28:51 -07:00
Girish Ramakrishnan
1763c36a0b
restore from the backup's config.json
...
To summarize what we are doing is that restore is simply getting old data and
old code. Config is not changed. If config is required, then it has to come
in the restore REST parameter. Otherwise, there is too much magic.
https://blog.smartserver.io/2016/06/13/app-restore/
2016-06-13 16:54:59 -07:00
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