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: move from fasthttp in-memory listener to memhttp implementation #1709

Merged
merged 26 commits into from
Nov 5, 2024

Conversation

strantalis
Copy link
Member

@strantalis strantalis commented Nov 4, 2024

Depends On: #1708

This pr moves away from fasthttp in-memory listener because its lack of context use.

This leverages code from this project https://github.com/akshayjshah/memhttp which was also used on connectrpc-go https://github.com/connectrpc/connect-go/tree/main/internal/memhttp

@strantalis strantalis requested a review from a team as a code owner November 4, 2024 17:45
@strantalis strantalis requested a review from a team as a code owner November 4, 2024 20:13
@strantalis strantalis added this pull request to the merge queue Nov 5, 2024
Merged via the queue into opentdf:main with commit 70518ff Nov 5, 2024
21 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Nov 6, 2024
…#1715)

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.

---------

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.

2 participants