Skip to content

feat(gateway): support selective compute driver builds - #3118

Merged
drew merged 2 commits into
mainfrom
codex/1943-conditional-gateway-drivers
Sep 11, 2026
Merged

feat(gateway): support selective compute driver builds#3118
drew merged 2 commits into
mainfrom
codex/1943-conditional-gateway-drivers

Conversation

@drew

@drew drew commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

Allow gateway builders to compile any subset of the Kubernetes, Docker, Podman, VM, and Windows MXC compute drivers while preserving the existing platform defaults.

Selective features live in openshell-gateway, which owns driver composition after the server refactor. openshell-server remains backend-independent. Protocol-only builds remain valid, and omitted built-in drivers can still resolve to operator-supplied external endpoints.

Related Issue

Closes #1943

Direct maintainer authorization was provided despite the issue's stale lifecycle label.

Changes

  • Add compute-driver-kubernetes, compute-driver-docker, compute-driver-podman, compute-driver-vm, and compute-driver-mxc Cargo features to openshell-gateway.
  • Preserve in-tree-compute-drivers as the default compatibility alias, including Windows MXC registration and unsupported-driver stubs.
  • Gate registration, factories, VM process support, and their dependencies independently; retain registration-owned configuration and tracing. MXC-only Windows builds register only MXC; the other features select independent Windows rejection stubs.
  • Keep MXC from implicitly enabling core telemetry through dependency defaults.
  • Run feature-aware gateway tests in CI for protocol-only, single-driver, and Docker+VM builds. Extend native Windows contract tasks with MXC-only, Docker-stub-only, protocol-only, and MXC+Docker-stub compositions.
  • Update selective-build examples, published compute-driver documentation, architecture guidance, and gateway debugging guidance.

Testing

  • mise run pre-commit.
  • Gateway tests for protocol-only, every individual non-Windows driver, Docker+VM, and the default feature set.
  • Dependency-tree checks confirm omitted compute-driver crates are excluded, including Windows x64/ARM64 MXC-only, mixed, default, and protocol-only builds.
  • Linux gateway tests with MXC-only and MXC+Docker features; MXC is excluded on Linux.
  • Windows MXC-only dependency graph keeps core telemetry disabled when omitted.
  • tasks/scripts/verify-defaults-without-telemetry.sh.
  • mise run e2e:gateway:no-compute-drivers.
  • OPENSHELL_SYSTEM_GATEWAY_DIR=/tmp/pr3118-system-config mise run test with an empty system gateway directory.

The initial unisolated test run reproduced the previously documented CLI gateway-completion failure caused by the host's system gateway configuration. The isolated run avoids that host state. Native Windows tests were not run on this Linux host.

Checklist

  • Follows Conventional Commits.
  • Commits are signed off (DCO).

@drew
drew requested review from a team, derekwaynecarr, mrunalp and sjenning as code owners September 2, 2026 00:55
@drew drew added area:gateway Gateway server and control-plane work area:build Related to CI/CD and builds labels Sep 2, 2026
@github-actions

Copy link
Copy Markdown

@johntmyers johntmyers added gator:in-review Gator is reviewing or awaiting PR review feedback test:e2e Requires end-to-end coverage labels Sep 10, 2026
@github-actions

Copy link
Copy Markdown

Label test:e2e applied for 997478b. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute the standard E2E suite after building the required gateway and supervisor images once. The matching required CI gate status on this PR will flip green automatically once the run finishes.

@johntmyers johntmyers left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gator-agent

PR Review Status

This maintainer-authored implementation matches the linked selective-driver-build request. The full initial code review found no blocking issues, the user-facing build instructions are documented, and the required E2E workflow is now running for the current head.

Blocking findings:

  • No blocking findings remain

Carried findings:

  • None

Non-blocking suggestions:

  • None
Gator metadata
  • Validation: Project-valid via linked issue #1943 and maintainer authorization
  • Docs: Fern reference docs and supporting build/architecture guidance updated
  • Checks: Current-head branch checks are pending
  • E2E: test:e2e applied; Branch E2E Checks run 34540933422, attempt 2, is in progress
  • Head SHA: 997478b25789ec67cb39116de1bab0169e45de47
  • Base SHA: 3c0f58872ea956816abf82cdf50fa94601329cc5
  • Merge base SHA: 3c0f58872ea956816abf82cdf50fa94601329cc5
  • Patch ID: d7c0170d6a03be7f1c7a84d5a251efc204ec7c88
  • Gator payload: 9
  • Review mode: initial
  • Previous reviewed SHA: none
  • Review budget exhausted: no
  • Maintainer decision required: no
  • Next state: gator:watch-pipeline

