feat(sandbox): Bubblewrap mount scaffolding and UNIX domain socket bridge #5

Closed
opened 2026-09-09 10:08:48 +00:00 by larandar · 1 comment
Owner

Proposal

Provide the executor's Bubblewrap sandbox boundary and the UNIX-domain socket bridge required for workflow runs.

Design

Build a probed mount table and launch Bubblewrap with --unshare-all, --unshare-net, and --clearenv plus an explicit environment whitelist. Mask sensitive .dsh-run/ paths and bind-mount the approved /run/wf.sock bridge.

Tasks

  • 2.1 Build and probe the mount table.
  • 2.2 Add the Bubblewrap namespace isolation flags.
  • 2.4 Add the clear-environment whitelist.
  • 2.5 Mask sensitive .dsh-run/ paths and bind-mount /run/wf.sock.

Gherkin Specification Delta

must.contracts.ting-workflows.executor.bubblewrap-sandbox-scaffolding

Scenario: Start a workflow in the hermetic Bubblewrap boundary

  • GIVEN a workflow run and a probed mount table
  • WHEN the executor launches Bubblewrap
  • THEN all, network, and environment isolation flags are applied
  • AND sensitive .dsh-run/ paths are masked while the approved /run/wf.sock is available.
## Proposal Provide the executor's Bubblewrap sandbox boundary and the UNIX-domain socket bridge required for workflow runs. ## Design Build a probed mount table and launch Bubblewrap with `--unshare-all`, `--unshare-net`, and `--clearenv` plus an explicit environment whitelist. Mask sensitive `.dsh-run/` paths and bind-mount the approved `/run/wf.sock` bridge. ## Tasks - 2.1 Build and probe the mount table. - 2.2 Add the Bubblewrap namespace isolation flags. - 2.4 Add the clear-environment whitelist. - 2.5 Mask sensitive `.dsh-run/` paths and bind-mount `/run/wf.sock`. ## Gherkin Specification Delta ### must.contracts.ting-workflows.executor.bubblewrap-sandbox-scaffolding **Scenario: Start a workflow in the hermetic Bubblewrap boundary** - **GIVEN** a workflow run and a probed mount table - **WHEN** the executor launches Bubblewrap - **THEN** all, network, and environment isolation flags are applied - **AND** sensitive `.dsh-run/` paths are masked while the approved `/run/wf.sock` is available.
Author
Owner

Superseded by 1-feature deliverable decomposition per freeholder ruling (issues #11+).

Superseded by 1-feature deliverable decomposition per freeholder ruling (issues #11+).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
Ting/workflows#5
No description provided.