Skip to content

Innerwall v0.1.0 - visibility, simulation, enforcement

Choose a tag to compare

@avi-papineni avi-papineni released this 06 Oct 21:46
· 197 commits to main since this release
6007581

The first release of Innerwall: one control-plane binary with an embedded operator console, PostgreSQL for everything durable, and a Linux agent that observes flows and programs the native firewall. The operator loop ships end to end — enroll, observe, simulate, promote, enforce — driven entirely from the console.

What's in it

  • Enrollment and identity — token-gated enrollment with no trust-on-first-use window; scoped, expiring, revocable provisioning tokens stored only as digests; short-lived certificates carrying a single URI identity, renewed automatically.

  • Policy sync — one mutually authenticated stream per agent: a snapshot per stream, deltas within it, versions that advance only when rendered output changes, full-jitter reconnects. Agents fail static: the last acknowledged policy survives restarts and reboots.

  • Flows — inbound connections aggregated at the agent and reported on their own RPC, peers resolved at ingest time, and evidence gaps recorded as first-class intervals wherever the agent knows evidence was lost — a review over incomplete evidence says so.

  • Policy, simulation, enforcement — live authoring with conditional writes and inline validation; simulation runs the same ruleset as enforcement with only the terminal verdict changed; promotion is operator-gated behind an explicit acknowledgment of exactly what would be dropped.

  • Operator surface and console — one TLS-only listener, single-operator authentication with sessions and automation tokens, an origin guard on every write, and a console covering simulation review, the flow map, fleet, workload detail, and the policy editor.

Hardening before this tag

Two independent conformance audits of the release candidate were absorbed in full: persist-before-apply acknowledgment, stable connection-mark attribution across policy versions, bounded open flow windows, strict identity parsing, a bounded login throttle, a patched Go toolchain with a govulncheck gate in CI, bundled third-party license texts, migration immutability enforced by CI, and a decision record corrected wherever it had drifted from the shipped system.

Known limitations

Linux agents and inbound enforcement only. One operator. No server-side evidence guard on mode changes, no workload deny-list, no duplicate-identity detection — the recorded revocation story is short-lived certificates and token revocation. See ROADMAP.md for what comes next.

The quickstart in the README is verified end to end on both the Docker Compose and from-source paths. Licensed Apache-2.0; bundled fonts carry their own licenses, shipped alongside.