Skip to content

refactor(compute): move driver-specifics into a dedicated crate #1999

Description

@elezar

Description

Move driver-specific compute wiring out of openshell-server into a dedicated crate, tentatively openshell-compute-driver.

Context

Follow-up to #1949, but intentionally broader than the current PR. The current branch normalizes selected-driver startup behavior inside openshell-server; this issue tracks a later boundary cleanup so server code no longer owns built-in driver-specific details.

Candidate scope:

  • Move selected driver config loading, inheritance, and runtime defaulting out of openshell-server.
  • Move VM subprocess/socket launcher plumbing out of openshell-server.
  • Hide Docker, Podman, Kubernetes, and VM-specific constructor wiring behind a shared crate boundary.
  • Keep ComputeRuntime and sandbox persistence/reconciliation in openshell-server.
  • Preserve selected-driver-only validation and existing local TLS/defaulting behavior.

Definition of Done

  • Add a dedicated crate for built-in compute-driver wiring.
  • Remove direct built-in driver construction from openshell-server.
  • Keep server lifecycle/persistence behavior unchanged.
  • Update config and startup tests to cover the new boundary.
  • Update architecture docs if crate ownership changes are visible to maintainers.

Activity

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

Metadata

Metadata

Assignees

Labels

state:staleInactive item at risk of automatic closure.

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions