Adds the first local, same-host, kernel-namespace-only sandbox extension: no SSH hop, no container runtime. Extends IsolationSpec.level with "process", implements BwrapExtension (provision/wait_ready/ teardown) spawning bwrap with unshared user/mount/pid/ipc/uts/net namespaces, registers ext.bwrap + profile.bwrap-local, and extends manager._handle_from_status to carry pid/workspace_dir. Verified with a live bwrap smoke run in addition to the mocked test suite. T04 (reachability vs. the SSH-based glas-harness consumer contract) deliberately left open pending glas-harness's harness contract. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
17 lines
696 B
YAML
17 lines
696 B
YAML
id: ext.bwrap
|
|
title: Bubblewrap local namespaces
|
|
description: >
|
|
Self-hosted extension using bubblewrap (bwrap) kernel namespaces on the
|
|
local host. No SSH hop, no container runtime, no remote placement — the
|
|
fastest path to an isolated workspace, and the first extension where
|
|
network.default: deny is real (a genuine namespace with no interface)
|
|
rather than declarative only.
|
|
handler: sandboxer.extensions.bwrap:BwrapExtension
|
|
capabilities:
|
|
isolation_levels: [process]
|
|
regions: []
|
|
persistence: false
|
|
pricing_model: self-hosted
|
|
config:
|
|
base_dir: /tmp/sandboxer-bwrap
|
|
# ro_binds omitted — defaults to [/usr, /bin, /lib, /lib64, /etc/resolv.conf], filtered to what exists
|