diff --git a/CHANGELOG.md b/CHANGELOG.md index 4464cd89267104462074e9c3846ec4748c9498d6..b4a943f45ed594e7cfa5ea6f5d642023d12f4590 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,4 @@ +# Changelog ## 1.0.0 (2024-04-22) -### other (1 change) - -- [add gitlab ci cd pipeline for releases + changelog](jupyterjsc/packages/jupyterhub-forwardbasespawner@2124bb5734c6267c1173fed6aed32aaeeb5869d2) ([merge request](jupyterjsc/packages/jupyterhub-forwardbasespawner!1)) +Release of version 1.0.0 diff --git a/README.md b/README.md index aa353db884a5ade1f51ec05a66056d5d9af03d76..9982bce5742a117de47aed0bffd34b1c660724d3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,26 @@ +[](https://jupyterhub-forwardbasespawner.readthedocs.io/en/latest/?badge=latest) + # ForwardBaseSpawner -Todo + +The ForwardBaseSpawner is a base class, which can be used by any Spawner that creats the singleuser notebook server on a remote system. The ForwardBaseSpawner itself cannot start anything. The actual logic of starting / stopping must be implemented in a subclass. + +## Overview + +The JupyterHub ForwardBaseSpawner offers a variety of useful functions, to enable and manage the communication between JupyterHub and a singleuser notebook servers, which runs on a remote machine. It covers the following functionalities: + +- Manage ssh port forwarding process from JupyterHub to singleuser notebook server +- Manage ssh port forwarding process from singleuser notebook server to JupyterHub +- Manage [Kubernetes Service](https://kubernetes.io/docs/concepts/services-networking/service/) Resource to make singleuser notebook server reachable for JupyterHub +- Adds cancel function. Allows the user to cancel an ongoing spawn process +- Start process of remote singleuser notebook servers may send their current progress to SpawnEventsAPIHandler, which shows it to the user +- SetupTunnelAPIHandler allows to define the ssh jump node between JupyterHub and singleuser notebook server during the spawn process +- ListServersAPIHandler returns all running UserID-servername combinations. Gives remote systems the chance to compare their running servers with the JupyterHub ones +- SSHNodeRestartedAPIHandler enables a recreation of all port forwarding process to a specific jump node. Required when a jump node was restarted + +For more information and the usage have a look at the [JupyterHub OutpostSpawner](https://jupyterhub-outpostspawner.readthedocs.io) documentation. It's a subclass of the ForwardBaseSpawner and enables a central JupyterHub to start singleuser notebook-server on multiple remote systems. +You can find a few examples and configurations over there. + +## Requirements + +At least one JupyterHub running on a Kubernetes Cluster (recommended is the use of [Zero2JupyterHub](https://z2jh.jupyter.org/en/stable/)). +A subclass of the ForwardBaseSpawner which implements the actual start/stop logic for singleuser notebook servers. diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 0000000000000000000000000000000000000000..d055a25529a987ddf322631d5ae85e75cb064634 --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1,4 @@ +```{eval-rst} +.. include:: ../CHANGELOG.md + :parser: myst_parser.sphinx_ +``` diff --git a/docs/index.md b/docs/index.md index 945e685d4fea1d5785b4e5c1eeec2c651f06c39b..027075f4508b9193fe6e9dd9bfe36e7f06910ca5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -43,3 +43,11 @@ A subclass of the ForwardBaseSpawner which implements the actual start/stop logi spawners/forwardbasespawner apiendpoints ``` + +```{eval-rst} +.. toctree:: + :maxdepth: 2 + :caption: Reference + + changelog +```