Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add copies of existing evaluation and sync schemas with adapted names #109

Merged
merged 7 commits into from
Oct 24, 2023

Conversation

bacherfl
Copy link
Contributor

@bacherfl bacherfl commented Oct 17, 2023

Closes #948

This PR introduces new names for the sync and evaluation schemas. The old schemas are kept for now, to support backwards compatibility.
I will leave this one in draft mode for now, as I would like to work on a PoC on how to best support this in flagd with as little duplication as possible.

@bacherfl
Copy link
Contributor Author

@toddbaert this should be ready for review now.
I have created a PoC for supporting both the old and new schemes in flagd here: bacherfl/flagd#1

There is obviously some duplication involved, but in my opinion it is manageable and the core logic can be reused to a large extend.

@bacherfl bacherfl marked this pull request as ready for review October 18, 2023 08:17
@bacherfl bacherfl requested a review from a team as a code owner October 18, 2023 08:17
@toddbaert toddbaert self-requested a review October 18, 2023 19:40
@toddbaert
Copy link
Member

toddbaert commented Oct 18, 2023

@toddbaert this should be ready for review now. I have created a PoC for supporting both the old and new schemes in flagd here: bacherfl/flagd#1

There is obviously some duplication involved, but in my opinion it is manageable and the core logic can be reused to a large extend.

Agreed. Especially because much of the duplication will be deleted pre flagd 1.0, I'm fine with this duplication. We might want to extract some duplication into different files and add more comments, but the PoC proves its point here! Thanks @bacherfl

Something else to note is the flagd-proxy / core uses the sync service as well. I think we might to prevent any breakage, we'd need to also serve the new sync-service there too. I think this will be easier, since it's only pure gRPC, not the connect protocol... but you may want to add this to your PoC to validate it.

cc @Kavindu-Dodan on this one.

option go_package = "flagd/evaluation/v1";
option java_package = "dev.openfeature.flagd.grpc.evaluation";
option php_namespace = "OpenFeature\\Providers\\Flagd\\Schema\\Grpc\\Evaluation";
option ruby_package = "OpenFeature::FlagD::Provider::Grpc::Evaluation";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@toddbaert should we use this as an opportunity to lowercase the D based on the updated naming guidelines?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes!

protobuf/flagd/sync/v1/schema.proto Outdated Show resolved Hide resolved
protobuf/flagd/sync/v1/schema.proto Outdated Show resolved Hide resolved
… client for the sync api

Signed-off-by: Florian Bacher <[email protected]>
… client for the sync api

Signed-off-by: Florian Bacher <[email protected]>
@bacherfl
Copy link
Contributor Author

@toddbaert this should be ready for review now. I have created a PoC for supporting both the old and new schemes in flagd here: bacherfl/flagd#1
There is obviously some duplication involved, but in my opinion it is manageable and the core logic can be reused to a large extend.

Agreed. Especially because much of the duplication will be deleted pre flagd 1.0, I'm fine with this duplication. We might want to extract some duplication into different files and add more comments, but the PoC proves its point here! Thanks @bacherfl

Something else to note is the flagd-proxy / core uses the sync service as well. I think we might to prevent any breakage, we'd need to also serve the new sync-service there too. I think this will be easier, since it's only pure gRPC, not the connect protocol... but you may want to add this to your PoC to validate it.

cc @Kavindu-Dodan on this one.

Alright, I will also have a look at the flagd-proxy regarding this, but I agree that this will likely not cause any problems as well - Will keep you updated on this

@toddbaert
Copy link
Member

I'm ready to approve once we have some consensus on this question.

Signed-off-by: Florian Bacher <[email protected]>
Signed-off-by: Florian Bacher <[email protected]>
Copy link
Member

@toddbaert toddbaert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but very interested to hear from @Kavindu-Dodan and @beeme1mr

@toddbaert toddbaert merged commit 7b8e75d into open-feature:main Oct 24, 2023
6 checks passed
@github-actions github-actions bot mentioned this pull request Oct 24, 2023
toddbaert pushed a commit that referenced this pull request Oct 24, 2023
🤖 I have created a release *beep* *boop*
---


<details><summary>protobuf: 0.5.2</summary>

##
[0.5.2](protobuf-v0.5.1...protobuf-v0.5.2)
(2023-10-24)


### ✨ New Features

* add better-named evaluation/sync protos
([#109](#109))
([7b8e75d](7b8e75d))


### 🧹 Chore

* fixed typo in the flag evaluation api comment
([c6cc820](c6cc820))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve gRPC service-names, deprecate old services
4 participants