Skip to content

refactor(compute): remove legacy host_users platform configuration #2861

Description

@drew

Description

Remove the temporary DriverSandboxTemplate.platform_config["host_users"] compatibility encoding at the coordinated 0.1.0 API stability boundary. The public compute-driver contract should carry portable user-namespace intent only through the typed optional DriverSandboxTemplate.user_namespaces field.

Context

PR #2823 moves Kubernetes-specific hostUsers translation into the Kubernetes compute driver and adds the typed user_namespaces field to compute_driver.proto. During the transition, the gateway continues emitting the inverse legacy platform_config.host_users value for older external Kubernetes driver binaries, and the Kubernetes driver continues accepting that value from older gateways.

This compatibility shim deliberately preserves mixed-version operation, but the opaque field is Kubernetes-specific and should not remain part of the stabilized compute-driver contract. This work is tracked under #2565 as part of the final coordinated breaking-API pass for 0.1.0.

Definition of Done

  • Remove gateway emission of DriverSandboxTemplate.platform_config["host_users"].
  • Remove the Kubernetes driver's fallback parsing of platform_config.host_users.
  • Keep DriverSandboxTemplate.user_namespaces as the sole compute-driver representation of portable user-namespace intent.
  • Update compatibility tests to enforce the post-transition typed-only contract.
  • Document the removal in the 0.1.0 migration notes and compute-driver compatibility matrix.
  • Confirm all first-party and supported external compute drivers consume the typed field before removal.

Dependency

Do not remove the shim until the project deliberately enters the 0.1.0 breaking-change window and the supported external-driver compatibility policy from #2565 permits it.

Activity

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions