Skip to content

daikema/science-platform

 
 

Repository files navigation

skaha - A Container-based Science Platform in CANFAR

Table of contents

CANFAR Science Portal Documentation

User documentation for the CANFAR Science Portal and Platform can be found here: Official CANFAR Science Platform Documentation

Acknowledgements

This project has been funded in part by:

  • The ALMA Cycle 7 development study with support from the National Radio Astronomy Observatory and the North American ALMA Science Centre
  • The CANARIE Research Software Program Competitive Funding Call 3: Research Software Platform Re-Use
  • The National Research Council Canada

Overview

science-platform-architecture

skaha is a general purpose online platform for running science containers interactively. It is part of the CANFAR science platform for containers. In the architecture diagram below, skaha is the main API to the Science Platform.

canfar-architecture

The CANFAR Science Platform Architecture. Skaha is the API to the Science Platform box.

Helm Installation

Deploying the Skaha service is made up of a small number of Helm installations. See the Deployment Guide for installations.

System Components

Components of skaha are containers that can be scaled out on a cluster of nodes to meet the storage and processing demands of the scientific software containers.

skaha

The skaha module provides the API for:

  • Listing published container images that the calling user is allowed to run
  • Creating skaha sessions from published container images
  • Launching container images to be displayed in desktop sessions

The complete API of skaha can be viewed here: https://ws-uv.canfar.net/skaha

The CANFAR Science Platform, a web interface to skaha, is here: https://www.canfar.net

Session Containers

Session containers are HTML5/websocket applications that can run in shaka. Currently this consists of Jupyter Labs, CARTA Visualization, and NoVNC desktops. More information on session containers and how they can be used in skaha can be found in the science-containers github repository.

Software Containers

These are some of the astronomy science containers that have been built for skaha. They run as applications within skaha. The graphical aspects of the containers are displayed in skaha-desktop by sending the DISPLAY to skaha-desktop.

More information on software containers can be found in the science-containers github repository.

Dependencies

skaha relies on a number of other opencadc modules to operate.

  • registry (reg) web service (https://github.com/opencadc/reg) -- A registry service will be used to read the capabilities and locations of other web services used by skaha.
  • access control (ac) web service (https://github.com/opencadc/ac) -- If the IdentityManager implementation is configured to use cadc-access-control-server for authentication an operational ac web service is required to be running.
  • credential delegation (cdp) web service (https://github.com/opencadc/cdp) -- The cdp service is used to obtain users' delegated proxy certificates.
  • cavern -- skaha is complimented by having the cavern VOSpace implementation mounted as a shared POSIX file system. (https://github.com/opencadc/vos/tree/master/cavern). cavern is a vospace implementation where both the data and metadata are based on the contents of a file system. If the software-containers have access to the cavern file system the contents of that file system can be accessed and shared through the cavern web service.
  • posix/sssd -- Containers in skaha are always run as the user and with the users' group memberships. If skaha-desktop and software-containers are run with a SSSD configuration that points to the same LDAP instance as used by ac, the names of those uids and gids can be resolved.

Deployment

skaha runs on kubernetes. See the deployment directory for specifics.

About

Science Platform Infrastructure

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 80.6%
  • Shell 15.9%
  • Smarty 2.0%
  • HTML 1.3%
  • Dockerfile 0.2%