Skip to content

nds-org/ndslabs

Repository files navigation

NDS Labs

NDS

Join the chat at https://gitter.im/nds-org/ndslabs Docker Automated build

This is the main repository for the National Data Service Labs Workbench service.

Labs Workbench is an experimental space for evaluating, developing, and exploring interoperability between research data management services. This is achieved through the use of applications containerized with Docker, Kubernetes for container orchestration, deployed on an OpenStack cluster.

For more information, see the architecture documentation.

On top of this foundation, NDS Labs provides a user interface, command line interface, and an API server used to manage the configuration and deployment of containerized services. This repository includes documentation for the platform, as well as references to the following:

  • helm-chart: Instructions and templates for deploying Workbench to a Kubernetes cluster
  • specs: Catalog of containerized services offered by the Workbench platform
  • apiserver: REST API server, a thin management layer over etcd and Kubernetes as well as the ndslabsctl command line utility
  • webui: Project management UI implemented in AngularJS

Helm Chart

The Labs Workbench offers a helm-chart to ease deployment to a Kubernetes cluster.

The workbench-helm-chart repository offers steps to:

  • Deploy a Kubernetes cluster
  • Prepare your cluster to run the Labs Workbench platform
  • Deploy pre-built containers to run Workbench in your cluster

Service Catalog

The Labs Workbench includes a catalog of service specifications (specs) managed via the ndslabs-specs repository. The catalog currenty contains over 50 services (and growing).

API Server and Web UI

The two main components of the Workbench platform are the apiserver and the webui.

The workbench-apiserver-python and workbench-webui have their own source repositories.

Documentations

The apis and docs directories contain instructions for generating the documentation for the platform.

  • apis: Swagger documentation about the REST API offered by Workbench
  • docs: Sphinx documentation about general platform usage

Resources

The Labs Workbench is a hosted service and is not intended for installation. For Labs Workbench developers, it is possible to run the complete system on a single virtual machine or laptop.

Where to Get Help

Contributing

For more information on our Developer Workflows, see Developer Workflows.

In short, fork this repository and make a pull request. We will review and give feedback.