This is a preliminary set of use cases for the NDS Labs systems.
Users/Actors:
- Site administrator: Infrastructure and cluster administration at NCSA, TACC, SDSC.
- NDS cluster administrator: Internal administrator that provisions approved projects and assigns quotas
- NDS project admin: External user of NDS Labs services. Access the GUI/CLI to manage services within a project.
- End user: External user of services deployed via NDS Labs (e.g., Dataverse, Clowder)
- NDS developers: Local development staff and community members
NDS Operations
Prerequisites:
...
- NDS cluster administrator manages services library (TBD). Tentatively, admin must be able to add, modify, and remove NDS Labs services available to project administrators.
- NDS cluster administrator provisions NDS Labs projects (TBD). Tentatively, approved project users will be allocated a Kubernetes namespace, assigned credentials and storage/compute quotas. They will be given an endpoint URL for GUI/CLI access (see below).
Project admin
Prerequisites:
...
NDS Developer
Prerequisites:
- Docker
Use cases:
- NDS developer can containerize/Dockerize a new service or set of services (i.e., add Dockerfile and associated files to common source/build environment)
- NDS developer can push new versions of Docker images to NDS repository
- NDS developer can test containerized services in NDS Labs test environment
- NDS developer can define Kubernetes configuration for a new service or set of services (i.e., add Pod/RC/Service definitions)
- NDS developer can launch local Kubernetes environment (laptop, single VM)
- NDS developer can add new service definitions to service library
- NDS developer can launch a docker container with all required tools for development (ndsdev container)