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.1.0.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupyterhub_traefik_proxy-2.1.0-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jupyterhub_traefik_proxy-2.1.0.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for jupyterhub_traefik_proxy-2.1.0.tar.gz
Algorithm Hash digest
SHA256 b9ba2c4f120f9fc9c4ce6dc8340f216876ca94b00d3a74fb8213377edf0222f0
MD5 1f9918813d0338d727fcb11330a25363
BLAKE2b-256 beeaebef27612b355e2235811b52b0920273e432a22922fa16386f33ce6f0784

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jupyterhub_traefik_proxy-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b25a659bc56c0c9061c4646039184283e855cde42312ea3da39998a050a3c79
MD5 6620eec0de6ebd80b095ce9a688b9432
BLAKE2b-256 e74181ca4b891d72f77918595b96cc5a22c699332e7953ecfe43858c1840b3c2

See more details on using hashes here.

Supported by

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