Skip to content

refactor(compute): support external driver parity - #2744

Open
drew wants to merge 4 commits into
refactor/2417-unify-driver-restart/drewfrom
refactor/2417-external-driver-parity/drew
Open

refactor(compute): support external driver parity#2744
drew wants to merge 4 commits into
refactor/2417-unify-driver-restart/drewfrom
refactor/2417-external-driver-parity/drew

Conversation

@drew

@drew drew commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

Make external compute drivers follow the same public gRPC boundary as in-tree drivers. Canonical driver names can be supplied over UDS, driver-requested callback listeners are validated generically, and omitted process identity remains omitted so every runtime can apply its native defaults.

Related Issue

Part of #2417

Stacked on #2743.

Changes

  • preserve omitted process user and group fields by default for every compute driver
  • avoid adding capability messages, feature enums, or configuration for process identity behavior
  • structurally validate driver-requested callback listeners independently of driver name
  • allow canonical built-in names with --compute-driver-socket, with the explicit endpoint taking precedence
  • route shutdown, startup, lifecycle, and policy operations through the public compute-driver RPC boundary
  • add fake external UDS coverage using a canonical driver name
  • document the supported extension boundary in architecture notes and agent diagnostics; no public docs/ changes are included

Testing

  • mise run pre-commit
  • focused shutdown/startup reconciliation tests
  • process-identity create/get and policy-backfill tests
  • external UDS lifecycle tests

Checklist

@github-actions

Copy link
Copy Markdown

@drew
drew marked this pull request as draft August 14, 2026 03:04
@copy-pr-bot

copy-pr-bot Bot commented Aug 14, 2026

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.

@drew
drew marked this pull request as ready for review August 14, 2026 23:03
@drew
drew marked this pull request as draft August 14, 2026 23:05
@drew
drew force-pushed the refactor/2417-external-driver-parity/drew branch from eb4006a to 0801416 Compare August 17, 2026 06:05
@drew
drew marked this pull request as ready for review August 17, 2026 06:05
@drew
drew requested a review from sjenning as a code owner August 17, 2026 06:05
@drew
drew removed the request for review from maxamillion August 17, 2026 15:40
drew added 3 commits August 17, 2026 23:56
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
drew force-pushed the refactor/2417-external-driver-parity/drew branch from daf85c9 to 680d1c2 Compare August 18, 2026 07:03
Comment thread proto/compute_driver.proto Outdated
string default_image = 3;
// Optional behavior supported by this driver instance. Unknown values are
// ignored and omitted features retain conservative gateway behavior.
repeated ComputeDriverFeature features = 6;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Features are essentially binary flags, correct. Do we see the need for something richer?

@drew
drew force-pushed the refactor/2417-external-driver-parity/drew branch from 680d1c2 to a06e71f Compare August 19, 2026 01:02
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@drew
drew force-pushed the refactor/2417-external-driver-parity/drew branch from a06e71f to bb6f185 Compare August 19, 2026 01:26
@drew drew changed the title refactor(compute): negotiate external driver behavior refactor(compute): support external driver parity Aug 19, 2026
Sign up for free to 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