Min RK
31fc89c944
add RouteSpec namedtuple for route specification
...
namedtuple(path, host)
everywhere that accepts a RouteSpec must also accept a string
and treat it as RouteSpec(string).
RouteSpec.as_routespec(spec_or_string) handles this.
2017-06-23 14:12:30 +02:00
Min RK
5263e4ceae
user.state is keyed by server name
2017-06-21 16:52:54 +02:00
Min RK
5da4348c2d
move some state to Spawner
...
now that there are more than one per user
2017-06-21 16:33:16 +02:00
Min RK
e33e34748f
Re-sync with master
2017-06-21 15:33:01 +02:00
Min RK
8704deeb31
ensure db.commit happens before yield
2017-06-14 21:19:38 +02:00
Min RK
1069799ea7
get rid of single-user cookie_name
...
it's unused now that single-user uses OAuth
2017-05-04 12:20:02 +02:00
Min RK
5e55753baa
various cleanup to get most tests passing (yay!)
2017-05-04 12:16:47 +02:00
Min RK
be8f847309
move proxy management to Proxy object
...
out of the Application
2017-05-04 11:13:19 +02:00
Min RK
acc31b8441
remove Hub, Proxy from database
...
These are in-memory-only objects, no need for a table with one row
2017-05-04 11:05:58 +02:00
Christian Barra
2b2eefdd1f
catch KeyError for get_spawner
2017-04-19 14:58:43 +02:00
Christian Barra
db77932a95
moving track of spawner's instances inside user
2017-04-19 14:46:54 +02:00
Christian Barra
2aaf82412d
add a dict to save spawner's instances, fix user.server with server
2017-04-19 03:25:26 +02:00
Christian Barra
ced8e9f874
add named_servers proxy
2017-04-15 05:22:01 +03:00
Christian Barra
76b589bc90
fix named_servers, change server.base_url
2017-04-15 03:47:09 +03:00
Min RK
99369aa5a1
fix trailing -
in oauth-client-id for single-user servers with empty server_name
2017-04-05 15:53:49 +02:00
Min RK
ffd3c171fe
fix oauth url for SU servers with subdomains
...
and services without
2017-04-05 15:53:49 +02:00
Min RK
6d647b5387
use API token for oauth client secret
...
rather than a separate single-purpose secret
since we need the token anyway, use it for the secret handshake as well
2017-04-05 15:53:48 +02:00
Min RK
5e1516189b
allow oauth provider to be missing
...
mostly for testing
2017-03-31 16:15:00 +02:00
Min RK
4bb8e47f3b
implement admin-access with OAuth
2017-03-30 19:15:43 +02:00
Min RK
7e55220c3f
use OAuth in single-user server
2017-03-30 15:24:35 +02:00
Christian Barra
bfe1457897
fix after test fail
2017-03-17 01:53:04 +01:00
Christian Barra
f873b77a5f
correct self.allow_multiple_servers to self.allow_named_servers
2017-03-17 01:15:47 +01:00
Christian Barra
7a38a57397
remove unused imports and correct base_url
2017-02-24 00:37:41 +01:00
Christian Barra
4fdf405d77
add JupyterHub.allow_multiple_servers
2017-02-24 00:37:41 +01:00
Christian Barra
488706293f
pass server_name to the spawner
2017-02-24 00:37:41 +01:00
Christian Barra
9373325f1b
fix options error and base_url
2017-02-24 00:37:40 +01:00
Christian Barra
e151248ac2
fix server_name
2017-02-24 00:37:40 +01:00
Christian Barra
f4a7e28aa5
add default_server_name, change spawn start
2017-02-24 00:37:40 +01:00
Christian Barra
d682edd44f
use only the first 10 chars of server_url
2017-02-24 00:09:48 +01:00
Christian Barra
3524399984
fix some errors
2017-02-24 00:09:48 +01:00
Christian Barra
b127788100
add a new base for multi servers
2017-02-24 00:09:48 +01:00
Carol Willing
5c0b3f8b34
Add spacing for user.py
2017-02-08 22:36:56 -08:00
Christian Barra
d28036e173
fix docstrings
2017-01-11 12:27:30 +01:00
Christian Barra
b6e293c38e
update to the last jupyterhub version
2017-01-03 14:22:12 +01:00
Christian Barra
02090c953b
fix errors, remove pep8 corrections
2017-01-03 14:10:46 +01:00
Min RK
3b3bc8224b
comment review
2016-12-20 16:41:26 +01:00
Min RK
72ab8f99ec
Avoid cleaning up API tokens for Spawners that will resume
...
in which case the previous API token should be left alone.
2016-12-19 10:50:25 +01:00
Min RK
933478bfff
add waiting_for_response indicator on User
...
.spawn_pending used for the *whole* window, from request to responsive (added to proxy)
.waiting_for_response is just used for the window between Spawner.start returning (process started, http endpoint known) and http endpoint becoming responsive
.waiting_for_response will never be True while .spawn_pending is False
2016-10-07 10:59:05 +02:00
Ian Allison
625e76ea40
spawn_pending set too soon causing redirect loop
...
Signed-off-by: Ian Allison <iana@pims.math.ca >
2016-10-05 13:28:52 -07:00
Min RK
aad063e3cd
remove stopped users from proxy on startup
...
We already added running users, but we didn't handle removing users from the proxy
if the user's server was stopped (e.g. while the Hub was restarting).
2016-09-26 13:20:42 +02:00
Min RK
c3111b04bb
support services subdomain
...
- all services are on the 'services' domain, share the same cookie
2016-09-02 13:21:46 +02:00
Min RK
3159b61ae7
return (ip, port) from Spawner.start
...
removes the need for Spawners to set db state themselves in most cases
Should be backward-compatible with warnings.
2016-07-25 16:54:15 +02:00
Min RK
2eaecd22ba
cleanup servers, api tokens after spawner shutdown
...
prevents growing table of unused servers and tokens
2016-07-08 16:50:43 +02:00
Min RK
195eea55f3
log.warning
2016-03-29 09:22:32 -07:00
Min RK
7a2794af7c
use traitlets-4.1 observe/default decorators
2016-03-27 10:41:36 -07:00
Min RK
922956def2
allow user.url to be accessed without the server running
...
Reduces the number of different ways we need to build the same URLs.
2016-03-09 09:30:50 +01:00
Min RK
82643adfb6
stop_pending also counts as not running
2016-03-07 14:27:40 +01:00
Min RK
be5860822d
remove redundant use_subdomains
...
non-empty subdomain_host is enough
2016-03-04 11:11:41 +01:00
Min RK
f565f8ac53
Don't add users with spawn_pending to the proxy
...
check_routes checks for missing routes for running users.
This is meant for when the proxy has been relaunched outside the Hub.
If spawners are slow to start, it's possible for check_routes to fire in the middle of spawning,
triggering addition of the user's server (which has no defined location yet) to the proxy before it's up.
If the spawning fails, the route will remain indefinitely (because it never should have been added in the first place), and the user will see 503 until their server is launched manually again.
Checking `spawn_pending` in user.running prevents this.
2016-03-01 15:18:51 +01:00
Kyle Kelley
5ec05822f1
Merge pull request #436 from minrk/subdomains
...
allow running single-user servers on subdomains
2016-02-28 09:49:45 -06:00