Skip to content

Sandbox Service Exposure #4310

Open
0 of 7 issues completed
Open

Description

@johntmyers

Mission

What is the data plane?

The data plane is sandbox service exposure: HTTPS and WebSocket traffic to applications running inside sandboxes. Port forwarding and file uploads are outside this scope and remain part of the gateway/control plane.

What do we need from service exposure?

  • Independent scaling. Scale the data plane independently from the control plane. Prevent application traffic from consuming the resources needed for responsive control-plane operations.

  • Independent access restrictions. Apply separate network rules to control-plane and data-plane traffic.
    Application-owned authentication. Serve sandbox applications without requiring OpenShell request authentication, so applications can provide their own authentication.

  • Platform-managed authentication. Protect sandbox applications through the authentication infrastructure used for the control plane, such as Cloudflare tunnels and zero-trust proxies.

Authentication boundaries

Service exposure supports two independent ingress paths:

  • Gateway service ingress: HTTP and WebSocket requests to exposed service endpoints use the gateway's authentication and applicable access controls before reaching the application. Merely exposing a service must not make the gateway path publicly accessible in an authenticated deployment.
  • Supervisor app listener: a separate opt-in application listener lets an OpenShell operator bring the data-plane authentication suited to their deployment, such as an identity-aware ingress or application authentication. It does not require or inherit gateway user authentication.

Both paths may serve the same declared service. Enabling the app listener must not disable gateway ingress or weaken its authentication. The proxy's machine authentication for service discovery is separate from end-user application authentication.

Working Group

Lead: @TaylorMutch

Members:

  • TODO

RFC: https://github.com/NVIDIA/OpenShell/tree/main/rfc/0017-sandbox-service-exposure

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions