Any plans for Docket with gRPC?

Just a general question to the community. I see that Stenographer has support for gRPC to pull pcap from remote sensors all from a single location. Is this somewhere that Docket may be going in the future?

Found interesting article on the idea here: https://medium.com/@jshlbrd/stenographer-grpc-bfc20366d801

Also saw the support mentioned in Stenographer’s Design documentation. -https://github.com/google/stenographer/blob/master/DESIGN.md

~Ryan

@jonesry, I actually just recently started playing with this, but it wouldn’t actually change the way Docket on the frontend delivers data to the user. It may make maintenance of the code easier long term, so it may make sense to update the backend accordingly. The current builds of Stenographer distributed with ROCK do include the gRPC support, but you have to explicitly configure it according to the directions in the Stenographer repo.

@dcode - That would be great for what I’m trying to do. I am looking to have one location where we can go and then just select the sensor from which we would like to see pcap. I haven’t looked into exactly what changes would need to be made to the Docket gRPC client-side, I’m not sure I would even know where to start with that. I would be more than happy to do some testing though, if there’s a rough version of the needed config to work from.

So the backend of Docket was actually already built with this in mind, but we never fully implemented it in the frontend (sorry, open source project, we work on it when we can). For instance, the /stats API endpoint supports a comma delimited list of sensor names and is filtered out here. It wouldn’t be too hard to add that in to the query task here and then propagate it forward.

When we implemented it, I wasn’t sure how we could really represent that cleanly in the API, but it strikes me now, we could implement it similar to how Elasticsearch allows you to select an index pattern with the Query API. Check if the first value is a comma delimited list and could even do safe wildcard matching using the fnmatch Python library.

Unfortunately, I don’t have the cycles to implement that right now, but I could help steer someone that wanted to get that piece working with the existing HTTPS backend. gRPC connections to Stenographer doesn’t inherently enable this functionality that you’re looking for, though I’m not opposed to that either.