Ignition
Guides

Configuration

Project-level configuration with ignition.config.ts.

Ignition supports an optional configuration file for ignition run. This avoids repeating the same run flags on every invocation.

Config file

Create ignition.config.ts in your project root:

import type { IgnitionConfig } from "@grovemotorco/ignition"

export default {
  inventory: "inventory.ts",
  trace: true,
  parallelism: 10,
  errorMode: "fail-at-end",
} satisfies IgnitionConfig

ignition run auto-discovers this file in the current working directory. Other commands still use their own explicit flags and arguments.

Use an explicit CLI --format ... flag when you need machine-readable output. Although IgnitionConfig still validates a format field internally, the current run command does not honor a config-level output-format default.

All options

FieldTypeDefaultDescription
inventorystringPath to inventory file
errorMode"fail-fast" | "fail-at-end" | "ignore""fail-fast"Error handling strategy
parallelismnumber5Max concurrent hosts
hostTimeoutnumber0Per-host timeout in ms (0 = unlimited)
resourceTimeoutnumber30000Per-resource timeout in ms
retriesnumber2Retry attempts for transient failures
retryDelaynumber1000Initial retry backoff in ms
multiplexbooleantrueSSH connection multiplexing
hostKeyPolicy"strict" | "accept-new" | "off""accept-new"SSH host key verification
dashboardHoststring"127.0.0.1"Dashboard server hostname for run events
dashboardPortnumber9090Dashboard server port for run events
logDirstringDirectory for NDJSON log files
tracebooleanfalseShow SSH commands and detailed output
cachebooleanfalseEnable check result caching
cacheTtlnumber600000Cache entry lifetime in ms
cacheClearbooleanfalseClear cache before running
varsRecord<string, unknown>Default variables

Precedence

CLI flags always override config file values:

CLI flag  >  config file  >  hardcoded default

For example, if your config sets parallelism: 10 and you pass --parallelism 3, Ignition uses 3.

Examples

Development config

import type { IgnitionConfig } from "@grovemotorco/ignition"

export default {
  inventory: "inventory.ts",
  trace: true,
  hostKeyPolicy: "accept-new",
  dashboardHost: "127.0.0.1",
  dashboardPort: 9090,
} satisfies IgnitionConfig

CI/CD config

import type { IgnitionConfig } from "@grovemotorco/ignition"

export default {
  inventory: "production.ts",
  errorMode: "fail-fast",
  parallelism: 20,
  logDir: "./logs",
  hostTimeout: 300000,
} satisfies IgnitionConfig

Validation

Ignition validates the config file on load. Invalid values produce clear error messages:

Invalid parallelism "-1" in ignition.config.ts. Must be a positive integer.
Invalid errorMode "bogus" in ignition.config.ts. Must be one of: fail-fast, fail-at-end, ignore

Safety note

The confirm flag is intentionally not configurable via the config file. It must be passed explicitly on the CLI to prevent accidental applies.

On this page