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 contains what JupyterHub need to dynamically configure the routes of a traefik proxy server! There are three implementations of the JupyterHub proxy API, depending on how traefik store its routing configuration.

For smaller, single-node deployments:

  • TraefikFileProviderProxy

For distributed setups:

  • TraefikEtcdProxy
  • TraefikConsulProxy

Installation

The documentation contains a complete installation guide with examples for the three different implementations.

Running tests

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, so that the v3 API to be used, e.g.:

$ export ETCDCTL_API=3

You can then run the all the test suite from the traefik-proxy directory with:

$ pytest -v ./tests

Or you can run a specific test file with:

$ pytest -v ./tests/<test-file-name>

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-1.0.0b2.tar.gz (33.4 kB view hashes)

Uploaded Source

Built Distribution

jupyterhub_traefik_proxy-1.0.0b2-py3-none-any.whl (32.0 kB view hashes)

Uploaded Python 3

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