Skip to content

refactor(compute): decouple gateway driver composition - #2823

Draft
drew wants to merge 4 commits into
mainfrom
refactor/2417-server-driver-decoupling/drew
Draft

refactor(compute): decouple gateway driver composition#2823
drew wants to merge 4 commits into
mainfrom
refactor/2417-server-driver-decoupling/drew

Conversation

@drew

@drewdrew commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

Move first-party compute-driver composition and VM process ownership into openshell-gateway, leaving openshell-server independent of compute backend implementations. The gateway can build without compute drivers, compile first-party drivers through generic registration, or connect to drivers through the public compute-driver RPC.

Related Issue

Part of #2417.

Changes

  • add openshell-gateway as the binary and first-party driver composition crate
  • gate compiled first-party registrations behind in-tree-compute-drivers
  • keep openshell-server free of compute-driver implementation dependencies and construction logic
  • move VM subprocess launch and first-party registration to the gateway composition boundary
  • support driver-free gateway builds and external Docker, Podman, Kubernetes, and VM driver binaries
  • bound compute-driver telemetry categories without backend-specific server logic
  • configure sandbox token bootstrap under the gateway-owned [openshell.gateway.sandbox_token_bootstrap] table
  • retain existing compiled Kubernetes configuration through a generic registration compatibility default while unrelated external drivers require no Kubernetes table
  • carry user_namespaces as a typed compute-driver field and perform Kubernetes hostUsers translation in the Kubernetes driver
  • accept the legacy Kubernetes platform_config.host_users encoding for rolling upgrades
  • update architecture, gateway configuration, Helm rendering/tests, packaging, deployment, and troubleshooting guidance
  • remove stale backend-specific comments and obsolete build references

Testing

  • mise run pre-commit
  • OPENSHELL_SYSTEM_GATEWAY_DIR=/tmp/openshell-empty-system-config-codex-pr2823 mise run test
  • mise run helm:test (106 tests)
  • cargo check -p openshell-gateway --no-default-features
  • cargo check -p openshell-gateway --features in-tree-compute-drivers
  • focused server, gateway registration, and Kubernetes user-namespace tests
  • mise run e2e:gateway:no-compute-drivers
  • external-driver E2E matrix runs in branch CI

Checklist

@copy-pr-bot

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@github-actions

Copy link
Copy Markdown

@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from 6d719f2 to 96f603dCompareAugust 20, 2026 05:10
@drew

drew commented Aug 20, 2026

Copy link
Copy Markdown
CollaboratorAuthor

/ok to test

@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from 96f603d to bb88ad5CompareAugust 20, 2026 14:28
@drew

drew commented Aug 20, 2026

Copy link
Copy Markdown
CollaboratorAuthor

/ok to test

@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from bb88ad5 to d3ae889CompareAugust 20, 2026 14:32
@drew

drew commented Aug 20, 2026

Copy link
Copy Markdown
CollaboratorAuthor

/ok to test

@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from d3ae889 to 69ddee1CompareAugust 20, 2026 14:59
@drew

drew commented Aug 20, 2026

Copy link
Copy Markdown
CollaboratorAuthor

/ok to test

@elezar
elezarforce-pushed the refactor/2417-server-driver-decoupling/drew branch from 69ddee1 to 00eff3dCompareAugust 20, 2026 15:35
@elezar

Copy link
Copy Markdown
Member

@drew This branch update is rebase-only: PR #2823 was rebased onto the restored PR #2822 head. No intentional feature or scope changes were added to this PR; the conflict resolution preserves the parent stack behavior while retaining the existing gateway-composition and telemetry commits.

@elezar
elezarforce-pushed the refactor/2417-server-driver-decoupling/drew branch from 00eff3d to a8047fdCompareAugust 20, 2026 15:44
@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from a8047fd to 4348c48CompareAugust 20, 2026 16:10
@copy-pr-bot

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from 4348c48 to d910ae3CompareAugust 20, 2026 19:18
@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from d910ae3 to 31a9534CompareAugust 20, 2026 20:50
@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from 31a9534 to 507d4c3CompareAugust 20, 2026 21:56
@pimlockpimlock mentioned this pull request Aug 20, 2026
10 tasks
@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from 507d4c3 to dc8a917CompareAugust 20, 2026 22:51
@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch 2 times, most recently from ef9bc47 to 57d5c3cCompareAugust 21, 2026 00:46
@drew

drew commented Aug 21, 2026

Copy link
Copy Markdown
CollaboratorAuthor

/ok to test

@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from 57d5c3c to 6b4f157CompareAugust 21, 2026 00:56
@drew

drew commented Aug 21, 2026

Copy link
Copy Markdown
CollaboratorAuthor

/ok to test

Base automatically changed from refactor/2417-external-driver-binaries/drew to mainAugust 21, 2026 03:03
@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from 6b4f157 to 7485b0dCompareAugust 21, 2026 03:03
drew added 4 commits August 20, 2026 21:46
Move first-party composition and VM process ownership into openshell-gateway, leaving openshell-server backend-independent. Update packaging and build references with the new crate, simplify the compiled-driver boundary, and keep the driver-free gateway path buildable with bundled Z3 tooling.
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@drew
drewforce-pushed the refactor/2417-server-driver-decoupling/drew branch from 7485b0d to a1b2f4eCompareAugust 21, 2026 04:47
@drew

drew commented Aug 21, 2026

Copy link
Copy Markdown
CollaboratorAuthor

/ok to test

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@drew@elezar