Jonathan Leibiusky @xetorthio
c25b06936e
Merge branch 'jonas_master' into refactor_test_1
2017-05-24 10:00:03 -03:00
Jonathan Leibiusky @xetorthio
3d96760a98
WIP
2017-05-23 19:29:36 -03:00
Marcos Nils
bccc87e0d9
Merge pull request #8 from xetorthio/stack_name
...
Allow to specify stack name as a parameter
2017-05-19 17:32:15 -03:00
Jonathan Leibiusky @xetorthio
55062234fd
Allow to specify stack name as a parameter
2017-05-19 10:42:30 -03:00
Jonathan Leibiusky @xetorthio
a703f22997
Fixes #145
2017-05-19 10:16:00 -03:00
Jonathan Leibiusky @xetorthio
637b014931
Allow external stacks.
...
Also default to `stack.yml` if file was not specified.
2017-05-18 13:16:34 -03:00
Jonathan Leibiusky @xetorthio
1634200ef7
UI modifications for stack creation
2017-05-16 17:37:34 -03:00
Marcos Lilljedahl
31823109a5
Move stack creation when starting session
...
- If stack is not found return 400 status code
2017-05-16 14:09:15 -03:00
Marcos Lilljedahl
5dd56a2886
Deploy stack automatically when supplied
2017-05-15 16:09:13 -03:00
Marcos Lilljedahl
a6c19e451f
Remove duplicated regex and unused function
2017-05-15 14:30:42 -03:00
Jonathan Leibiusky @xetorthio
aa02432c56
Fix bugs introduced mainly to docker-machine driver when we added TLS proxy
2017-05-13 11:12:37 -03:00
Marcos Lilljedahl
46bbd3b074
Fix missing spots due to host url change
2017-05-12 17:25:45 -03:00
Marcos Lilljedahl
88107bf576
Merge branch 'mikesir87-128-replace-underscores-in-urls'
2017-05-12 16:26:03 -03:00
Jonathan Leibiusky
8df6373327
HTTPS and File Uploads ( #139 )
...
* Add a few fixes
* Use CopyToContainer instead of bind mounts
* Remove a local compose file
* Changes according to the comments
* Rebase with master
2017-05-12 16:20:09 -03:00
Marcos Nils
61a0bb4db1
Add support for setting alias when creatign instance. ( #140 )
...
* Add support for setting alias when creatign instance.
The POST to create a instance now provides an `alias` field which
then can be used to access the instance services through the following
URL:
`http://<alias>-<short_session>-<port>.<tld>`
When creating a session you can now send an `alias`
* Remove unnecessary function
* Add alias support for DNS resolution
2017-05-11 17:39:17 -03:00
Marcos Nils
62c5d3761d
Add support for setting stacks when creating session ( #138 )
...
* Add support for setting stacks when creating session
* Add exec endpoint and move dns stuff to another package
* Rename command and status code
2017-05-11 10:34:16 -03:00
Jonathan Leibiusky @xetorthio
24f8c9fc62
Change import statements accordingly
2017-05-08 15:35:42 -03:00
Michael Irwin
e31dc8cfaa
Replaced all uses of underscore in proxy URLs with dashes
...
Issue #128
2017-04-26 00:10:35 -04:00
Michael Irwin
38c97cf100
Added API endpoint to get available instance images
2017-04-11 16:57:29 -04:00
Marcos Nils
c511737136
Allow to specify image new when creating instances ( #84 )
2017-04-11 14:01:15 -03:00
Marcos Lilljedahl
c4be25076d
Remove unnecesary proxy
2017-03-30 18:50:10 -03:00
Marcos Lilljedahl
75f3c93612
Add TCP proxy for tcp over http connections
2017-03-30 16:49:03 -03:00
Marcos Lilljedahl
2c7af720c0
Increase cookie time
2017-03-14 14:59:06 -03:00
Marcos Lilljedahl
a875bbe23e
Add cookie to prevent captcha constantly
2017-03-14 14:08:46 -03:00
Jonathan Leibiusky @xetorthio
0770eb689b
Add some logging to the proxy
2017-03-13 18:23:36 -03:00
Marcos Nils
a4b0a98df3
Scaling ( #109 )
...
Make PWD scalable
2017-03-13 18:07:20 -03:00
Marcos Lilljedahl
0df09bebdb
Allow to send subdomains but forward header as is to backends
2017-02-17 13:58:53 -03:00
Marcos Lilljedahl
9e57f3b61c
Allow to override target host header using subdomains
2017-02-17 12:53:16 -03:00
Jonathan Leibiusky
f816be6f69
Add DNS support for PWD instances ( #94 )
...
* Add DNS support for PWD instances
* Store IP address of PWD in all session networks and restore it with the
same IP address
* Remove unnecesary print
* Change url format to pwd<ip>-port for better DNS filtering
* Make PWD listen on 80 and 443 for DNS resolve to work
2017-02-17 11:10:01 -03:00
Jonathan Leibiusky @xetorthio
9c4df837a8
Add support for websocket proxying
2017-02-14 15:41:03 -03:00
Marcos Nils
640d64c3aa
Update proxy to handle port redirects ( #92 )
2017-02-12 02:25:25 +02:00
Marcos Lilljedahl
c0bafc5f3b
Allow to access insecure https exposed services through proxy
2017-02-01 16:40:45 -03:00
Marcos Nils
a5d1e5c207
Allow to override session timeout. ( #86 )
...
* Allow to override session timeout.
This comes useful as it can be overriden from the SDK now
* Fix comments
2017-01-31 13:51:57 +02:00
Marcos Lilljedahl
51d19839bf
Add transport to avoid connection re-use
2017-01-19 13:20:10 -03:00
Marcos Lilljedahl
f2fe0e3137
Configure CORS correctly
2017-01-13 20:40:14 -03:00
Marcos Lilljedahl
4616cb1f5d
Add CORS handlers to support SDK
2017-01-13 19:29:39 -03:00
Marcos Lilljedahl
c1cfc7958a
Revert "Add CORS to create session and make it return text plain session ID"
...
This reverts commit c81a712a28 .
2017-01-13 19:27:07 -03:00
Marcos Lilljedahl
c81a712a28
Add CORS to create session and make it return text plain session ID
2017-01-13 19:23:41 -03:00
Marcos Nils
dea778440e
Add TLS certificates for machine drivers ( #73 )
2016-12-27 18:53:50 +02:00
Jonathan Leibiusky @xetorthio
122118b9df
Allow to specify port, and remove session id.
...
So now the way to address a node is in the form of:
`ip10_0_1_9-9200.play-with-docker.com`
2016-11-23 11:52:59 -03:00
Jonathan Leibiusky @xetorthio
ec9d34ffda
Add reverse proxy endpoint.
...
It works by using the Host of the request. When it receives something in
the form of: `<node>.<session>.play-with-docker.com` it does a reverse
proxy http request to `node`, validating that the `node` actually belongs
to the `session`.
If the node has a prefix `ip` and continues with a valid IP address
where the dots where replaces by underscores (like `ip10_0_0_1`) then it
will remove the `ip` prefix and and replace the underscores by dots, and
assume it is an ip address.
2016-11-23 11:52:59 -03:00
Jonathan Leibiusky @xetorthio
af9986c0f8
Validates that user is a human.
...
Add google recaptcha as an initial page before creating any session.
To configure recaptcha there are 2 environment variables that are needed
`GOOGLE_RECAPTCHA_SITE_KEY` and `GOOGLE_RECAPTCHA_SITE_SECRET`.
The code contains development defaults that should be set in production
to real values.
**NOTICE: Development defaults assume that the domain is `localhost`**
2016-11-15 16:53:44 -03:00
Marcos Lilljedahl
e8d69d6a21
Fix session config for docker image
2016-11-14 22:08:53 -03:00
Marcos Lilljedahl
2450d53eeb
Avoid app crash if WS handler panics
2016-11-13 21:56:19 -03:00
Jonathan Leibiusky (@xetorthio)
d05fe56fea
Better session lock management
2016-11-11 20:10:19 -03:00
Jonathan Leibiusky (@xetorthio)
8e4981d24f
Huge refactor to have everything working with socket.io
...
It fixes lots of bugs, can fallback to long polling, resize viewport of
terminals and share clients state of the session, so they all see the
same thing.
2016-11-10 10:42:08 -03:00
Marcos Lilljedahl
9b6991f130
Try to encode to UTF-8 or just discard characters
...
Fixes #10
2016-10-19 00:38:05 -03:00
Marcos Lilljedahl
a56af3dc22
Refactor sessions and add locking to avoid concurrent requests to create
...
more instances
2016-10-14 12:54:25 -03:00
Marcos Lilljedahl
2e9637b181
Remove stdout if session creator throws an error
2016-10-12 22:46:36 -03:00
Marcos Lilljedahl
97f39ca375
Remove writer if websocket disconnects
2016-10-08 15:04:30 +02:00