← The board

J2 Running under Podman

Area
J — Runtime & platform
Audience
operator
Kind
feature
Status
draft
Maturity
planned
Labels
runtime, network, verification
Relates to
J1C2C5

The feature in the specification · Read at

Requirements

  1. J2-R1draftMUST

    The tool MUST be able to run the full stack on Podman with no dependency on Docker.

    locked by
    0.24.0 open
  2. J2-R2draftMUST

    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
  3. J2-R3draftMUST

    The native-unit mode MUST reproduce the download client joining the VPN container's network namespace.

    locked by
    0.24.0 open
  4. J2-R4draftMUST

    The native-unit mode MUST gate startup ordering on a dependency being HEALTHY, not merely started.

    locked by
    0.24.0 open
  5. J2-R5draftMUST

    The native-unit mode MUST be boot-persistent and MUST be offered only on Linux.

    locked by
    0.24.0 open
  6. J2-R6draftMUST

    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
  7. J2-R7draftMUST

    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
  8. J2-R8draftMUST

    The tunnel MUST be re-proven on every start, not assumed from a previously working configuration.

    locked by
    0.24.0 open
  9. J2-R9draftMUST

    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
  10. J2-R10draftMUST

    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
  11. J2-R11draftMUST

    A namespace or hardlink check that could not be confirmed MUST be reported as unproven, never as passed.

    locked by
    0.24.0 open
  12. J2-R12draftMUST

    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
  13. J2-R13draftMUST

    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
  14. J2-R14draftMUST

    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