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: update service registry in preperation for connectrpc migration #1715

Merged

Conversation

strantalis
Copy link
Member

@strantalis strantalis commented Nov 4, 2024

Depends On: #1709

To transition to ConnectRPC and register service handlers effectively, we need to utilize generics. The reason for this is that the generated ConnectRPC code for creating handlers enforces strong typing:

NewXServiceHandler(svc XServiceHandler, opts ...connect.HandlerOption)

For reference, see an example here:

https://github.com/opentdf/platform/blob/0ef65d410a8e1bc8b82f52b6a4f0f469a2f7f4fe/protocol/go/policy/kasregistry/kasregistryconnect/key_access_server_registry.connect.go#L190C51-L190C88

By leveraging generics, we can maintain type safety while also keeping interceptors centrally managed. This approach ensures that no individual service can inadvertently modify the interceptor list, helping maintain consistent security and functionality across all services.

@strantalis strantalis requested review from a team as code owners November 4, 2024 23:17
pflynn-virtru
pflynn-virtru previously approved these changes Nov 5, 2024
jakedoublev
jakedoublev previously approved these changes Nov 5, 2024
service/entityresolution/entityresolution.go Outdated Show resolved Hide resolved
@strantalis strantalis added this pull request to the merge queue Nov 6, 2024
Merged via the queue into opentdf:main with commit ce289a4 Nov 6, 2024
21 checks passed
@strantalis strantalis deleted the dsp-201/service-registry-modifications branch November 6, 2024 22:39
github-merge-queue bot pushed a commit that referenced this pull request Nov 7, 2024
Depends On: #1715 

This is needed because we can't use the
[realip](https://github.com/grpc-ecosystem/go-grpc-middleware/tree/main/interceptors/realip)
interceptor with connectrpc.

---------

Co-authored-by: Jake Van Vorhis <83739412+jakedoublev@users.noreply.github.com>
github-merge-queue bot pushed a commit that referenced this pull request Nov 14, 2024
🤖 I have created a release *beep* *boop*
---


##
[0.4.27](service/v0.4.26...service/v0.4.27)
(2024-11-14)


### Features

* **authz:** JWT ERS that just returns claims
([#1630](#1630))
([316b5be](316b5be))
* **authz:** Remove org-admin role, move privileges to admin role
([#1740](#1740))
([ae931d0](ae931d0))
* backend migration to connect-rpc
([#1733](#1733))
([d10ba3c](d10ba3c))
* connectrpc realip interceptor
([#1728](#1728))
([292fca0](292fca0))
* **docs:** add policy ADR for LIST limit and pagination
([#1557](#1557))
([069f939](069f939))
* move from fasthttp in-memory listener to memhttp implementation
([#1709](#1709))
([70518ff](70518ff))
* **policy:** 1603 policy improve upsertattrfqn
([#1679](#1679))
([cd17a44](cd17a44))
* **policy:** 1651 move GetAttributesByValueFqns RPC request validation
to protovalidate
([#1657](#1657))
([c7d6b15](c7d6b15))
* **policy:** 1659 spike on transactions support
([#1678](#1678))
([a6fea11](a6fea11))
* **policy:** add optional name field to registered KASes in policy
([#1636](#1636))
([f1382c1](f1382c1))
* **policy:** add optional name field to registered KASes in policy
([#1641](#1641))
([b277ab4](b277ab4))
* **policy:** limit/offset throughout LIST protos/gencode
([#1668](#1668))
([7de6cce](7de6cce))
* **policy:** SPIKE transactions support
([#1663](#1663))
([866f4f3](866f4f3))
* **policy:** subject condition sets prune protos/gencode
([#1687](#1687))
([a627e02](a627e02))
* **policy:** subject condition sets prune service/db
([#1688](#1688))
([3cdd1b2](3cdd1b2)),
closes [#1178](#1178)
* update service registry in preperation for connectrpc migration
([#1715](#1715))
([ce289a4](ce289a4))


### Bug Fixes

* cleanup left over status.Error in favor of connect.NewError
([#1751](#1751))
([acea8d1](acea8d1))
* **core:** Autobump service
([#1726](#1726))
([39a898d](39a898d))
* **core:** Autobump service
([#1739](#1739))
([46662a7](46662a7))
* **core:** Autobump service
([#1750](#1750))
([4b239b1](4b239b1))
* Fixtures CodeQL alert for potentially unsafe quoting
([#1703](#1703))
([6f2fa9b](6f2fa9b))
* **kas:** Only hit authorization if data attributes not empty
([#1741](#1741))
([471f5f1](471f5f1))
* **policy:** enhance proto validation across policy requests
([#1656](#1656))
([df534c4](df534c4))
* **policy:** make MatchSubjectMappings operator agnostic
([#1658](#1658))
([cb63819](cb63819))
* **policy:** REVERT PR
[#1663](#1663) - SPIKE
transactions support
([#1719](#1719))
([184a733](184a733))
* **policy:** schema markdown links should work
([#1672](#1672))
([4122262](4122262))

---
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: opentdf-automation[bot] <149537512+opentdf-automation[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.

4 participants