Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
innerwall
command
Command innerwall is the control plane: one binary containing the API service, agent gateway, policy compiler, flow ingestion, and signing authority.
|
Command innerwall is the control plane: one binary containing the API service, agent gateway, policy compiler, flow ingestion, and signing authority. |
|
innerwall-agent
command
Command innerwall-agent runs on each workload.
|
Command innerwall-agent runs on each workload. |
|
internal
|
|
|
agent
Package agent holds the agent internals as independent pieces sharing local state (ADR-0011): the sync daemon (sync/), which holds the stream, sends heartbeats and inventory, and applies each policy synchronously through the installed-policy store (enforce/); the credential holder and its renewal timer (credential/); and the flow collector and reporter (collect/).
|
Package agent holds the agent internals as independent pieces sharing local state (ADR-0011): the sync daemon (sync/), which holds the stream, sends heartbeats and inventory, and applies each policy synchronously through the installed-policy store (enforce/); the credential holder and its renewal timer (credential/); and the flow collector and reporter (collect/). |
|
agent/collect
Package collect is the agent's flow collection loop: a Source observes connections on the host, an Aggregator folds them into one record per (source, destination, port, protocol, decision, rule) over the reporting window the control plane configures, holding at most a bounded number of distinct keys, a bounded Buffer holds closed windows until the Reporter ships them over ReportFlows, and overflow at either bound drops what does not fit and records the loss as an evidence gap.
|
Package collect is the agent's flow collection loop: a Source observes connections on the host, an Aggregator folds them into one record per (source, destination, port, protocol, decision, rule) over the reporting window the control plane configures, holding at most a bounded number of distinct keys, a bounded Buffer holds closed windows until the Reporter ships them over ReportFlows, and overflow at either bound drops what does not fit and records the loss as an evidence gap. |
|
agent/collect/conntrack
Package conntrack observes inbound connections through the kernel's connection tracking over netlink (ADR-0003).
|
Package conntrack observes inbound connections through the kernel's connection tracking over netlink (ADR-0003). |
|
agent/collect/nflog
Package nflog observes the packets the terminal rule of the owned table logs: what the policy did not permit.
|
Package nflog observes the packets the terminal rule of the owned table logs: what the policy did not permit. |
|
agent/credential
Package credential is the agent's side of enrollment and renewal: it generates the workload keypair, builds certificate signing requests, calls the control plane, and keeps the resulting credential in a state directory the daemon reads (ADR-0016).
|
Package credential is the agent's side of enrollment and renewal: it generates the workload keypair, builds certificate signing requests, calls the control plane, and keeps the resulting credential in a state directory the daemon reads (ADR-0016). |
|
agent/enforce
Package enforce holds the agent's installed-policy boundary.
|
Package enforce holds the agent's installed-policy boundary. |
|
agent/enforce/nft
Package nft is the Linux enforcement backend: it installs a rendered WorkloadPolicy into one nftables table this agent owns, as a single atomic transaction, and never touches state outside that table (ADR-0003, ADR-0020).
|
Package nft is the Linux enforcement backend: it installs a rendered WorkloadPolicy into one nftables table this agent owns, as a single atomic transaction, and never touches state outside that table (ADR-0003, ADR-0020). |
|
agent/health
Package health is reserved for a whole-process resource budget, which is deferred (ADR-0011 as amended); it holds no code.
|
Package health is reserved for a whole-process resource budget, which is deferred (ADR-0011 as amended); it holds no code. |
|
agent/inventory
Package inventory collects the descriptive facts the agent reports: host facts (hostname, operating system, interfaces and their addresses) and a best-effort list of listening services.
|
Package inventory collects the descriptive facts the agent reports: host facts (hostname, operating system, interfaces and their addresses) and a best-effort list of listening services. |
|
agent/sync
Package sync maintains the agent's single persistent stream to the control plane and applies versioned desired-state updates in order (ADR-0002, ADR-0015).
|
Package sync maintains the agent's single persistent stream to the control plane and applies versioned desired-state updates in order (ADR-0002, ADR-0015). |
|
api
Package api serves the operator surface: the public REST/JSON API consumed by the console and by automation, on a listener of its own (ADR-0021).
|
Package api serves the operator surface: the public REST/JSON API consumed by the console and by automation, on a listener of its own (ADR-0021). |
|
authn
Package authn is the authentication boundary of the operator surface (ADR-0021).
|
Package authn is the authentication boundary of the operator surface (ADR-0021). |
|
buildinfo
Package buildinfo names the build a binary came from.
|
Package buildinfo names the build a binary came from. |
|
ca
Package ca is the signing boundary for workload credentials.
|
Package ca is the signing boundary for workload credentials. |
|
ca/fileca
Package fileca is the file-backed signing authority: a private key and a self-signed root certificate on local disk.
|
Package fileca is the file-backed signing authority: a private key and a self-signed root certificate on local disk. |
|
cli
Package cli holds what the two command lines, innerwall and innerwall-agent, share in reading their arguments.
|
Package cli holds what the two command lines, innerwall and innerwall-agent, share in reading their arguments. |
|
compiler
Package compiler renders the authored policy model plus registry state into each workload's concrete WorkloadPolicy and decides which versions advance (ADR-0018).
|
Package compiler renders the authored policy model plus registry state into each workload's concrete WorkloadPolicy and decides which versions advance (ADR-0018). |
|
enroll
Package enroll is the enrollment domain: provisioning tokens and the exchange of a token plus a certificate signing request for a workload identity and credential, and the renewal of that credential by an already identified workload (ADR-0016).
|
Package enroll is the enrollment domain: provisioning tokens and the exchange of a token plus a certificate signing request for a workload identity and credential, and the renewal of that credential by an already identified workload (ADR-0016). |
|
enroll/enrolltest
Package enrolltest holds test doubles for the enrollment domain.
|
Package enrolltest holds test doubles for the enrollment domain. |
|
fleet
Package fleet is the operator's write domain over the registry and the renderer: editing a workload's labels, changing the enforcement mode of a set of workloads, previewing what a selector resolves to, and rendering a hypothetical policy set without persisting it.
|
Package fleet is the operator's write domain over the registry and the renderer: editing a workload's labels, changing the enforcement mode of a set of workloads, previewing what a selector resolves to, and rendering a hypothetical policy set without persisting it. |
|
fleet/fleettest
Package fleettest holds an in-memory double of the stores the authoring and fleet domains write through (policy.Store, fleet.Store, and the compiler's render transaction), for tests of those domains and of the transports above them.
|
Package fleettest holds an in-memory double of the stores the authoring and fleet domains write through (policy.Store, fleet.Store, and the compiler's render transaction), for tests of those domains and of the transports above them. |
|
flowstore
Package flowstore defines the FlowStore interface and its Postgres implementation.
|
Package flowstore defines the FlowStore interface and its Postgres implementation. |
|
gateway
Package gateway is the agent-facing gRPC surface of the control plane.
|
Package gateway is the agent-facing gRPC surface of the control plane. |
|
identity
Package identity is the single definition of workload identity as it appears in credentials.
|
Package identity is the single definition of workload identity as it appears in credentials. |
|
ingest
Package ingest receives pre-aggregated flow windows from agents, resolves each record's peer at ingest (address → workload identity via the registry), and writes the windows and their evidence gaps through the FlowStore interface (ADR-0009, ADR-0019).
|
Package ingest receives pre-aggregated flow windows from agents, resolves each record's peer at ingest (address → workload identity via the registry), and writes the windows and their evidence gaps through the FlowStore interface (ADR-0009, ADR-0019). |
|
operator
Package operator is the operator-surface authentication domain (ADR-0021): the single operator's password, browser sessions, and operator tokens.
|
Package operator is the operator-surface authentication domain (ADR-0021): the single operator's password, browser sessions, and operator tokens. |
|
operator/operatortest
Package operatortest holds test doubles for the operator domain.
|
Package operatortest holds test doubles for the operator domain. |
|
policy
Package policy is the authored policy domain: services, address groups, and rulesets as operators write them, the admission rules every mutation passes before it is persisted, and the persistence interface the store implements (ADR-0018).
|
Package policy is the authored policy domain: services, address groups, and rulesets as operators write them, the admission rules every mutation passes before it is persisted, and the persistence interface the store implements (ADR-0018). |
|
readmodel
Package readmodel is the operator read model: the pure reads over persisted state that the console's screens and the command line issue.
|
Package readmodel is the operator read model: the pure reads over persisted state that the console's screens and the command line issue. |
|
readmodel/readmodeltest
Package readmodeltest holds in-memory doubles of the read model's store and flow store for tests of the transports above it.
|
Package readmodeltest holds in-memory doubles of the read model's store and flow store for tests of the transports above it. |
|
registry
Package registry is the inventory of workloads: their labels, enforcement mode, reported host facts and the addresses derived from them, listening services, agent details, and the convergence state the sync stream reports.
|
Package registry is the inventory of workloads: their labels, enforcement mode, reported host facts and the addresses derived from them, listening services, agent details, and the convergence state the sync stream reports. |
|
rendered
Package rendered is the algebra of the rendered policy model: the canonical form of a WorkloadPolicy, the diff between two consecutive versions expressed as the wire contract's DeltaChange set, and the application of such a delta to a policy (ADR-0015, ADR-0018).
|
Package rendered is the algebra of the rendered policy model: the canonical form of a WorkloadPolicy, the diff between two consecutive versions expressed as the wire contract's DeltaChange set, and the application of such a delta to a policy (ADR-0015, ADR-0018). |
|
store
Package store is the relational data layer: hand-written SQL in queries/, goose migrations in migrations/, and sqlc-generated Go in db/.
|
Package store is the relational data layer: hand-written SQL in queries/, goose migrations in migrations/, and sqlc-generated Go in db/. |
|
storetest
Package storetest opens the Postgres-backed store for tests.
|
Package storetest opens the Postgres-backed store for tests. |
|
Package ui carries the built operator console into the control-plane binary.
|
Package ui carries the built operator console into the control-plane binary. |
Click to show internal directories.
Click to hide internal directories.



