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: added custom grpc resolver #1424

Merged

Conversation

pradeepbbl
Copy link
Member

@pradeepbbl pradeepbbl commented Oct 14, 2024

This PR

Added custom gRPC resolver to support envoy proxy

  • support gRPC custom resolver

Related Issues

Fixes open-feature/go-sdk-contrib#585

Notes

  • update .github/workflow/build.yaml to install envoy binary part of e2e test.
  • this is a pre-requisite for flagd go provider update

How to test

Unit test are already added for the custom resolver for integration test you need a working envoy proxy support or any of the supported core resolver mentioned here

bin % ./flagd start -x --uri envoy://localhost:9211/test.service

                 ______   __       ________   _______    ______      
                /_____/\ /_/\     /_______/\ /______/\  /_____/\     
                \::::_\/_\:\ \    \::: _  \ \\::::__\/__\:::_ \ \    
                 \:\/___/\\:\ \    \::(_)  \ \\:\ /____/\\:\ \ \ \   
                  \:::._\/ \:\ \____\:: __  \ \\:\\_  _\/ \:\ \ \ \  
                   \:\ \    \:\/___/\\:.\ \  \ \\:\_\ \ \  \:\/.:| | 
                    \_\/     \_____\/ \__\/\__\/ \_____\/   \____/_/                                                                                                            

2024-10-14T20:19:51.411+0200    info    cmd/start.go:120        flagd version: dev (f716423), built at: 2024-10-14T20:19:34Z    {"component": "start"}
2024-10-14T20:19:51.412+0200    debug   telemetry/builder.go:81 skipping trace provider setup as collector target is not set. Traces will use NoopTracerProvider provider and propagator will use no-Op TextMapPropagator
2024-10-14T20:19:51.412+0200    info    flag-sync/sync_service.go:54    starting flag sync service on port 8015 {"component": "FlagSyncService"}
2024-10-14T20:19:51.412+0200    debug   builder/syncbuilder.go:111      using grpc sync-provider for: envoy://localhost:9211/test.service       {"component": "sync"}
2024-10-14T20:19:51.413+0200    info    flag-evaluation/connect_service.go:247  metrics and probes listening at 8014    {"component": "service"}
2024-10-14T20:19:51.413+0200    info    ofrep/ofrep_service.go:56       ofrep service listening at 8016 {"component": "OFREPService"}
2024-10-14T20:19:51.415+0200    info    flag-evaluation/connect_service.go:227  Flag IResolver listening at [::]:8013   {"component": "service"}
2024-10-14T20:19:51.428+0200    debug   grpc/grpc_sync.go:201   received full configuration payload     {"component": "sync", "sync": "grpc"}
2024-10-14T20:19:55.057+0200    debug   grpc/grpc_sync.go:201   received full configuration payload     {"component": "sync", "sync": "grpc"}

@pradeepbbl pradeepbbl requested a review from a team as a code owner October 14, 2024 18:39
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Oct 14, 2024
@pradeepbbl pradeepbbl marked this pull request as draft October 14, 2024 18:39
Copy link

netlify bot commented Oct 14, 2024

Deploy Preview for polite-licorice-3db33c failed.

Name Link
🔨 Latest commit 2e5f28a
🔍 Latest deploy log https://app.netlify.com/sites/polite-licorice-3db33c/deploys/671fd5e33f9ae100082f1fca

@toddbaert
Copy link
Member

