Documentation
Install it, run it, author policy, read the design.
Project Kennel is pre-release; interfaces and guarantees may change. The
authoritative reference is the installed man pages (man kennel,
man policy.toml, man kenneld); the guides and the design corpus below
live in the repository.
Using it
Deploy on a host, run workloads, author and operate policy.
Install →
Deploy the runtime: the offline release tarball + install.sh, the privhelper,
the per-user daemon, the AppArmor userns grant, kernel prerequisites.
Run & author →
Run a workload, the CLI verbs, write and compile a leaf policy, sign it, the detach /
reattach model, and kennel review.
Operate a host →
The admin side: /etc/kennel/subkennel allocations, the trust store, org
signing keys, deployment config, the audit stream.
Reference templates →
The shipped, signed templates — base-confined,
ai-coding-strict, interactive, and the rest — to derive your
own policy from.
The policy language
Declarative, signed, version-pinned. The schema is kept exact against the parser.
The design
The portable contribution: the threat model and the design that answers it, independent of the Linux runtime.
Threat catalogue →
The adversary model as numbered, tagged threats (T1.x exfil/lateral, T2.x posture degradation, T3.x workload-class). The durable reference.
Design corpus →
The full design: the thesis, trust boundaries, templates, and a chapter per resource (exec, filesystem, network, AF_UNIX, SSH, …).
Architecture →
The as-built reference: process model, crate decomposition, the binder gateway, state and supervision, the BPF ABI, what remains roadmap (§8.1).
Engineering standards →
The normative rules the code is held to (the bar is OpenSSH / libpam) — the
unsafe discipline, the supply-chain gate, the review bar.
The trust-manifest schema
The masked workspace manifest (.trust-manifest.json, T2.8) is validated
against a published JSON Schema — host IDEs read it natively.
# the schema host tooling validates a workspace trust manifest against: $ curl https://projectkennel.org/schemas/trust-manifest-v1.json
Referenced as the manifest's $id; served at /schemas/trust-manifest-v1.json.