From a1f5b98cd806335bdfeb64be7efc963c3370c970 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Wed, 1 Nov 2023 17:46:42 -0700 Subject: [PATCH] Update README.md files Repurpose the top-level README.md file to be an introduction to the repository as a whole, and rewrite controller/README.md to only document the Nublado controller. Update the controller documentation to mention the file server. --- README.md | 19 ++++++++----------- controller/README.md | 11 +++++++++++ 2 files changed, 19 insertions(+), 11 deletions(-) create mode 100644 controller/README.md diff --git a/README.md b/README.md index 5634969c6..311df06b7 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,15 @@ -# jupyterlab-controller (aka Nublado v3) +# Nublado -This is a controller for management of Notebook Aspect resources in the RSP. +Nublado (taken from the Spanish word for cloud) provides the user notebook service and related user-spawned Kubernetes pods for the Rubin Science Platform. +Currently, it provides authentication and lab pod spawning for user science notebooks and WebDAV-based file servers so that users can easily manipulate their files. -The third attempt at our Notebook Aspect controller is defined in [SQR-066](https://sqr-066.lsst.io). -This is an implementation of that design. +For full documentation, see [nublado.lsst.io](https://nublado.lsst.io). -There are three fundamental functions, interrelated but distinct, that the controller provides: - -* Lab resource control -* Prepulling of desired images to nodes -* Construction of the options form supplied to the user by JupyterHub +For more information about the current Nublado Kubernetes controller design, see [SQR-066](https://sqr-066.lsst.io). ## Source organization -The [source for the controller](https://github.com/lsst-sqre/jupyterlab-controller) follows the organization pattern described in [SQR-072](https://sqr-072.lsst.io). +This repository uses the vertical monorepo layout described in [SQR-075](https://sqr-075.lsst.io). +It uses [nox](https://nox.thea.codes/en/stable/) as its build system, since nox works better with monorepos than the build systems used by other Rubin Science Platform projects. -The jupyterlab-controller application is developed with [FastAPI](https://fastapi.tiangolo.com) and [Safir](https://safir.lsst.io). +For details on how to use the development repository, see [the development guide](https://nublado.lsst.io/dev/development.html). diff --git a/controller/README.md b/controller/README.md new file mode 100644 index 000000000..f07393b84 --- /dev/null +++ b/controller/README.md @@ -0,0 +1,11 @@ +# Nublado controller + +This is the Kubernetes controller that manages Notebook Aspect resources in the Rubin Science Platform. +There are three fundamental functions, interrelated but distinct, that the controller provides: + +* Spawning and lifecycle management of user Kubernetes lab pods +* Prepulling of desired images to nodes +* Spawning and lifecycle management of WebDAV file servers so that users can manipulate their files + +The source for the Nublado controller follows the organization pattern described in [SQR-072](https://sqr-072.lsst.io). +It is developed with [FastAPI](https://fastapi.tiangolo.com) and [Safir](https://safir.lsst.io).