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¶
- Install the CLI
- Configuration (
EVE_IAC_URL, token, pinned CA — not--insecurein CI) - Security (TLS pin vs
--insecure, tokens,--yes) - LOAD mode (attach to an existing lab — lifecycle and live link ops)
- Console CLI / Day-0 console / OOB SSH
- Inventory export (Ansible and Netmiko files from the project catalogue)
- Git-driven workflow
- GitLab CI / GitHub Actions
- JSON, jq, and exit codes (maps to CLI reference output sections)
- Recipes
Full flag list: CLI reference.