Security & limits¶
Security¶
- Console access requires existing agent authentication (same session/token as other API calls).
- EVE OpConsole restrictions still apply on the EVE side.
observemode rejects writes at the agent — clients cannot override by ignoring mode.exclusivemode allows one writer; V1 has no steal of an existing exclusive lease.session_idvalues are opaque handles, not secrets — but treat them like capability tokens within an authenticated session.- Stream tickets are one-use, 64-hex, 30 s TTL, redeemed over HTTP 101 Upgrade: eve-telnet.
- Transport internals (loopback Telnet host/port, raw tickets) are not exposed in public API fields or MCP output.
send_secretis redacted in responses, transcripts, and MCP payloads.- V1 provides no durable transcript or audit log of console activity.
General agent TLS and token guidance: Concepts — Security, DevOps — Security.
V1 scope and limitations¶
Explicit non-goals — do not infer unsupported behavior:
| Not in V1 | Notes |
|---|---|
| Vendor terminal profiles | No built-in IOS/NX-OS/Junos/etc. parsers |
| Structured command parsing | Regexp expect only |
| SSH / NETCONF / gNMI layer | Console is complementary, not a replacement |
| Durable console transcript | 64 KiB Hub ring only; no log collector |
| Automatic AI session selection | Explicit session_id required |
| MCP interactive PTY | Bounded exec/wait/run/history only |
watchConsole API |
CLI watch multiplexes observe streams locally |
| Session persistence | Lost on agent restart |
| Silent Telnet reconnect | Underlying loss closes the Hub path |
| Exclusive-session steal | Writer must release first |
| Terminal resize redesign | Out of V1 scope |
| Session count beyond Hub cap | Max 64 concurrent Hubs |
Ansible integration — future / not implemented¶
A possible future direction ( not part of Console Automation V1 ):
- An eve-iac Ansible collection using the agent HTTPS API
- Console-backed Day-0 connection and bootstrap before management IP exists
- Patterns similar to
network_clipersistent connections
No Ansible plugin or module exists today. Do not plan production workflows around Ansible until shipped and documented separately.
Agent shutdown¶
SIGINT / SIGTERM stop accepting HTTP, then http.Server.Shutdown (15s bound), then leftover stream tickets are invalidated and Hubs close (Telnet TCP and waiters). http.ErrServerClosed is a normal exit. Hijacked eve-telnet streams are not waited on by Shutdown; Hub close unblocks them.