The Linro Simulator reads an IaC plan/preview, synthesizes the cloud-API responses each changed resource would produce, and submits them to the Linro platform, which runs the real plugin normalization + security checks against the simulated future state. Catch policy violations before you apply — in CI on a pull request, or locally from the CLI.
Design principles:
- Multi-IaC. One shared handler set, many IaC frontends (Terraform / OpenTofu today, Pulumi next) — the same canonical vocabulary normalizes every dialect to the same describe-calls.
- One static binary, no deps. Static Go build. Drop it in a CI job or on a workstation; no runtime to install.
- Real checks, not a linter. Simulations run through the same plugin normalization and check engine the platform uses on live inventory, so a passing simulation means a passing apply.
- Token-authenticated. Submissions present a Personal Access
Token;
linro-simulator initverifies auth + connectivity before your first real run.
Why the Simulator
- Shift-left compliance. Run your Linro checks against a Terraform or Pulumi plan before you apply it — catch a violation in review, not in production.
- No cloud footprint. A simulation is an ephemeral server-side overlay on your inventory; nothing is created in your account, so there is no cleanup and no bill.
- One static binary. Drop
linro-simulatoron your PATH — no runtime, no dependencies. The download above is just extract + run. - CI- and agent-friendly.
linro-simulator terraform simulateexits 0/1 on the check outcome, so it drops straight into a pipeline gate or an AI agent loop.
Early preview. The simulator is newly released and still evolving — the CLI surface and output format may change between versions.
