diff options
Diffstat (limited to 'python-jupyterhub-traefik-proxy.spec')
| -rw-r--r-- | python-jupyterhub-traefik-proxy.spec | 260 |
1 files changed, 260 insertions, 0 deletions
diff --git a/python-jupyterhub-traefik-proxy.spec b/python-jupyterhub-traefik-proxy.spec new file mode 100644 index 0000000..5dbc3bf --- /dev/null +++ b/python-jupyterhub-traefik-proxy.spec @@ -0,0 +1,260 @@ +%global _empty_manifest_terminate_build 0 +Name: python-jupyterhub-traefik-proxy +Version: 0.3.0 +Release: 1 +Summary: JupyterHub proxy implementation with traefik +License: BSD +URL: https://jupyterhub-traefik-proxy.readthedocs.io +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/72/35/985873e4ff479978242eeee0a1860d9465fadf9cfb5571ac4f7965ae38a6/jupyterhub-traefik-proxy-0.3.0.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp +Requires: python3-escapism +Requires: python3-jupyterhub +Requires: python3-passlib +Requires: python3-toml + +%description + +# JupyterHub Traefik Proxy + +[](https://jupyterhub-traefik-proxy.readthedocs.org/en/latest/) +[](https://github.com/jupyterhub/traefik-proxy/actions) +[](https://circleci.com/gh/jupyterhub/jupyterhub) +[](https://pypi.python.org/pypi/jupyterhub-traefik-proxy) +[](https://github.com/jupyterhub/traefik-proxy/issues) +[](https://discourse.jupyter.org/c/jupyterhub) +[](https://gitter.im/jupyterhub/jupyterhub) + +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](https://traefik.io) proxy +server! There are three implementations of the [JupyterHub proxy +API](https://jupyterhub.readthedocs.io/en/stable/reference/proxy.html), +depending on how traefik store its routing configuration. + +For **smaller**, single-node deployments: + +* TraefikTomlProxy + +For **distributed** setups: + +* TraefikEtcdProxy +* TraefikConsulProxy + +## Installation +The [documentation](https://jupyterhub-traefik-proxy.readthedocs.io) contains a +[complete installation +guide](https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/install.html) +with examples for the three different implementations. + +* [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) + + +## 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> +``` + + + + +%package -n python3-jupyterhub-traefik-proxy +Summary: JupyterHub proxy implementation with traefik +Provides: python-jupyterhub-traefik-proxy +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-jupyterhub-traefik-proxy + +# JupyterHub Traefik Proxy + +[](https://jupyterhub-traefik-proxy.readthedocs.org/en/latest/) +[](https://github.com/jupyterhub/traefik-proxy/actions) +[](https://circleci.com/gh/jupyterhub/jupyterhub) +[](https://pypi.python.org/pypi/jupyterhub-traefik-proxy) +[](https://github.com/jupyterhub/traefik-proxy/issues) +[](https://discourse.jupyter.org/c/jupyterhub) +[](https://gitter.im/jupyterhub/jupyterhub) + +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](https://traefik.io) proxy +server! There are three implementations of the [JupyterHub proxy +API](https://jupyterhub.readthedocs.io/en/stable/reference/proxy.html), +depending on how traefik store its routing configuration. + +For **smaller**, single-node deployments: + +* TraefikTomlProxy + +For **distributed** setups: + +* TraefikEtcdProxy +* TraefikConsulProxy + +## Installation +The [documentation](https://jupyterhub-traefik-proxy.readthedocs.io) contains a +[complete installation +guide](https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/install.html) +with examples for the three different implementations. + +* [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) + + +## 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> +``` + + + + +%package help +Summary: Development documents and examples for jupyterhub-traefik-proxy +Provides: python3-jupyterhub-traefik-proxy-doc +%description help + +# JupyterHub Traefik Proxy + +[](https://jupyterhub-traefik-proxy.readthedocs.org/en/latest/) +[](https://github.com/jupyterhub/traefik-proxy/actions) +[](https://circleci.com/gh/jupyterhub/jupyterhub) +[](https://pypi.python.org/pypi/jupyterhub-traefik-proxy) +[](https://github.com/jupyterhub/traefik-proxy/issues) +[](https://discourse.jupyter.org/c/jupyterhub) +[](https://gitter.im/jupyterhub/jupyterhub) + +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](https://traefik.io) proxy +server! There are three implementations of the [JupyterHub proxy +API](https://jupyterhub.readthedocs.io/en/stable/reference/proxy.html), +depending on how traefik store its routing configuration. + +For **smaller**, single-node deployments: + +* TraefikTomlProxy + +For **distributed** setups: + +* TraefikEtcdProxy +* TraefikConsulProxy + +## Installation +The [documentation](https://jupyterhub-traefik-proxy.readthedocs.io) contains a +[complete installation +guide](https://jupyterhub-traefik-proxy.readthedocs.io/en/latest/install.html) +with examples for the three different implementations. + +* [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) + + +## 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> +``` + + + + +%prep +%autosetup -n jupyterhub-traefik-proxy-0.3.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-jupyterhub-traefik-proxy -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.0-1 +- Package Spec generated |
