Skip to content
Docs

Command-line client

otiumctl signs you in from a terminal, manages API keys, and validates, tests and publishes workflows, in a shell or in CI.

Docs

Install

Download the archive for your platform (macOS, Linux or Windows, on Intel or ARM) from the latest release, check it against checksums.txt, and put otiumctl on your PATH. Or build it with Go:

shell
# With Go installed:
go install github.com/getotium/otiumctl@latest

# Check it works:
otiumctl version

It is open source under the Apache 2.0 license, at github.com/getotium/otiumctl. It calls the documented API with your credential and nothing else.

Sign in

shell
otiumctl auth login --hostname api.getotium.ai

This shows a one-time code and opens the portal, where you approve the sign-in. The token is kept in your system keychain and renews itself.

In CI

For a pipeline, set an API key in OTIUM_TOKEN instead of signing in. Mint it while you are signed in; an API key cannot mint another.

shell
# A key minted while signed in, kept in your CI's secrets:
otiumctl api-keys create --name ci
export OTIUM_TOKEN=sk-otium-...

workflow validate and workflow test exit non-zero when a document would be rejected or a test fails, so they work as a pre-commit hook or a CI step without parsing output.

Common commands

shell
otiumctl workflow validate enrich.yaml      # compile as a publish would; stores nothing
otiumctl workflow test .                    # run *.test.yaml suites on the real engine
otiumctl workflow apply -f ./workflows/     # publish what changed
otiumctl run-set get <run-set-id>           # counts, outcome, what is held and why
otiumctl api-keys list

Run otiumctl with no arguments for every command. The workflow docs explain the documents these commands work with.