Skip to content

STR-314: add Unix domain socket support for gRPC listener#671

Merged
Ozodimgba merged 2 commits intomasterfrom
str-314
Mar 6, 2026
Merged

STR-314: add Unix domain socket support for gRPC listener#671
Ozodimgba merged 2 commits intomasterfrom
str-314

Conversation

@Ozodimgba
Copy link
Contributor

Closes #STR-314

@Ozodimgba
Copy link
Contributor Author

@leafaar is it cool to add the changelog for the parallel encoding here or the changelog must accompany its corresponding commit

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Unix domain socket (UDS) support for the gRPC listener, allowing clients to connect via unix:// addresses in addition to TCP addresses.

Changes:

  • Introduced GrpcAddress enum to support both TCP and Unix domain socket addresses
  • Modified gRPC server initialization to handle both TCP and UDS connection types
  • Added warning when TLS is configured with Unix domain sockets

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
yellowstone-grpc-geyser/src/config.rs Adds GrpcAddress enum with TCP/Unix variants and custom deserialization for unix:// prefix
yellowstone-grpc-geyser/src/grpc.rs Updates server binding logic to create appropriate listener based on address type and handle socket cleanup
CHANGELOG.md Documents the new Unix domain socket feature

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lvboudre
Copy link
Contributor

@Ozodimgba Let's support multi-uds socket serving too please.
We will have at least 2 software listening over uds.

@Ozodimgba Ozodimgba requested a review from lvboudre February 17, 2026 18:48
Copy link
Contributor

@lvboudre lvboudre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Ozodimgba Ozodimgba force-pushed the str-314 branch 6 times, most recently from 5ff0c0c to a2f02f0 Compare February 26, 2026 07:38
@lvboudre
Copy link
Contributor

@Ozodimgba I forgot about this, but can you add support for UDS connection inside the examples/rust/src/bin/client.rs file please?
This is a useful tool we used to quickly test locally.

Copy link
Contributor

@leafaar leafaar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good, there is some stuff to change. also the client library needs a connect_uds method on GeyserGrpcBuilder, and the examples (add examples btw) need a way to accept unix:///path/to/socket as the endpoint string.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 8 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lvboudre
Copy link
Contributor

lvboudre commented Mar 5, 2026

@Ozodimgba I need to the rust/examples/client to support this feature to properly test it on my end.

Cargo.toml Outdated
tokio = "1.47.1"
tokio-stream = "0.1.17"
tokio-util = "0.7.0"
tower = { version = "=0.4.13", features = ["util"] }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need to pin this version?
Also, features should not be activated at the workspace but for package that actaully need it, in your case inside yellowstone-grpc-geyser/Cargo.toml.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay noted, let me fix that real quick

@Ozodimgba Ozodimgba merged commit 40e0450 into master Mar 6, 2026
6 checks passed
@Ozodimgba Ozodimgba deleted the str-314 branch March 6, 2026 21:07
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