Skip to content

CLI

Strøm provides two CLI binaries:

  • stroem — Local workspace tool for exploring and running tasks without a server
  • stroem-api — Remote server client for triggering jobs and querying a running Strøm server

Local workspace commands. No server required.

Terminal window
# Set the workspace path (default: current directory)
stroem --path /path/to/workspace <command>

Run a task locally without a server. Loads the workspace, walks the task’s DAG, and executes each step via the local shell runner. Only type: script with runner: local (default) is supported — docker, pod, task, agent, and approval steps are rejected upfront.

Terminal window
# Run a task in the current directory
stroem run my-task
# Run from a specific workspace path
stroem run my-task --path /path/to/workspace
# Run with input
stroem run deploy --input '{"env": "staging"}'

Supports:

  • DAG dependency ordering
  • Template rendering ({{ input.* }}, {{ step.output.* }}, {{ secret.* }})
  • when conditions (skip steps based on expressions)
  • for_each loops (iterate over arrays)
  • Cascade-skip (downstream steps skipped when all dependencies are skipped)
  • Ctrl+C graceful cancellation
  • OUTPUT: {json} parsing for step outputs

Limitations:

  • Steps execute sequentially, even when the DAG allows parallelism
  • for_each iterations always run sequentially regardless of the sequential setting
  • Only type: script with local runner is supported — docker, pod, task, agent, and approval steps are rejected

Validate workflow YAML files before deploying.

Terminal window
# Validate current directory
stroem validate
# Validate a specific path
stroem validate /path/to/workspace/.workflows/

The validator checks:

  • YAML syntax and structure
  • Action type validity
  • Runner field validity
  • Flow step and dependency references
  • DAG cycle detection
  • Trigger cron expression syntax
  • Hook action references

List all tasks in the workspace.

Terminal window
stroem tasks
stroem --path /path/to/workspace tasks

List all actions in the workspace.

Terminal window
stroem actions

List all triggers (scheduler and webhook) in the workspace.

Terminal window
stroem triggers

Show detailed information about a single task: input schema, flow steps with dependencies, hooks.

Terminal window
stroem inspect deploy-pipeline

Remote server commands. Requires a running Strøm server.

Terminal window
# Set the server URL (default: http://localhost:8080)
export STROEM_URL=http://localhost:8080
# Set authentication token (optional)
export STROEM_TOKEN=strm_your_api_key

Execute a task and create a new job.

Terminal window
# Trigger with default input
stroem-api trigger hello-world
# Trigger with input
stroem-api trigger hello-world --input '{"name": "CLI"}'
# Trigger in a specific workspace
stroem-api trigger etl-pipeline --workspace data-team --input '{"date": "2025-01-01"}'

Check the status of a job.

Terminal window
stroem-api status <job-id>

View the logs of a job.

Terminal window
stroem-api logs <job-id>

List recent jobs.

Terminal window
# List last 10 jobs
stroem-api jobs --limit 10

List tasks from the server (across workspaces).

Terminal window
# List all tasks
stroem-api tasks
# Filter by workspace
stroem-api tasks --workspace data-team

Cancel a running or pending job.

Terminal window
stroem-api cancel <job-id>

List all configured workspaces on the server.

Terminal window
stroem-api workspaces