Console CLI

The eve-iac console command group drives node consoles through eve-iac-agent. It requires agent authentication (login or token) and a pinned CA in CI — same as other CLI commands.

eve-iac console attach PROJECT NODE
eve-iac console watch  PROJECT NODE [NODE...]
eve-iac console exec   PROJECT NODE [CMD] [--session ID]
eve-iac console wait   PROJECT NODE --expect REGEXP [--timeout-ms MS]
eve-iac console run    PROJECT NODE FILE.yaml
eve-iac console history PROJECT NODE [--bytes N]
eve-iac console sessions PROJECT
eve-iac console close  PROJECT --session ID

Global flags (--url, --ca-file, --json, …) apply as for other subcommands. See CLI reference.

Interactive attach

eve-iac console attach ./IaC/my-lab n_1

Behavior:

  • Raw terminal mode (requires a TTY; non-TTY attach is refused).
  • Creates an interact Hub session, attaches with that session_id, streams via 101 eve-telnet.
  • Ctrl+C (0x03) is forwarded to the node — not used to detach.

Local beginning-of-line escapes

These are CLI-local controls. They are not sent to the node and are not part of the eve-telnet protocol. The VSIX does not use these sequences.

Sequence Action
~. Disconnect — close session
~d Detach — keep session; print session_id for sharing
~? Local help
~~ Send literal ~

Only recognized at the beginning of a line (SSH-like).

Watch

eve-iac console watch ./IaC/my-lab n_1 n_2

Important:

  • Watch is CLI functionality only. There is no watchConsole public API operation.
  • Implementation: attachConsole with mode=observe + streamConsole.
  • Multi-node watch is CLI-side multiplexing — lines are prefixed [NODE].
  • No multiplex wire protocol exists on the agent.

Use watch for passive observation. Use exec/wait/run for automation.

Exec, wait, run, history

See Exec, wait, run for one-shot vs session exec, wait/run timeouts, and history limits.

Quick examples:

# One-shot (does not join open VSIX session)
eve-iac console exec ./IaC/my-lab n_1 "show version"

# Session-backed
eve-iac console exec ./IaC/my-lab n_1 "show ip int brief" --session sess-abc

eve-iac console wait ./IaC/my-lab n_1 --expect 'Router#' --timeout-ms 120000

eve-iac console run ./IaC/my-lab n_1 day0.yaml

eve-iac console history ./IaC/my-lab n_1 --bytes 8192

Sessions

eve-iac console sessions ./IaC/my-lab
eve-iac console close ./IaC/my-lab --session sess-abc

JSON output: add --json on the parent command or subcommand where supported.

Pipeline recipes that combine deploy, start, and console bootstrap: Day-0 console.