NVIDIA / NVIDIA/OpenShell

Support declarative artifact delivery and stable endpoint for governed sandboxes

Open
#2,818 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:compute area:gateway area:sandbox area:sdk state:needs-info
Dominant language
Rust
Stars
8.7k
Forks
1.3k
Avg merge
2d 11h
Merged PRs (30d)
253

Description

Problem

A control plane needs to deliver a digest-pinned bridge artifact to a sandbox and expose it through a stable, replacement-safe endpoint. The pinned SDK currently exposes a whole SandboxSpec.image, environment, labels, and providers, but no declarative artifact/sidecar delivery or endpoint lifecycle surface.

Using a controller-created Kubernetes Service selector or direct pod exec/copy is unsafe here: a sandbox replacement can reuse names while changing identity, and it bypasses the gateway lifecycle.

Requested capability

Please provide (or document a supported composition of) a gateway-owned API that lets a caller:

  1. Declare one or more immutable OCI artifacts by digest for a sandbox, without direct pod exec/copy.
  2. Attach a long-running artifact/process to the sandbox lifecycle with an observable readiness condition.
  3. Obtain a stable, authenticated endpoint that follows the currently active sandbox and fails closed while a replacement is not ready.
  4. Preserve sandbox identity/UID binding so a replaced sandbox cannot inherit the previous endpoint or authority.

The caller can supply only digest-pinned, independently provenance-verified artifact coordinates. OpenShell should remain responsible for artifact installation, process lifecycle, routing, and teardown.

Acceptance evidence

  • A sandbox replacement changes the concrete target but retains the stable endpoint only after the new artifact is Ready.
  • Stale artifact/process state is unreachable after replacement or teardown.
  • No Kubernetes pod access or mutable caller-managed Service selector is required.

We can contribute a neutral integration test once a proposed API/contract is available.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the pinned SDK's SandboxSpec.image and the gateway lifecycle requirements described in the issue; no implementation files or tests are identified. Define the proposed API or contract first, then validate it against the replacement, readiness, stale-state, identity, and no-pod-access acceptance evidence.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, rust
Domain
backend-api-design, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.