Jonathan Leibiusky @xetorthio
86a0f7d1e9
Refactor id generator to it's own package
2017-09-14 10:20:20 -03:00
Jonathan Leibiusky @xetorthio
d566e5ee05
Reimplement the scheduler to be a lot more reliable
2017-09-13 19:21:06 -03:00
Marcos Lilljedahl
6eacb85fc3
Add missing pieces due to rebase
2017-09-12 17:17:19 -03:00
Marcos Lilljedahl
ddcf5cf7bc
Update windows provisioner
2017-09-12 16:59:57 -03:00
Jonathan Leibiusky @xetorthio
954c52471b
Refactor storage to support shallow types.
...
Add Client to storage.
Fix client resizing issues.
2017-09-01 20:12:19 -03:00
Jonathan Leibiusky @xetorthio
438fe9f6e7
Add SessionProvisioner and InstanceProvisionerFactory
...
Remove AllowedImages and IsDockerHost as it is not really being used for
anything useful
2017-08-24 15:36:59 -03:00
Jonathan Leibiusky @xetorthio
7495f27f64
Change wiring
2017-08-10 12:13:18 -03:00
Marcos Lilljedahl
cbe5ede847
Refactor bootstrap so it's decoupled from main function
2017-08-08 10:38:01 -03:00
Marcos Lilljedahl
8afb922f6d
Move handler initialization into the handlers package so it can be
...
reused
2017-08-07 17:44:25 -03:00
Jonathan Leibiusky @xetorthio
4731d8ec98
Event refactor
2017-07-18 10:45:05 -03:00
Jonathan Leibiusky @xetorthio
d18b11ebd4
Add l2 implementation
2017-07-11 15:05:21 -03:00
Jonathan Leibiusky @xetorthio
f7253a79cd
WIP
2017-06-22 17:34:24 -03:00
Jonathan Leibiusky @xetorthio
cd6d172cfa
WIP
2017-06-22 09:17:46 -03:00
Jonathan Leibiusky @xetorthio
755e3c7707
Add ssh proxy
2017-06-19 12:00:29 -03:00
Jonathan Leibiusky @xetorthio
f14e3a137d
Merge branch 'no_tests' into jonas_master
2017-06-07 10:20:14 -03:00
Jonathan Leibiusky @xetorthio
6d992b5d02
Add session templates
2017-06-06 14:48:26 -03:00
Marcos Lilljedahl
af197ce7c5
Add timeouts to http server
2017-06-02 16:16:45 -03:00
Jonathan Leibiusky @xetorthio
3d96760a98
WIP
2017-05-23 19:29:36 -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
a6c19e451f
Remove duplicated regex and unused function
2017-05-15 14:30:42 -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 Lilljedahl
75f3c93612
Add TCP proxy for tcp over http connections
2017-03-30 16:49:03 -03:00
Marcos Lilljedahl
712f019ffb
Resolve localhost
2017-03-15 18:16:36 -03:00
Jonathan Leibiusky @xetorthio
5f647d7fba
Make PWD dns recursive
2017-02-24 11:52:42 -03:00
Jonathan Leibiusky @xetorthio
b6e44d93bc
Also listen our dns server on tcp, so when we fail on udp and client retries on tcp, we also fail fast.
2017-02-24 10:54:15 -03:00
Jonathan Leibiusky @xetorthio
b44fb3d7bd
Instead of returning a nice error, just close the connection as it seems
...
libnetwork doesn't handle RcodeServerFailure, and when receiving it it
won't try the next configured DNSs
2017-02-24 09:55:08 -03:00
Marcos Lilljedahl
d1772aebe9
Add cors only to routes that need it
2017-02-20 14:24:53 -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
1d37f98efd
Add content-type in CORS allowed headers for microsoft edge to work =S
2017-01-25 22:31:45 -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
70eaf37d4b
Add metrics ( #70 )
...
* Add prometheus support to count sessions, instances and clientes over
time
* Track counters on server reload
* Change to gauges
2016-12-15 17:12:17 -08:00
Alex Ellis
5eda323477
Enable use of override for session timeout in hours, fix captcha bypass bug. ( #51 )
...
* - Enable use of override for session timeout. This is more useful than having to hard-code and rebuild the code for the previous 4 hour limit. Just set environmental variable and start the app.
- Future work may involve breaking down into minutes, but this is a good minimum delivery to provide value to end-user/developer.
- Fixes bug in Captcha code by introducing new landing page. This is not a new go template, it's a separate HTML file because SRP - single reponsibility principle. Happy for this to be refacted after merging commit.
- Fix for including Docker 1.12 override has been removed for later PR.
* Merge
* Reinstate 'material' JS include'
* https for JS includes
* HTTPs for JS in bypass
2016-11-30 20:17:18 +02:00
Jonathan Leibiusky @xetorthio
6af6f42721
Make regex more restrictive to allow the proxy to be more deterministic.
...
Make it to not depend on a specific TLD.
2016-11-23 11:52:59 -03:00
Jonathan Leibiusky @xetorthio
b4ce06fa20
Reuse the same proxy handler
2016-11-23 11:52:59 -03: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