This project is a command-line interface (CLI) for the Cromwell Server, designed with the following objectives:
- Simplify the process of installing and configuring a local backend for the Cromwell Server using Docker.
- Enable reuse of already processed jobs via the Call Cache mechanism, set by default.
- Provide an interface for interacting with the server, such as submitting, querying, and inspecting jobs.
- Serve as a personal learning experience with the Go language.
The Broad Institute has its own CLI for Cromwell, which is worth checking out.
However, if you found our project helpful, don't forget to give us a star 😉.
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/pumbaa/main/assets/install.sh | bash
You can install the binary in any location by setting the PREFIX variable to your desired installation directory when running the script:
curl https://raw.githubusercontent.com/lmtani/pumbaa/main/assets/install.sh | PREFIX=/home/taniguti/bin bash
This way you don't need to provide privileged access.
- 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
Obs: the examples below are from a previous release, but the commands are the same. I will update them soon.
You need to open a new terminal after starting the server. Press CTRL+c when you want to shut it down.
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"
pumbaa --host "${HOST}" --iap "${AUDIENCE}" query