DevOps / CI-CD

Use the eve-iac CLI for non-interactive automation: Git-driven pipelines, GitLab CI, GitHub Actions, and any runner that can reach eve-iac-agent over HTTPS.

The CLI is a thin client of the generated Python SDK. It never calls native EVE REST. Labs are packed from .eve-iac.yml / topology.yml / configs/.

Console automation (eve-iac console …) supports Day-0 bootstrap and CI validation over node serial consoles — before SSH or management IP exist. See Console CLI and Day-0 console. Live NETEM / suspend: Live link quality / suspend. The shared Hub model is under Interaction as Code.

When to use the CLI vs an SDK

Use Tool
Pipeline validate / plan / deploy / reconcile CLI
Need JSON for jq CLI --json
Embed in a Python service Python SDK
Node service TypeScript SDK
Go service Go SDK

Do not shell out to the CLI from an SDK app unless you want a process boundary. Do not use the VSIX in CI.

Path

  1. Install the CLI
  2. Configuration (EVE_IAC_URL, token, pinned CA — not --insecure in CI)
  3. Security (TLS pin vs --insecure, tokens, --yes)
  4. LOAD mode (attach to an existing lab — lifecycle and live link ops)
  5. Console CLI / Day-0 console / OOB SSH
  6. Inventory export (Ansible and Netmiko files from the project catalogue)
  7. Git-driven workflow
  8. GitLab CI / GitHub Actions
  9. JSON, jq, and exit codes (maps to CLI reference output sections)
  10. Recipes

Full flag list: CLI reference.