calrissian
CWL on Kubernetes
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:
-
Create a project in openshift (e.g.
calrissian-demo-project). Note that namespaces must be unique, so ifcalrissian-demo-projectis already in use on the cluster, you will need to choose a different name.oc new-project calrissian-demo-project -
Create a role in your project to allow managing
Pods:oc create role pod-manager-role --verb=create,delete,list,watch --resource=pods -
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 -
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 -
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.
-
Stage the input data and workflow onto the
input-datavolume with the StageInputDataJob.oc create -f openshift/StageInputDataJob.yaml -
Run the workflow engine with the CalrissianJob
oc create -f openshift/CalrissianJob-revsort.yaml -
Job pods can be monitored from the openshift web interface or via command-line
oc logs -f job/calrissian-revsort-array
Notes
- Calrissian will delete completed jobs for individual steps, but you may want to delete the
calrissian-revsort-arrayjob 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| calrissian-0.3.1-py3.6.egg | Legacy Egg format | - | - | Details for calrissian-0.3.1-py3.6.egg |
| calrissian-0.3.1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details for calrissian-0.3.1-py2.py3-none-any.whl |
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
|
Security for calrissian 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.