Metadata-Version: 2.1
Name: jupyterhub-traefik-proxy
Version: 0.1.4
Summary: JupyterHub proxy implementation with traefik
Home-page: https://jupyterhub-traefik-proxy.readthedocs.io
Author: Project Jupyter Contributors
Author-email: jupyter@googlegroups.com
License: BSD
Project-URL: Documentation, https://jupyterhub-traefik-proxy.readthedocs.io
Project-URL: Source, https://github.com/jupyterhub/traefik-proxy/
Project-URL: Tracker, https://github.com/jupyter/traefik-proxy/issues
Keywords: jupyter jupyterhub traefik proxy
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: jupyterhub (>=0.9)
Requires-Dist: etcd3
Requires-Dist: aiohttp
Requires-Dist: python-consul
Requires-Dist: passlib
Requires-Dist: toml
Requires-Dist: escapism


# JupyterHub Traefik Proxy

[![Build Status](https://travis-ci.org/jupyterhub/traefik-proxy.svg?branch=master)](https://travis-ci.org/jupyterhub/traefik-proxy)
[![Documentation Status](https://readthedocs.org/projects/jupyterhub-traefik-proxy/badge/?version=latest)](https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/?badge=latest)

An implementation of the JupyterHub proxy api with [traefik](https://traefik.io): an extremely lightweight,
portable reverse proxy implementation, that supports load balancing and can configure itself automatically and dynamically.

There are three versions for the proxy, depending on how traefik stores the routes:

* for **smaller**, single-node deployments:
	* TraefikTomlProxy
* for **distributed** setups:
	* TraefikEtcdProxy
	* TraefikConsulProxy

## Instalation
You can find a complete installation guide [here](https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/install.html).


## Documentation
The latest documentation is available at: https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/.

## Running the 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 with:

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

## Example setups:
* For TraefikTomlProxy: https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/toml.html#example-setup
* For TraefikEtcdProxy: https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/etcd.html#example-setup
* For TraefikConsulProxy: https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/consul.html#example-setup

## JupyterHub configuration examples
You can use the configuration examples in the ```examples``` directory in order to configure JupyterHub to run with TraefikProxy.


