Skip to content

Configuration Reference

This page consolidates the configuration details that are currently spread across the README and CLI source definitions.

The following options are shared by most execution commands through global CLI flags.

OptionSourceDescription
--hostCLIDevice hostname or IP address
--username, -uCLISSH username
--password, -pCLI / RAUTO_PASSWORDSSH password
--ssh-port, -PCLISSH port
--enable-password, -eCLIEnable / privileged mode password
--ssh-securityCLISSH compatibility profile: secure, balanced, legacy-compatible
--linux-shell-flavorCLILinux shell exit-code parsing mode: posix (bash alias) or fish
--device-profile, -dCLIDevice profile name, default linux
--connectionCLIUse a saved connection by name
--save-connectionCLISave the effective resolved connection after success
--save-passwordCLISave password and enable password with --save-connection
--template-dirCLI / RAUTO_TEMPLATE_DIRDeprecated legacy option; templates and custom profiles are now stored in SQLite

rauto currently exposes a small set of environment-based defaults.

Env varUsed byDescription
RAUTO_PASSWORDglobal authDefault SSH password when not passed inline
RAUTO_MANAGER_URLrauto agentDefault manager base URL
RAUTO_AGENT_NAMErauto agentDefault agent name
RAUTO_AGENT_TOKENrauto agentDefault agent authentication token
RAUTO_MANAGER_REPORT_MODErauto agentDefault reporting transport
RAUTO_AGENT_PROBE_REPORT_INTERVALrauto agentDefault liveness probe reporting interval
RAUTO_HOMEruntime layoutOverride the default runtime root (~/.rauto)

By default, runtime data is stored under:

~/.rauto
├── rauto.db
└── backups/

What lives there:

  • rauto.db
    • saved connections
    • history recording indexes
    • blacklist rules
    • custom device profiles
    • command templates
    • command flow templates
    • execution template metadata
  • backups/
    • generated .tar.gz archives

Several execution commands share the same recording model.

OptionCommandsDescription
--record-file <path>exec, template, flow, upload, tx, tx-workflowExport a JSONL recording file
--record-level key-events-onlysameMinimal audit recording
--record-level fullsameRicher prompt/state recording

The RecordLevelOpt source definition currently exposes two values:

  • KeyEventsOnly
  • Full
OptionDescription
--mode, -mExecute the command in a specific device mode such as Enable, Config, or Shell
OptionDescription
--vars, -vJSON or YAML file used as the render context
--dry-runRender without executing
OptionDescription
--templateSaved command flow template name
--fileAd-hoc TOML command flow template
--vars, -vJSON file containing runtime variables
--vars-jsonInline JSON runtime variables
OptionDescription
--local-pathLocal file path on the machine running rauto
--remote-pathDestination path on the remote target
--timeout-secsUpload timeout, default 300
--buffer-sizeOptional transfer buffer size
--show-progressEmit progress logs during transfer

The source code exposes a richer set of tx controls than the current docs homepage covers.

OptionDescription
--nameTransaction block name used in logs and recordings
--run-kindcommands or command-flow
--templateRender commands from a stored template
--varsVariables file for --template
--flow-template / --flow-fileMain command-flow source
--flow-vars / --flow-vars-jsonMain command-flow runtime variables
--rollback-flow-template / --rollback-flow-fileRollback flow source
--rollback-flow-vars / --rollback-flow-vars-jsonRollback flow variables
--commandRepeatable command input in command mode
--rollback-commandRepeatable per-step rollback commands
--rollback-commands-fileOne rollback command per line
--rollback-commands-jsonJSON array of rollback commands
--rollback-on-failureRoll back the failed step itself when using per-step rollback
--rollback-trigger-step-indexStep index that triggers whole-resource rollback
--modeTarget mode for generated steps or command flow execution
--timeout-secsPer-step timeout
--resource-rollback-commandExplicit whole-resource rollback command
--dry-runPrint normalized tx plan without executing
--jsonOutput tx result as JSON
OptionDescription
workflow_fileRequired JSON workflow path
--dry-runPrint normalized plan and exit
--viewRender a terminal visualization of the workflow
--jsonOutput raw workflow result JSON
OptionDescription
plan_fileRequired orchestration plan JSON path
--dry-runPrint normalized plan and exit
--viewRender a terminal visualization of the orchestration
--jsonOutput orchestration result as JSON
--record-levelRecording level applied to target executions
OptionDescription
record_filePath to JSONL recording
--listList recorded command output events
--commandReplay a specific command
--modeOptional mode filter when replaying

rauto agent combines CLI flags, environment variables, and optional config file defaults.

OptionDefaultDescription
--bind0.0.0.0Agent bind address
--port8123Agent listen port
--manager-urlnoneManager URL for registration and reporting
--agent-namenoneGlobally unique agent name
--agent-tokennoneShared secret for manager callbacks and auth
--report-modenoneManager report transport
--agent-config~/.rauto/agent.tomlOptional config file path
--probe-report-intervalnonePeriodic device liveness reporting interval in seconds
[manager]
url = "http://manager:50051"
token = "my-secret-token"
report_mode = "grpc"
[agent]
name = "agent-beijing-01"
heartbeat_interval = 30
probe_report_interval = 300

Current inventory behavior is source-of-truth driven by saved connections.

  • There is no separate persistent target database for inventory records.
  • Saved connections hold target identity, labels, groups, and vars.
  • Inventory CLI focuses on group management and merged vars preview.

Variable merge order is:

  1. group vars
  2. saved connection vars
  3. runtime vars

From the source and current README behavior:

  • default device profile is linux
  • Web console default bind is 127.0.0.1:3000
  • agent default bind is 0.0.0.0:8123
  • upload timeout defaults to 300 seconds
  • tx default name is tx-block
  • replay reads JSONL recordings produced by execution commands
  • saved passwords are encrypted in SQLite, but the master key remains in system keyring