Skip to content

RFC: gRPC server for VTOrc APIs #18251

Open
@timvaillancourt

Description

@timvaillancourt

Feature Description

VTOrc has some REST-style HTTP APIs endpoints that return data in JSON format

While this API approach is functional, there is no client for this API, meaning users that rely on it need to create an API client following no real spec - you just need to read the source and match what comes out. I'm also not sure how documented these APIs really are

This issue requests that the APIs VTOrc supports are formalized as gRPC RPCs/messages. Once they exist, in a follow-up issue I may propose some of these RPCs are callable via vtctldclient, but for now having REST/gRPC parity would be fantastic

Following a full integration of gRPC APIs/RPCs I would suggest the current REST-style approach is retired, but it's not a must

I look at this as:

  1. Define RPC messages in proto/vtorcdata.proto
  2. Write RPCs that take the RPC messages as input/output
  3. (Optional) implement vtctldclient RPCs that make sense
  4. (Optional) create REST-type API deprecation notice
    • Retire REST-style APIs (1-2+ releases after deprecation)

cc @GuptaManan100 / @deepthi for 💡s

Use Case(s)

VTOrc user that relies on the existing HTTP REST API

Metadata

Metadata

Labels

Component: VTorcVitess Orchestrator integrationType: EnhancementLogical improvement (somewhere between a bug and feature)Type: RFCRequest For Comment

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions