Skip to content

nds-org/ndslabs-toolmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tool Manager

The Tool Manager provides the ability to configure and launch analysis environments, such as RStudio and Jupyter Notebooks, pulling data from repository software such as Clowder. It began as a feature of the TERRA-REF project to provide analysis capabilities in Clowder.

Build

docker build -t ndslabs/toolmanager .

Run

docker run -it -p 8082:8082 ndslabs/toolmanager

How It Works

The ToolManager itself runs as a Docker-in-Docker container that can spawn other containers. The Docker-in-Docker paradigm was introduced to ensure that any running instances are cleaned up / deleted if the host container goes down. Otherwise, we are left with dangling containers that must be cleaned up / deleted manually.

Two REST API Endpoints provide restricted access to the underlying Docker daemon: /tools and /instances

/tools

  • GET - Retrieve the list of all available tools
  • POST - Add a new tool to the list (not implemented)
  • PUT - Modify a tool on the list (not implemented)
  • DELETE - Delete a tool from the list (not implemented)

/instances

  • GET - Retrieve the list of all running instances
  • POST - Create and start a new instance of a tool
  • PUT - Modify the given running instance (for example, to add another dataset to an existing instance)
  • DELETE - Stop and delete the given running instance (not implemented)

See also