Skip to content

CLI

Every command and flag of interloper, from the parser the CLI runs on.

interloper api

Serve the HTTP API. The frontend is served separately: by nginx in containers, by interloper app locally.

Argument Meaning
--host HOST Bind host (default: server.host, 0.0.0.0)
--port PORT Bind port (default: server.port, 3000)
--no-create-tables Skip CREATE TABLE bootstrap on startup (production: run interloper db init once instead)

interloper app

Run the interloper application services. Flags left unset fall back to the server, cron, worker and reaper settings; at least one service must be enabled.

Argument Meaning
--host HOST Server bind host (default: 0.0.0.0)
--port PORT Server bind port (default: 3000)
--api, --no-api Run the API server
--cron, --no-cron Run the cron controller
--worker, --no-worker Run the queue worker
--reaper, --no-reaper Run the reaper (timed-out run cleanup; singleton)
--dev Run Nuxt dev server instead of serving built static assets
--no-create-tables Skip CREATE TABLE bootstrap on startup (production: run interloper db init once instead)

interloper db

Database operations.

interloper db init

Ensure database, create tables, migrate to head, promote configured super-admins (idempotent)

interloper db reset

Drop and recreate all tables

Argument Meaning
--yes, -y Skip confirmation prompt

interloper db upgrade

Run Alembic migrations to head (or a specific revision)

Argument Meaning
revision [optional] Target revision (default: head)

interloper db downgrade

Downgrade Alembic migrations

Argument Meaning
revision [optional] Target revision (default: -1)

interloper launch

Execute one persisted run. On any failure before the executor takes over, the run is marked failed.

Argument Meaning
run_id The UUID of the run to execute

interloper run

Execute a DAG directly with the configured runner, without persistence. The exit status is non-zero on invalid input, an import failure, or a run that did not complete.

Argument Meaning
--format FORMAT Input format: 'inline' for a DAGSpec JSON string, 'paths' for dotted import paths One of inline, paths. Default paths.
-f, --file FILE Path to a runnable component spec (YAML). Mutually exclusive with positional targets.
--dry-run Validate and print the resolved run plan without executing
--events EVENTS Event output: 'pretty' renders events through the logger (default); 'json' streams raw event JSON lines to stdout One of pretty, json.
-q, --quiet Only show warnings and errors (takes precedence over --verbose; does not affect --events json output)
-v, --verbose Debug verbosity: include execution and destination I/O events
--run-id RUN_ID Optional run identifier, forwarded as metadata to the runner
--date DATE Partition key (e.g. 2026-04-09; also 2026-04, 2026, or 2026-04-09T13)
--start-date START_DATE Partition window start key. Must be used with --end-date and share its granularity.
--end-date END_DATE Partition window end key. Must be used with --start-date and share its granularity.
target ... Inline DAGSpec JSON (when --format inline) or one or more dotted import paths

interloper scheduler

Run the scheduler services: cron (with hooks and credential renewal), the queue worker and the reaper. Flags left unset fall back to the cron, worker and reaper settings; at least one service must be enabled.

Argument Meaning
--cron, --no-cron Run the cron controller, with the hook and renewal controllers
--worker, --no-worker Run the queue worker
--reaper, --no-reaper Run the reaper (fails silent and overdue runs; singleton)
--no-create-tables Skip CREATE TABLE bootstrap on startup (production: run interloper db init once instead)