-
Notifications
You must be signed in to change notification settings - Fork 11
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
strantalis
merged 40 commits into
opentdf:main
from
strantalis:dsp-201/service-registry-modifications
Nov 6, 2024
Merged
feat: update service registry in preperation for connectrpc migration #1715
strantalis
merged 40 commits into
opentdf:main
from
strantalis:dsp-201/service-registry-modifications
Nov 6, 2024
Conversation
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
…-201/connectrpc-gen
pflynn-virtru
previously approved these changes
Nov 5, 2024
jakedoublev
previously approved these changes
Nov 5, 2024
strantalis
dismissed stale reviews from jakedoublev and pflynn-virtru
via
November 6, 2024 17:31
4bda598
jakedoublev
approved these changes
Nov 6, 2024
jrschumacher
approved these changes
Nov 6, 2024
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.