Stenographer is a packet capture solution which aims to quickly spool all packets to disk, then provide simple, fast access to subsets of those packets. Discussion/announcements at stenographer@googlegroups.com
Apache License 2.0
1.79k
stars
233
forks
source link
Add support for an optional, secure gRPC service #202
This PR adds a gRPC service to Stenographer and implements a call to retrieve PCAP via stenoread. The gRPC service is designed to only use a secure channel (due to the sensitivity of packet data) with SSL certificates that are managed separately from those created by stenokeys.sh (due to users needing to manage remote access to many servers running Stenographer, though technically users could share the certs used by the local Stenographer HTTP service). This commit explicitly does not address any client-side integration with the gRPC service, but clients can build interaction based on the protobuf and documentation in DESIGN.md. Copyrights have been added per CONTRIBUTING.md and the CLA signed. Below is a summary of the additions and changes:
Added rpc/rpc.go
Added protobuf/steno.proto
Changed config/config.go to support Rpc configuration
Changed stenographer.go to check for Rpc configuration and (if found) run gRPC server as a goroutine
This PR adds a gRPC service to Stenographer and implements a call to retrieve PCAP via stenoread. The gRPC service is designed to only use a secure channel (due to the sensitivity of packet data) with SSL certificates that are managed separately from those created by stenokeys.sh (due to users needing to manage remote access to many servers running Stenographer, though technically users could share the certs used by the local Stenographer HTTP service). This commit explicitly does not address any client-side integration with the gRPC service, but clients can build interaction based on the protobuf and documentation in DESIGN.md. Copyrights have been added per CONTRIBUTING.md and the CLA signed. Below is a summary of the additions and changes: