0mar
3eccf7abdd
Changed scopes from list to set and made filters additive
2020-12-14 17:39:06 +01:00
0mar
16657e0c88
Integrated scopes with roles
2020-12-09 17:34:33 +01:00
Ivana
f9a3eec147
Merge branch 'rbac' into implementing-default-roles
2020-12-08 08:41:04 +01:00
Min RK
6fc3dc4c01
Merge master into rbac
2020-12-02 11:28:53 +01:00
Min RK
7e469f911d
fix and test TOTAL_USERS count
...
Don't assume UserDict contains all users
which assumption led to double-counting when a user in the db was loaded into the dict cache
2020-11-30 13:27:52 +01:00
Min RK
28fdbeb0c0
update back pre-commit hook
...
specify minimum target_version as py36
results in some churn
2020-11-30 10:13:10 +01:00
Min RK
2e043241fb
Merge pull request #3261 from minrk/next-append-query
...
Only preserve params when ?next= is unspecified
2020-11-20 09:47:20 +01:00
Min RK
8b19413fa1
Merge pull request #3242 from consideRatio/pr/py36-async-await
...
Assume py36 and remove @gen.coroutine etc.
2020-11-20 09:31:43 +01:00
IvanaH8
c0cadc384d
adding roles to tokens
2020-11-19 08:22:52 +01:00
Min RK
87e4f458fb
only preserve params when ?next= is not specified
2020-11-17 11:58:28 +01:00
YuviPanda
19935254a7
Fix pre-commit errors
2020-11-17 15:58:38 +05:30
YuviPanda
74544009ca
Remove extreneous print statement
...
Was a debugging aid
2020-11-17 15:41:22 +05:30
YuviPanda
24b555185a
Revert "Run templates synchronously for Python 3.5"
...
This reverts commit f1155d6c2afbcbd875c7addc88784313c77da8e9.
Instead, let's stop supporting 3.5!
2020-11-17 15:39:26 +05:30
YuviPanda
24f4b7b6b6
Run templates synchronously for Python 3.5
...
jinja2's async support requires Python 3.6+. That should
be an implementation detail - so we render it in the main
thread (current behavior) but pretend we did not
2020-11-17 15:39:26 +05:30
YuviPanda
217dffa845
Fix typo in format string
2020-11-17 15:39:26 +05:30
YuviPanda
a7b796fa57
Autoformat with black
2020-11-17 15:39:21 +05:30
YuviPanda
6c5fb5fe97
F-strings are Python 3.6, not 3.5
2020-11-17 15:38:29 +05:30
Yuvi Panda
20ea322e25
Fix typo
...
Co-authored-by: Tim Head <betatim@gmail.com >
2020-11-17 15:38:29 +05:30
YuviPanda
4f9664cfe2
Provide sync versions of render_template too
...
write_error is a synchronous method called by an async
method from inside the event loop. This means we can't just
schedule an async render_templates in the same loop and wait
for it - that would deadlock.
jinja2 compiled your code differently based on wether you
enable async support or not. Templates compiled with async
support can't be used in cases like ours, where we already
have an event loop running and calling a sync function. So
we maintain two almost identical jinja2 environments
2020-11-17 15:38:29 +05:30
YuviPanda
be211a48ef
Enable async jinja2 template rendering
...
Follows https://jinja.palletsprojects.com/en/2.11.x/api/#async-support
- This blocks the main thread fewer times
- We can use async methods inside templates too
2020-11-17 15:38:29 +05:30
Erik Sundell
4a17441e5a
Replace gen.sleep with asyncio.sleep
2020-11-11 14:40:59 +01:00
0mar
154edebbf4
Added scope utilities and tests for them
2020-11-05 15:40:00 +01:00
0mar
422fbf8dcc
Fixed scoping and authentication
2020-10-30 15:07:10 +01:00
0mar
21ea4ad2b6
Implemented mock scopes
2020-10-28 16:23:21 +01:00
Erik Sundell
4cbc0bad34
Merge branch 'master' into remove-unused-imports
2020-10-01 12:07:37 +02:00
Min RK
998c18df42
Merge pull request #3133 from ideonate/master
...
Allow JupyterHub.default_url to be a callable
2020-09-08 16:36:52 +02:00
Dan Lester
76ed65ed82
default_url takes handler object instead of user
2020-08-31 18:36:57 +01:00
Rollin Thomas
80f4edcd20
Omit service if it is not OK to display
2020-08-26 18:57:17 -07:00
yhal-nesi
f988a4939e
Update jupyterhub/handlers/base.py
...
Ah makes sense, I was wandering why the tests fail.
Co-authored-by: Georgiana Elena <georgiana.dolocan@gmail.com >
2020-08-22 08:47:15 +12:00
Yuriy Halytskyy
60ee2bfc35
update prometheus metrics for server spawn when it fails with exception
2020-08-20 08:18:39 +12:00
Dan Lester
d915cc3ff2
Allow JupyterHub.default_url to be a callable based on user
2020-08-05 11:59:25 +01:00
Matt Riedemann
7e205a9751
Don't log a warning when slow_spawn_timeout is disabled
...
When using the `KubeSpawner` it is typical to disable the
`slow_spawn_timeout` by setting it to 0. `zero-to-jupyterhub-k8s`
does this by default [1]. However, this causes an immediate `TimeoutError`
which gets logged as a warning like this:
>User hub-stress-test-123 is slow to start (timeout=0)
This avoids the warning by checking the value and if disabled simply
returns without logging the warning.
[1] https://github.com/jupyterhub/zero-to-jupyterhub-k8s/commit/b4738edc5
Closes #3126
2020-07-23 16:09:19 -05:00
Matt Riedemann
d5a0202106
Log slow_stop_timeout when hit like slow_spawn_timeout
...
When `slow_spawn_timeout` is hit the configured timeout value
gets logged [1]. This does the same thing when `slow_stop_timeout`
is hit.
[1] https://github.com/jupyterhub/jupyterhub/blob/1.1.0/jupyterhub/handlers/base.py#L947
2020-07-10 11:38:26 -05:00
Katherine Xiao
608cad6404
fix in base.py
2020-07-06 12:53:50 -07:00
Min RK
76c9111d80
Merge pull request #3089 from kinow/redirect-with-parameters
2020-06-25 11:08:17 +02:00
Bruno P. Kinoshita
946ed844c5
Update jupyterhub/handlers/base.py
...
Co-authored-by: Min RK <benjaminrk@gmail.com >
2020-06-25 19:41:46 +12:00
Bruno P. Kinoshita
73f1211286
Update append_query_parameters to have exclude=["none"] by default,
...
and avoid using dicts with url_concat, to have consistent tests
as otherwise in Python 3.5 the generated URL's could have parameters
in random order.
2020-06-23 22:06:57 +12:00
Bruno P. Kinoshita
14378f4cc2
Include the query string parameters when redirecting to a new URL
2020-06-17 22:37:20 +12:00
Min RK
aba55cc093
implement UserDict.get
...
behaves more like one would expect (same as try get-key, except: return default)
without relying on cache presence or underlying key type (integer only)
2020-06-11 10:32:55 +02:00
Steffen Vogel
e93cc83d58
remove unused imports
2020-04-16 12:12:22 +02:00
Min RK
436757dd55
handle implicit spawn with a javascript redirect
...
less dangerous than using a Location redirect, so remove conflicts
delay is a user-configurable timer (0 = no implicit spawn, default)
2020-02-20 12:43:39 +01:00
Min RK
a0b6d8ec6f
add allow_implicit_spawn setting
...
- warn that there are known issues associated with enabling it
- it is inherently incompatible with named servers
2020-02-20 12:12:55 +01:00
Min RK
159b3553a9
Merge pull request #2881 from minrk/auth-state-earlier
...
trigger auth_state_hook prior to options form, add auth_state to template namespace
2020-01-17 12:35:33 +01:00
Min RK
b80906b8c8
make auth_state available to page templates
2020-01-17 10:55:07 +01:00
William Krinsman
794be0de8e
Fix implementation of default server name
2020-01-14 10:02:50 -08:00
Min RK
dc049a88eb
Merge pull request #2763 from rcthomas/link-services
...
Link services
2019-12-03 10:08:59 +01:00
Georgiana Elena
9990100f89
Merge pull request #2788 from rajat404/master
...
Add prometheus metric to measure proxy route deletion times
2019-10-30 16:49:06 +02:00
YuviPanda
9d5784efb9
Pass in base_url rather than app object
...
- Limits what we consider public API
- Still allows for redirects outside JupyterHub
2019-10-24 09:01:23 -07:00
YuviPanda
d66f0635a3
Add path and app as parameters
2019-10-22 11:27:41 -07:00
Min RK
244ad7d38c
run black
2019-10-22 09:23:04 +02:00