Skip to main content

calrissian

CWL on Kubernetes

CircleCI

Overview

Calrissian is a CWL implementation designed to run individual steps as Pods in a kubernetes cluster

It is in development and includes a simple workflow (revsort single / array) to reverse and sort the contents of text files.

Preparing Openshift

The openshift/ directory contains YAML files that demonstrate the basic functionality. To configure Openshift, do the following:

  1. Create a project in openshift (e.g. calrissian-demo-project). Note that namespaces must be unique, so if calrissian-demo-project is already in use on the cluster, you will need to choose a different name.

     oc new-project calrissian-demo-project
    
  2. Create a role in your project to allow managing Pods:

     oc create role pod-manager-role --verb=create,delete,list,watch --resource=pods
    
  3. Bind your project's default service account access to these roles. Calrissian running inside the cluster will use this service account to make Kubernetes API calls.

     oc create rolebinding pod-manager-default-binding --role=pod-manager-role --serviceaccount=calrissian-demo-project:default
    
  4. Create the BuildConfig - this allows Openshift to build the source code into a Docker image and starts a build automatically. If you wish to build a different branch or repo, edit this file.

     oc create -f openshift/BuildConfig.yaml
    
  5. Create the VolumeClaims - these are the storage locations that will be shared between pods, and must support read-write many access.

     oc create -f openshift/VolumeClaims.yaml
    

Running the example

With the VolumeClaims and Build processes in place, you can run the example with 2 jobs. These jobs use the docker image built by the BuildConfig, so they cannot be run until the build completes.

  1. Stage the input data and workflow onto the input-data volume with the StageInputDataJob.

     oc create -f openshift/StageInputDataJob.yaml
    
  2. Run the workflow engine with the CalrissianJob

     oc create -f openshift/CalrissianJob-revsort.yaml
    
  3. Job pods can be monitored from the openshift web interface or via command-line

     oc logs -f job/calrissian-revsort-array
    

Notes

  1. Calrissian will delete completed jobs for individual steps, but you may want to delete the calrissian-revsort-array job manually after running it.

Metadata

Release files for calrissian 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for calrissian 0.3.1
File Interpreter ABI Platform
calrissian-0.3.1-py3.6.egg Legacy Egg format - - Details
calrissian-0.3.1-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 61.9 kB

Release files / calrissian-0.3.1-py3.6.egg

Download URL calrissian-0.3.1-py3.6.egg
Size 41.8 kB
Tags Egg
SHA-256 checksum
How to use checksums
f5998739e6c145f0373704140e2370183ccc82caa14feda25024631b567a1a48
BLAKE2b-256 checksum
How to use checksums
add94eef5aaed1defa68e3d96df7bf99c89acd467023bf26a387f6997663e778
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

Release files / calrissian-0.3.1-py2.py3-none-any.whl

Download URL calrissian-0.3.1-py2.py3-none-any.whl
Size 20.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
b01ed8793d0ac559c479dfa99fb3c3f58f73d853bc5c819db497d1601c7c1c5d
BLAKE2b-256 checksum
How to use checksums
811a414893370e16fbbf4ebf34297affff9f7434f928689dbdde7b67bc1b28e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

Release history Release notifications | RSS feed

0.18.1

2 release files

0.18.0

2 release files

0.16.0

1 release file

0.15.0

1 release file

0.14.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page