Skip to content

Improve gRPC service-names, deprecate old services #948

@toddbaert

Description

@toddbaert

We should rename the protos here and here to flagd.evaluation.v1 and flagd.sync.v1, respectively.

Why?

gRPC services should be named/namespaced appropriately, particularly for the following reasons:

  • collisions like this can occur when loading protos with the same name; not having a flagd namespace increases this likelihood significantly.
  • when HTTP traffic is inspected, lack of flagd will make it difficult to identify, increasing likelihood of admins blocking traffic, etc
  • in browser client usage, reverse proxy rules for /schema requests aren't obviously related to flagd; improving the name will make such rules' purpose obvious and prevent clashes
  • semantic names are generally important, and schema.v1 doesn't say anything about what this RPC/service actually DOES.

How?

In order to reduce breakage, we should support both the old and new RPCs. I'm not sure how best to do this. There may be a way to "proxy" traffic from one to the other. Alternatively, we might have to build and run both protos (so we would pull 2 versions of the protobuff schema).

We would then slowly update providers to use the new protos, and deprecate the old proto in flagd 1.0.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions