Skip to content

Tagging

Tags are key/value labels used to filter runs and to aggregate cost by client, project or anything else you need to bill against.

Tag keys come from a registry. An administrator creates them; a tag that is not registered is rejected.

Terminal window
geni tag create client
geni tag create project
geni tag list
Terminal window
geni submission create \
--workflow-name wgs-germline --workflow-version v2.1.0 \
--params-file sample.json \
--engine-id <engine-id> --queue-id <queue-id> \
--output-folder s3://lab-results/run-4471/ \
--tag client=acme --tag project=dnabr

Change tags on an existing submission:

Terminal window
geni submission update <submission-id> \
--add-tag stage=prod \
--edit-tag client=acme \
--remove-tag project

Tags can also live on the workflow. They apply to every version, and every submission of every version inherits them — so a client or project label is set once rather than on each run.

Terminal window
geni workflow create \
--workflow-name wgs-germline --workflow-version v2.1.0 \
--file wgs-germline.zip \
--tag client=acme --tag project=dnabr

Change them later:

Terminal window
geni workflow update wgs-germline \
--add-tag stage=prod \
--edit-tag client=acme \
--remove-tag project
  • A submission inherits every tag on its workflow.
  • A --tag on geni submission create overrides the workflow’s value for the same key.
  • Re-uploading a version never clears workflow tags: only the keys you supply are upserted. To remove one, use geni workflow update --remove-tag.

Both workflow list and submission list filter by tag. Repeating --tag narrows the result to entries carrying all of the given tags.

Terminal window
geni workflow list --tag client=acme
geni submission list --tag client=acme --tag stage=prod

--show-tag adds a tag as a column in the output:

Terminal window
geni submission list --tag client=acme --show-tag project --format csv

Tags are the main axis for cost attribution. Once submissions carry client and project, the cost endpoints and the web console can break spend down along them — see Web console.