microsoft / microsoft/retina

Make it possible to load your own module

Open
#214 7 comments 0 reactions 2 assignees Claimed by @vakalapa View on GitHub
area/plugins lang/go type/enhancement
Dominant language
Go
Stars
3.2k
Forks
304
Avg merge
1d 19h
Merged PRs (30d)
78

Description

**Is your feature request related to a problem? Please describe.**
We are using Retina's `packetparser` plugin to collect information about packets. We love the fact that under the hood, packets are treated as "events" that are sent to userspace and are annotated with Kubernetes information in `enricher`. However, the following step of using the `forward` (or some other) module does not work well for us – we don't want to expose and collect Prometheus metrics and instead want to continue treating packets as "events" and insert them into a ClickHouse instance with a SQL query.

Retina provides wonderful infrastructure to capture and annotate packet data, but the data ingestion pipeline, which is typically the part you need to customise the most, can't be modified without forking Retina, unless I am missing something obvious.

Would you consider making it possible to create your own modules with custom `ProcessFlow` implementations?

**Describe the solution you'd like**
Make it easy to write a custom module that implements the `AdvMetricsInterface` interface and is loaded into Retina.

**Describe alternatives you've considered**
N/A

**Additional context**
Please let me know if there is a simpler way to write a custom data exporter. If there isn't, let me know what a good solution would be, and I'd be happy to contribute to the project.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.