Commit Graph

100 Commits

Author SHA1 Message Date
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
Min RK
335b47d7c1 include protocol in subdomain_host
makes everything easier, and tests are passing with and without subdomains (yay!)
2016-02-28 11:12:41 +01:00
Min RK
79df83f0d3 Allow getting users by name 2016-02-26 17:32:55 +01:00
Min RK
b54bfad8c2 [WIP]: allow running single-user servers on subdomains
relies on CHP's host-based routing (a feature I didn't add!)

requires wildcard DNS and wildcard SSL for a proper setup

still lots to workout and cleanup in terms of cookies and where to use host, domain, path, but it works locally.
2016-02-26 17:32:54 +01:00
Min RK
724bf7c4ce Merge pull request #441 from jupyter/revert-440-master
Revert "Do not consider `@` character url-safe"
2016-02-26 09:06:46 +01:00
Min RK
e74934cb17 avoid calling Spawner.poll during Spawner.start
moves `spawn_pending` flag to only around start, not the HTTP wait.

Some Spawners may not know how to poll until start has finished (DockerSpawner).
Let's not require that they do.
2016-02-25 10:13:51 +01:00
Min RK
450281a90a Revert "Do not consider @ character url-safe" 2016-02-25 09:04:25 +01:00
Jonathon Anderson
fc49aac02b Do not consider `@' character url-safe
Usernames that have an `@'-separated domain component
break JupyterHub when the server expects to see query
strings that contain an `@', when browsers and other
clients send `%40'.
2016-02-24 16:48:23 -07:00
Min RK
cc4c65bd0b fix possible loss of port info due to mixed db sessions 2016-01-25 14:28:54 +01:00
Min RK
4534bea86e delete users via UserDict API
avoids reusing user IDs when user creation fails
2016-01-06 15:14:28 +01:00
Min RK
41ea696546 Instantiate Spawner on User init
shrinks `User.spawn` to take single argument, grants User more direct access to state.
2015-12-30 13:55:36 +01:00
Min RK
ba634354dd Add Spawner form
If Spawner.options_form is specified, a form providing input controls is shown to the user prior to launch.

Spawners access the result via the `self.user_options` dict.

The default spawners offer no form.
2015-12-30 13:55:01 +01:00
Min RK
1eed96193d import base traitlets
missed IPython.utils.traitlets import from old User PR
2015-12-24 12:25:43 +01:00
Min RK
6f128758db move non-persisted User objects (spawner-related) off of orm.User
adds higher level User object, which handles spawning.
This object has running, spawner, etc. attributes.
2015-11-30 14:05:00 +01:00