cromwell-cli

command module
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

README

Cromwell CLI

codecov DeepSource


This program was created to:

  • Facilitate the installation and configuration of a Cromwell Server with a local backend using Docker.
  • Provide the functionality to reuse already processed jobs by default, via the Call Cache mechanism.
  • Provide ways to interact with the server, such as submitting, querying, and inspecting jobs.
  • Familiarize myself with the Go language.

The Broad Institute has its own CLI, be sure to check it out.

But don't forget to give us a star if ours has been helpful 😉

Quickstart

You can download the binary from the releases page for your platform or install it by running the following command:

curl https://raw.githubusercontent.com/lmtani/cromwell-cli/main/install.sh | bash

It's allowed to install the binary in any location, but you will need to set variable PREFIX when running the install script.

curl https://raw.githubusercontent.com/lmtani/cromwell-cli/main/install.sh | PREFIX=/home/taniguti/bin bash

This way you don't need to provide privileged access.

Features

  • Start Cromwell Server locally
  • List workflows by name
  • Submit a workflow
  • Abort a workflow
  • Navigate through workflow metadata
  • Get metadata
  • Get outputs
  • Get inputs
  • Make requests to a remote Cromwell Server protected by IAP (Google Identity Aware Proxy)
  • For Google Cloud backend jobs: estimate resource usage
  • Have a cool name

Examples

Local server deploy

You need to open a new terminal after starting the server. Press CTRL+c when you want to shut it down. asciicast

Submit workflow

asciicast

Query workflows

asciicast

Navigate through workflow metadata

asciicast

Cromwell behind Google Identity Aware Proxy

This is a very specific use case, but it's here. If you are using a Cromwell server behind Google Identity Aware Proxy (IAP), you can use the --iap flag to make requests to it. You will need to provide the expected audience of the token, which is the client_id of your oauth. For example:

You will also need to set the GOOGLE_APPLICATION_CREDENTIALS environment variable to the path of your Google service account JSON file.

GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/google/service-account.json
HOST="https://your-cromwell.dev"
AUDIENCE="Expected audience"
cromwell-cli --host "${HOST}" --iap "${AUDIENCE}" query

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL