Commit Graph
269 Commits
Author SHA1 Message Date
John Myers 20ba66c634 fix(sandbox): add network namespace isolation for proxy mode
In proxy mode, processes could bypass HTTP_PROXY env vars and connect
directly to any IP since seccomp cannot filter connect() by destination.

This adds network namespace isolation:
- Create isolated netns with veth pair (10.200.0.1 <-> 10.200.0.2)
- Proxy binds to host side of veth
- Sandboxed process enters netns via setns() in pre_exec
- Only network path out is through the proxy

Also adds CAP_SYS_ADMIN and CAP_NET_ADMIN to container configs and
installs iproute2 for namespace management.
2026-02-04 15:00:10 -08:00
John Myers 8c600fdf8e Merge branch 'getting-started-updates' into 'main'
docs: add mise shell examples and document read_write auto-creation

See merge request navigator/navigator!3
2026-02-04 13:33:18 -08:00
John Myers ded48a451b docs: add mise shell examples and document read_write auto-creation
- Add Fish and Zsh shell activation examples to CONTRIBUTING.md
- Document that read_write directories are automatically created in sandbox.md
2026-02-04 13:32:39 -08:00
John Myers e2bdf8f886 Merge branch 'fix/sandbox-read-write-permissions' into 'main'
fix(sandbox): dynamically create and chown read_write directories

See merge request navigator/navigator!2
2026-02-04 13:29:55 -08:00
John Myers b1b5d90275 fix(sandbox): dynamically create and chown read_write directories
The sandbox now automatically creates directories listed in the policy's
`read_write` section and sets ownership to the configured sandbox user/group.
This runs in the supervisor process before forking the child.

Previously, read_write directories had to be pre-created in the Dockerfile
with correct ownership. Now arbitrary paths can be added to the policy
and they will be prepared at runtime.

Also adds a hardcoded chown for /sandbox in Dockerfile.factory as a
belt-and-suspenders approach for the default case.
2026-02-04 13:10:01 -08:00
Drew Newberry ede23ea7c4 fix(server): cleanup server multiplexing, tls 2026-02-04 11:41:04 -08:00
Drew Newberry 5c5b10c637 chore: cleanup misc docs files 2026-02-03 23:17:10 -08:00
Drew Newberry c26a7b7f69 fix(sandbox): flaky status updates 2026-02-03 23:14:54 -08:00
Drew Newberry d5d3c71e9c feat(sandboxes): initial kube sandbox impl 2026-02-03 22:13:20 -08:00
Drew Newberry 5a15de63df feat(server): add support for entity persistence 2026-02-02 18:18:04 -08:00
Drew Newberry db83ae7622 test: add pre-commit hooks 2026-02-02 17:31:53 -08:00
Drew Newberry 516125c3d4 test(e2e): add e2e tests on skaffold 2026-02-02 17:19:00 -08:00
Drew Newberry 1474dea7a4 feat(sandbox): add basic network and file sandbox support 2026-02-02 16:16:00 -08:00
Drew Newberry 6652edbfca chore(sandbox): fix sandbox and factory builds 2026-02-02 10:58:51 -08:00
Drew Newberry 1ab244cc62 docs(contributing): add kubernetes development instructions 2026-01-30 00:16:40 -08:00
Drew Newberry 8a59a92e2b feat(dev): add k3d dev cluster 2026-01-30 00:13:21 -08:00
Drew Newberry 04880df32a chore(sandbox): use docker for sandbox 2026-01-29 22:22:55 -08:00
Drew Newberry cdd1b04a6a chore(docs): cleanup readme contributing 2026-01-29 17:47:19 -08:00
Drew Newberry b0a719df2d chore(platform): hello world, intial commit 2026-01-29 17:33:35 -08:00