J2 Running under Podman
- 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 full stack on Podman with no dependency on Docker.
- locked by
- 0.24.0 open
The tool MUST offer both a Docker-compatible mode and a native system-unit mode, and let the operator choose.
- locked by
- 0.24.0 open
The native-unit mode MUST reproduce the download client joining the VPN container's network namespace.
- locked by
- 0.24.0 open
The native-unit mode MUST gate startup ordering on a dependency being HEALTHY, not merely started.
- locked by
- 0.24.0 open
The native-unit mode MUST be boot-persistent and MUST be offered only on Linux.
- locked by
- 0.24.0 open
The VPN egress proof and the hardlink inode proof MUST both pass under Podman in each mode before the stack is reported as running correctly.
- locked by
- 0.24.0 open
The shared network namespace MUST be verified at runtime from inside the running client, and MUST NOT be inferred from the unit or compose file.
- locked by
- 0.24.0 open
The tunnel MUST be re-proven on every start, not assumed from a previously working configuration.
- locked by
- 0.24.0 open
Where rootless operation cannot grant the tunnel device or network capability, the tool MUST lead with a rootful or a documented tested rootless recipe rather than a silent partial start.
- locked by
- 0.24.0 open
Where user-namespace UID shifting would break hardlinks, the tool MUST align UIDs and MUST confirm linking with a filesystem inode check.
- locked by
- 0.24.0 open
A namespace or hardlink check that could not be confirmed MUST be reported as unproven, never as passed.
- locked by
- 0.24.0 open
Requesting native-unit mode on a non-Linux host MUST be refused with an explanation, offering the compatibility mode instead.
- locked by
- 0.24.0 open
Mode selection, unit generation, and running the egress and hardlink proofs under Podman MUST each be reachable non-interactively.
- locked by
- 0.24.0 open
A tunnel drop MUST leave the download client with no route out, verified by asserting no egress while the tunnel is down.
- locked by
- 0.24.0 open