Skip to content

Epic: Integrate public API's into supervisor #15383

Open
@akosyakov

Description

@akosyakov

Summary

Migrate supervisor from Server to Public API.

Context

Why we chose to migrate Supervisor to the new Public API? In order to validate Public API we started with #9757, but VS Code Desktop depends on SH installations which block migrations till Public API is reliable. VS Code as well does not have interesting use cases to validate usability and reliabiltiy of the API, i.e. pooling vs streaming, and does not generate enough traffic. We have also had incidents with supervisor working against Server API. We could not react promptly because we don't have any client observability [1], additionally jsonrpc library which we use on go client side has very verbose logging [2]. Because of all these reasons it looks sensible to migrate supervisor first:

  • it has a tricky use cases, like listening to workspace status updates to promptly update UI state
  • Used in each workspace and will generate enough traffic.
  • Easy to migrate since it is self contained in each installation.
  • Improves reliability by using client side grpc observability.
  • Improves security by giving us control of logging.

Value

  • Validate usability and reliability of Public API.
  • Improve reliability and security of connection between supervisor and Public APi.

Acceptance Criteria

  • Supervisor don't use Server API anymore, but completely relies on Public API.

Measurement

  • 99% of requests from supervisor to Public API should be successful. SLO

Remaining Work

Descoped / Nice to have

nit

Metadata

Metadata

Type

No type

Projects

  • Status

    In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions