-
Notifications
You must be signed in to change notification settings - Fork 71
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: introduce grpc sync for flagd (#297)
## This PR Attempts to resolve #249 by introducing grpc sync provider to flagd. OFEP [approved] - https://github.com/open-feature/ofep/blob/main/OFEP-flagd-grpc-sync.md ### How to test/run ? Flagd acts as the grpc client, hence you need at least a minimal mock server. For this, you can utilize this [1] server implementation. Startup arguments of flagd now support grpc target uri. This can be provided with `grpc://` , for example, `./flagd start --uri grpc://localhost:8090` ### Technical highlights - GRPC protobuf definitions are available in buf [2] and are backed by the schema repository (https://github.com/open-feature/schemas) - Initial connection must be successful (i.e- grpc server/target must be accepting connections) - Subsequent server connection losses will not result in a runtime failure and connection re-establishment attempts will be performed ### What is not included (follow up improvements) - Connection security: This version does not enforce connection security. This will be addressed with follow-up improvements (ex:- TLS enabled connections). Hence, strongly recommends not using this version in production scenarios (fixed by #398) - Server implementations: This sync provider was designed to be open and connects to any server implementation. Hence there is no default server implementation. You may create your own server implementation based on grpc schemas. [1] - https://github.com/Kavindu-Dodan/flagd-grpc-sync-server [2] - https://buf.build/open-feature/flagd --------- Signed-off-by: Kavindu Dodanduwa <[email protected]> Signed-off-by: Kavindu Dodanduwa <[email protected]> Co-authored-by: James Milligan <[email protected]> Co-authored-by: Skye Gill <[email protected]>
- Loading branch information
1 parent
c6133b6
commit 33413f2
Showing
9 changed files
with
565 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.