JupyterHub proxy implementation with traefik
Project description
JupyterHub Traefik Proxy
When JupyterHub starts a server for a user, it will dynamically configure a
proxy server so that accessing jupyterhub.example.com/user/<user>
routes to
the individual Jupyter server.
This project enables JupyterHub to dynamically configure the routes of a traefik proxy server!
There are two main implementations of the JupyterHub proxy API, depending on how traefik stores its routing configuration.
For smaller, single-node deployments:
- TraefikFileProviderProxy
For distributed setups:
- TraefikRedisProxy
Other implementations are maintained on a best-effort basis due to a lack of well-maintained Python clients:
- TraefikEtcdProxy
- TraefikConsulProxy
Installation
The documentation contains a complete installation guide with examples for all implementations, including the recommended TraefikRedisProxy.
Running tests
You can then run the all the test suite from the traefik-proxy directory with:
$ pytest
Or you can run a specific test file with:
$ pytest tests/<test-file-name>
There are some tests that use etcdctl command line client for etcd. Make sure
to set environment variable ETCDCTL_API=3
before running the tests if etcd
version 3.3 or older is used, so that the v3 API to be used, e.g.:
$ export ETCDCTL_API=3
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for jupyterhub_traefik_proxy-2.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52e83462d85d0dd416de7031b01380171bac5beab95159a5fccae085b1801dd6 |
|
MD5 | 36da0c61e1146bfe5743cbeba59fa88f |
|
BLAKE2b-256 | 3f40832d0b2b737eb5ebf6dd2c5fe1cf18c5ae6b0878d39b9eaf2579f9ee60ee |
Hashes for jupyterhub_traefik_proxy-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65e4df32ce350e502d47f0f5d57bff567786c64846a6640b4c9902abc952b4a5 |
|
MD5 | 0b9f4a5efbb237ec6242e722424aaf1a |
|
BLAKE2b-256 | dbb727f0afef148d11cdf9b1e8a12f73580b3a16ebd9b9920642457731cea4b7 |