Skip to content

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

Open
drew wants to merge 1 commit into
mainfrom
codex/1943-conditional-gateway-drivers
Open

feat(gateway): support selective compute driver builds#3118
drew wants to merge 1 commit 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, and VM compute drivers while preserving the existing all-driver default.

The implementation keeps two gateway composition behaviors that were added after the original issue was written: zero-driver protocol-only builds remain valid, and a built-in driver name that is not compiled in can still resolve to an operator-supplied external driver endpoint.

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, and compute-driver-vm Cargo features.
  • Preserve in-tree-compute-drivers as the default compatibility alias for all four drivers.
  • Gate driver registration, configuration, runtime construction, VM process support, and per-driver tracing independently.
  • Add feature-aware registry tests and CI coverage for protocol-only, single-driver, and mixed-driver builds.
  • Document selective gateway builds and update gateway debugging guidance.

Testing

  • mise run pre-commit passes.
  • cargo clippy -p openshell-server --all-targets --no-default-features --features <driver> -- -D warnings passes for every individual driver and the protocol-only build.
  • Registry tests pass for every individual driver and the Docker+VM mixed build.
  • cargo test -p openshell-server --lib passes: 1,463 passed, 8 ignored.
  • tasks/scripts/verify-defaults-without-telemetry.sh passes.
  • E2E tests added/updated (not applicable; runtime driver behavior is unchanged).

mise run ci was also attempted. Its relevant checks passed, but the local machine's system gateway named default leaks into unrelated gateway-list tests: openshell-cli::completers::gateway_completer_returns_empty_when_no_config and three Go SDK gateway listing tests. These failures reproduce outside this branch's changed packages.

Checklist

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

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@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
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Conditional compilation of compute drivers

1 participant