gitpod/components/ws-manager-api
Gero Posmyk-Leinemann 5d557f73c8
[spicedb] Fix intermittent "Error: 4 DEADLINE_EXCEEDED...Waiting for LB pick" (#20637)
* [dev] Bump grpc/grpc-js 1.10.8 -> 1.12.6 and authzed/authzed-node 0.15.0 -> 1.2.2

Tool: gitpod/catfood.gitpod.cloud

* [server] Streamline spicedb gRPC client usage and creation options

 - instead of doing retries on two levels, rely on the gRPC-level retries
 - to mitigate the loss of insights, introduce createDebugLogInterceptor
  - client options: use sane defaults derived from the documentation instead of the excessive ones we had in place before
  - use "waitForReady" option: it should a) make our calls for responsive on re-connects, while b) - because we keep re-trying on DEADLINE_EXCEEDED - should be as reliable as before

Tool: gitpod/catfood.gitpod.cloud

* [protocol] Centralize grpc.isConnectionAlive

Tool: gitpod/catfood.gitpod.cloud

* [server] SpiceDB client: retry with new client on "Waiting for LB pick" error

Tool: gitpod/catfood.gitpod.cloud
2025-03-17 05:13:46 -04:00
..
2021-06-04 16:26:37 -04:00
2024-03-26 20:55:35 +01:00

Overview

The ws-manager-api component hosts the api component of ws-manager-mk2.

Making changes to the api

There are two types of changes, changes to:

  1. proto files, like core.proto
  2. API clients (we have Go and TypeScript clients)

Changing the proto file

Say you change core.proto. Please run generate.sh from ws-manager-api to re-generate the Go and TypeScript clients.

Changing API clients

Say you plan to remove a field from a struct in our Go client. After doing, then run:

  1. make manifests from components/ws-manager-mk2, and preserve the copyright headers, to update YAML specifications
  2. make generate from components/ws-manager-mk2, and preserve the copyright headers, to generate code