CLI security¶
The CLI is a laptop/CI client of eve-iac-agent. It never calls native EVE REST. Shared concepts: security.
TLS¶
- HTTPS only. The SDK rejects
http://(tls_required, exit 4), including with--insecure. - Pin the agent CA for normal use and for CI:
--ca-file/EVE_IAC_CA_FILEor--ca-pem/EVE_IAC_CA_PEM. There is no TOFU UI and no SecretStorage. --insecureis opt-in, per command. It skips certificate verification and the fingerprint pin (likecurl -k) and prints a warning on stderr. Never the default. Not sticky. There is noEVE_IAC_INSECUREenvironment variable.- Do not use
--insecurein CI. Commit or inject a PEM and setEVE_IAC_CA_FILE/EVE_IAC_CA_PEM(see GitLab CI, GitHub Actions). - Copy the PEM from the EVE host (
/opt/unetlab/addons/eve-iac-agent/tls.crt, else/opt/unetlab/go/server.crt) withopenssl x509 -outform PEM. Compare SHA-256 with the sameopenssl x509 -noout -fingerprint -sha256the IDE Trust modal shows.
Credentials¶
- Do not put credentials in the URL.
- Prefer
EVE_IAC_TOKENaftereve-iac login --jsonover repeating passwords on every command. - Mask secrets in CI. Human
loginomits the token;--jsonlogin printstoken. Do notechothat output. - Do not commit passwords, tokens, private keys, or
.eve-iac-state.jsonif you treat it as runtime.
Confirmation¶
--yesis the only confirmation. There are no interactive prompts.- Required for
destroy,exec wipe,deploy --replace, andreconcile --prune. - Do not pass
--yeson validate/plan.from_eveplus--pruneis rejected.
Agent boundary¶
The CLI does not call 127.0.0.1 EVE REST. Only the agent does, on the EVE host.