Skip to main content
Runners execute commands in different environments.

Runner Types

Host Runner

Executes commands on the local machine using the shell.

Configuration

Characteristics

  • Uses sh -c for command execution
  • Inherits environment from Osmedeus process
  • No isolation between steps
  • Fastest execution

Docker Runner

Executes commands inside Docker containers.

Module-Level Configuration

Runner Config Options

Execution Modes

Ephemeral (default): Each step runs docker run --rm
Persistent: Container stays running, steps use docker exec

Per-Step Docker (remote-bash)

Use Docker for specific steps without module-level runner:

SSH Runner

Executes commands on remote machines via SSH.

Module-Level Configuration

Runner Config Options

Per-Step SSH (remote-bash)

Use SSH for specific steps:

File Transfer

Copy files from remote to local:

Runner Interface

All runners implement this interface:

Lifecycle

Choosing a Runner

Best Practices

Docker

  1. Use specific image tags
  2. Mount only needed volumes
  3. Use persistent mode for many steps

SSH

  1. Use key authentication
  2. Parameterize host details
  3. Check remote tool availability

remote-bash

  1. Use for hybrid workflows
    • Local file preparation
    • Remote heavy scanning
    • Local result processing
  2. Transfer results back

Next Steps