How do you use eve-iac?

Independent Infrastructure-as-Code for EVE-NG labs. eve-iac is not an official EVE-NG product. Clients talk only to eve-iac-agent over HTTPS. They never call native EVE REST.

You are on eve-iac.io — the public documentation site. Source code and downloadable packages are on GitLab (not this domain).

Pick the path that matches how you work.

Operator

Use VS Code or Cursor to create, import, edit, and operate EVE-NG labs. You do not need to write code.

Get started as an operator

DevOps / CI-CD

Validate, plan, deploy, and reconcile labs from pipelines with the eve-iac CLI.

Automate with eve-iac

Developer

Build integrations with the Python, TypeScript, or Go SDK, or call the HTTPS API.

Use the SDKs


What eve-iac is

Git files are desired state (topology.yml, configs/, .eve-iac.yml). The agent is the only process that talks to EVE. Validate, plan, deploy, and reconcile are explicit operations. Importing an existing lab is not the same as pulling later changes with from_eve.

Important principles:

  • Persona tools, one API. The VSIX, CLI, and SDKs share eve-iac/v1.
  • Desired state vs live state. Topology and startup-configs are desired. Consoles and inspect are operational.
  • Destructive work is explicit. Destroy, prune, wipe, and replace require confirmation (--yes, the IDE prompt, or MCP confirm=true).
  • TLS is pinned. Trust the agent certificate in the IDE, or pass --ca-file / ca_pem in automation. The CLI has no TOFU; optional --insecure is lab/dev only (never CI).

Install quickly

You Start here
VS Code / Cursor Install the VSIX
Pipelines Install the CLI
Python pip install eve-iacinstall · SDK
Node npm install @eve-iac/sdkinstall · SDK
Go github.com/eve-iac/eve-iac/sdk/go/eveiacinstall · SDK

Names stay those commands. Agent .deb, VSIX, CLI/Python wheel, npm, and Go tarball are published from this GitLab project (Package Registry + Release on tags), not from public Python/npm/Go indexes, the Marketplace, or a Debian archive. Local build: make pack-sdk deb vsix.

Project status

  • License: AGPL-3.0-only
  • Package version and API id are different. See versioning.
  • Candidate contract eve-iac/v1 is not a published freeze yet.