Open aleksmaus opened 5 months ago
Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane)
- Endpoint to implement gRPC comms over domain sockets/named pipes support. There are plans to replace/rewrite the existing gRPC comms.
@aleksmaus Would you have an issue for this work on the Defend team that we could track?
I know that @jrmolin has gRPC comms rewrite in Rust for Endpoint. Mo, do you have a tracker for that?
@nimarezainia I don't think there's currently a public issue for it, but the work is in progress.
Describe the enhancement:
Change the Agent/Beats gRPC communication to utilize domain sockets/named pipes.
This is to follow up on the initial feature request: Agent/beats grpc comms over domain socket/named pipe
Done:
The initial implementation with Agent/beats grpc comms over domain socket/named pipe PR was scaled back due to lack of support for gRPC over domain sockets/named pipes by the underlying library that Endpoint uses for comms. The scope of this change was limited to switching to domain socket/named pipe for connection information discovery only, for 8.15 release.
The
elastic-agent-client
library was updated in order to support comms over domain socket/named piped: https://github.com/elastic/elastic-agent-client/pull/91The Endpoint spec was enhanced with
csocket
configuration that defines the domain socket file name relative to the Agent install directory on non-Windows OS or the named pipe name on Windows.The Endpoint was modified to connect to the specified domain socket/named pipe for the connection information discovery.
The code for domain sockets/named pipes gRPC comms was disabled in https://github.com/elastic/elastic-agent/pull/4249
TODO:
Describe a specific use case for the enhancement or feature:
There were few SDH related to the fact that the current GRPC comms are over IP socket and ask for ability to use domain socket/named pipe instead.
What is the definition of done?
Agent can communicate with Beats and Security Endpoint over domain sockets/named pipes.