@johntmyers johntmyers added gator:watch-pipeline Gator is monitoring PR CI/CD status gator:approval-needed Gator completed review; maintainer approval needed and removed gator:in-review Gator is reviewing or awaiting PR review feedback gator:watch-pipeline Gator is monitoring PR CI/CD status labels Sep 10, 2026
Signed-off-by: Drew Newberry <anewberry@nvidia.com>

@johntmyers johntmyers left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gator-agent

PR Review Status

The follow-up review of Drew's Windows MXC selective-build update found no blocking code issues. GitHub now reports that the current head conflicts with the base branch, so pipeline monitoring cannot advance until the branch is updated.

Action required: @drew, resolve the merge conflict against the current base branch and push the updated head.

Blocking findings:

  • No blocking code findings remain

Carried findings:

  • None
Gator metadata
  • Validation: Project-valid via linked issue #1943 and prior maintainer authorization
  • Docs: Fern compute-driver reference and supporting build/architecture guidance updated
  • Checks: Current-head Branch Checks and E2E are in progress; merge conflict blocks progression
  • E2E: test:e2e is applied; Branch E2E Checks run 34544402357, attempt 1, is in progress
  • Head SHA: b7f5840f6c181da1abb58787d0e620604538a7dd
  • Base SHA: 3c0f58872ea956816abf82cdf50fa94601329cc5
  • Merge base SHA: 3c0f58872ea956816abf82cdf50fa94601329cc5
  • Patch ID: 7812029854b85bf91186c83062c90632e6b8ea5b
  • Gator payload: 9
  • Review mode: follow_up
  • Previous reviewed SHA: 997478b25789ec67cb39116de1bab0169e45de47
  • Review budget exhausted: no
  • Maintainer decision required: no
  • Next state: gator:blocked
  • Blocked reason: merge_conflict

@johntmyers johntmyers added gator:blocked Gator is blocked by process or repository gates and removed gator:approval-needed Gator completed review; maintainer approval needed labels Sep 11, 2026
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@drew
drew force-pushed the codex/1943-conditional-gateway-drivers branch from b7f5840 to 2d37529 Compare September 11, 2026 00:16

@johntmyers johntmyers left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gator-agent

PR Review Status

Drew's rebase resolved the merge conflict. I reviewed the author-only delta from the previous gator head and found no blocking issues; the current-head Branch Checks, Windows MSVC, and E2E workflows are running.

Blocking findings:

  • No blocking findings remain

Carried findings:

  • None
Gator metadata
  • Validation: Project-valid via linked issue #1943 and maintainer authorization
  • Docs: Fern compute-driver reference and supporting build/architecture guidance are updated
  • Checks: Current-head required checks are queued or in progress; no failures observed
  • E2E: test:e2e remains applied; Branch E2E Checks run 34545788001, attempt 1, is in progress for the current head
  • Head SHA: 2d375294014042c4efeffd68026961299ffbb739
  • Base SHA: 1860010850d3c1520d4f5d82f7c30b6a366bb747
  • Merge base SHA: ddc8bba9677ed8413849c8f148364df2f0146a6d
  • Patch ID: 7251487dceac3bd95686c7fe0c5ec284083b93e8
  • Gator payload: 9
  • Review mode: follow_up
  • Previous reviewed SHA: b7f5840f6c181da1abb58787d0e620604538a7dd
  • Review budget exhausted: no
  • Maintainer decision required: no
  • Next state: gator:watch-pipeline

@johntmyers johntmyers added gator:watch-pipeline Gator is monitoring PR CI/CD status and removed gator:blocked Gator is blocked by process or repository gates labels Sep 11, 2026
@drew
drew enabled auto-merge September 11, 2026 00:33
@drew
drew added this pull request to the merge queue Sep 11, 2026
@johntmyers johntmyers added gator:merge-ready and removed gator:watch-pipeline Gator is monitoring PR CI/CD status labels Sep 11, 2026
Merged via the queue into main with commit 38f2aef Sep 11, 2026
87 of 89 checks passed
@drew
drew deleted the codex/1943-conditional-gateway-drivers branch September 11, 2026 00:55
@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Monitoring Complete

Monitoring is complete because this PR has merged.

Final status: Gator review completed with no blocking findings, maintainer approval was present, and the PR reached gator:merge-ready before merge.

I removed the active gator:* label because there is nothing left for gator to monitor on this PR.

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

Labels

area:build Related to CI/CD and builds area:gateway Gateway server and control-plane work test:e2e Requires end-to-end coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Conditional compilation of compute drivers

2 participants