Skip to main content

JupyterHub proxy implementation with traefik

Project description

JupyterHub Traefik Proxy

Documentation build status GitHub Workflow Status Latest PyPI version GitHub Discourse Gitter

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyterhub_traefik_proxy-2.0.0.tar.gz (42.2 kB view details)

Uploaded Source

Built Distribution

jupyterhub_traefik_proxy-2.0.0-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file jupyterhub_traefik_proxy-2.0.0.tar.gz.

File metadata

File hashes

Hashes for jupyterhub_traefik_proxy-2.0.0.tar.gz
Algorithm Hash digest
SHA256 52e83462d85d0dd416de7031b01380171bac5beab95159a5fccae085b1801dd6
MD5 36da0c61e1146bfe5743cbeba59fa88f
BLAKE2b-256 3f40832d0b2b737eb5ebf6dd2c5fe1cf18c5ae6b0878d39b9eaf2579f9ee60ee

See more details on using hashes here.

File details

Details for the file jupyterhub_traefik_proxy-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterhub_traefik_proxy-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65e4df32ce350e502d47f0f5d57bff567786c64846a6640b4c9902abc952b4a5
MD5 0b9f4a5efbb237ec6242e722424aaf1a
BLAKE2b-256 dbb727f0afef148d11cdf9b1e8a12f73580b3a16ebd9b9920642457731cea4b7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page