@pradeepbbl Once you fix the conflicts I will merge. You can ping me on the CNCF slack if you want (again I would fix them myself but I can't edit your branch, understandably).

@dosubot dosubot bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Oct 28, 2024
pradeepbbl and others added 5 commits October 28, 2024 22:58
added support for gRPC name resolver with a custom
name resolver for `envoy` proxy

Signed-off-by: Pradeep <[email protected]>
Signed-off-by: Pradeep <[email protected]>
- adds support for Azure Blob Storage sync

Signed-off-by: Matthew Wilson <[email protected]>
added support for gRPC name resolver with a custom
name resolver for `envoy` proxy

Signed-off-by: Pradeep <[email protected]>
Signed-off-by: Pradeep <[email protected]>
@pradeepbbl pradeepbbl force-pushed the pmishra/585_support_custom_resolver branch from 0dbce33 to bfef786 Compare October 28, 2024 17:31
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels Oct 28, 2024
@pradeepbbl pradeepbbl force-pushed the pmishra/585_support_custom_resolver branch from 246b61b to 3aef890 Compare October 28, 2024 18:08
@beeme1mr beeme1mr merged commit e5007e2 into open-feature:main Oct 28, 2024
9 of 15 checks passed
@github-actions github-actions bot mentioned this pull request Oct 28, 2024
beeme1mr pushed a commit that referenced this pull request Oct 28, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>flagd: 0.11.4</summary>

##
[0.11.4](flagd/v0.11.3...flagd/v0.11.4)
(2024-10-28)


### 🐛 Bug Fixes

* **deps:** update module
buf.build/gen/go/open-feature/flagd/connectrpc/go to
v1.17.0-20240906125204-0a6a901b42e8.1
([#1409](#1409))
([f07d348](f07d348))
* **deps:** update module
buf.build/gen/go/open-feature/flagd/protocolbuffers/go to
v1.35.1-20240906125204-0a6a901b42e8.1
([#1420](#1420))
([1f06d5a](1f06d5a))
* **deps:** update module github.com/open-feature/flagd/core to v0.10.3
([#1411](#1411))
([a312196](a312196))
* **deps:** update module github.com/prometheus/client_golang to v1.20.5
([#1425](#1425))
([583ba89](583ba89))
* **deps:** update module go.uber.org/mock to v0.5.0
([#1427](#1427))
([0c6fd7f](0c6fd7f))
* **deps:** update module golang.org/x/net to v0.30.0
([#1417](#1417))
([4d5b75e](4d5b75e))
* **deps:** update module google.golang.org/grpc to v1.67.1
([#1415](#1415))
([85a3a6b](85a3a6b))


### ✨ New Features

* added custom grpc resolver
([#1424](#1424))
([e5007e2](e5007e2))
* support azure blob sync
([#1428](#1428))
([5c39cfe](5c39cfe))
</details>

<details><summary>flagd-proxy: 0.6.7</summary>

##
[0.6.7](flagd-proxy/v0.6.6...flagd-proxy/v0.6.7)
(2024-10-28)


### 🐛 Bug Fixes

* **deps:** update module
buf.build/gen/go/open-feature/flagd/protocolbuffers/go to
v1.35.1-20240906125204-0a6a901b42e8.1
([#1420](#1420))
([1f06d5a](1f06d5a))
* **deps:** update module github.com/open-feature/flagd/core to v0.10.3
([#1411](#1411))
([a312196](a312196))
* **deps:** update module github.com/prometheus/client_golang to v1.20.5
([#1425](#1425))
([583ba89](583ba89))
* **deps:** update module golang.org/x/net to v0.30.0
([#1417](#1417))
([4d5b75e](4d5b75e))
* **deps:** update module google.golang.org/grpc to v1.67.1
([#1415](#1415))
([85a3a6b](85a3a6b))
</details>

<details><summary>core: 0.10.4</summary>

##
[0.10.4](core/v0.10.3...core/v0.10.4)
(2024-10-28)


### 🐛 Bug Fixes

* **deps:** update module
buf.build/gen/go/open-feature/flagd/protocolbuffers/go to
v1.35.1-20240906125204-0a6a901b42e8.1
([#1420](#1420))
([1f06d5a](1f06d5a))
* **deps:** update module github.com/prometheus/client_golang to v1.20.5
([#1425](#1425))
([583ba89](583ba89))
* **deps:** update module go.uber.org/mock to v0.5.0
([#1427](#1427))
([0c6fd7f](0c6fd7f))
* **deps:** update module gocloud.dev to v0.40.0
([#1422](#1422))
([e0e4709](e0e4709))
* **deps:** update module golang.org/x/crypto to v0.28.0
([#1416](#1416))
([fb272da](fb272da))
* **deps:** update module google.golang.org/grpc to v1.67.1
([#1415](#1415))
([85a3a6b](85a3a6b))


### ✨ New Features

* added custom grpc resolver
([#1424](#1424))
([e5007e2](e5007e2))
* support azure blob sync
([#1428](#1428))
([5c39cfe](5c39cfe))
</details>

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

Signed-off-by: OpenFeature Bot <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@pradeepbbl pradeepbbl deleted the pmishra/585_support_custom_resolver branch October 28, 2024 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:L This PR changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[flagd] Support custom schemes (name resolvers)
4 participants