J3 Running natively, without containers
- Area
- J — Runtime & platform
- Audience
- operator
- Kind
- feature
- Status
- draft
- Maturity
- planned
- Labels
- runtime, network, verification
The feature in the specification · Read at
Requirements
The tool MUST be able to run the services as native host services under the init system with no container engine in the path, on Linux.
- locked by
- 0.24.0 open
VPN isolation MUST be rebuilt as a dedicated network namespace holding the VPN interface, with the download client bound into that namespace.
- locked by
- 0.24.0 open
A kill rule inside the namespace MUST ensure that if the tunnel drops there is no route out.
- locked by
- 0.24.0 open
The egress-IP proof MUST run inside the dedicated namespace, comparing the address seen there against the host's, and MUST assert they differ.
- locked by
- 0.24.0 open
The killswitch MUST be proven by bringing the tunnel interface down and asserting there is then no egress at all.
- locked by
- 0.24.0 open
Hardlinking MUST be proven by creating a file, linking it, and comparing inodes on the real data root.
- locked by
- 0.24.0 open
An egress address inside the namespace equal to the host's MUST be treated as a leak and MUST halt the stack.
- locked by
- 0.24.0 open
A namespace or client binding that cannot be confirmed MUST be reported as unproven, never as isolated.
- locked by
- 0.24.0 open
The tool MUST state that the native path forfeits the VPN-provider abstraction the container gave, making provider configuration and reconnection the operator's responsibility.
- locked by
- 0.24.0 open
The tool MUST state that the native path is the highest-effort option.
- locked by
- 0.24.0 open
The native path MUST be refused on hosts without network namespaces, with the reason given, and MUST NOT be offered on macOS.
- locked by
- 0.24.0 open
Standing up the namespace, binding the client, installing the kill rule, and running the egress and hardlink proofs MUST each be reachable non-interactively.
- locked by
- 0.24.0 open
Isolation, client binding, and the kill rule MUST reassert after reboot, with egress re-proven rather than assumed.
- locked by
- 0.24.0 open
Egress MUST be re-proven after any change to the VPN provider configuration.
- locked by
- 0.24.0 open