Implement event forwarder

Problem

We do not have a mechanism for sending SM Snowplow events to the Snowplow collector yet.

Desired Outcome

The frontend, IDE extensions and other future services should be able to trigger Snowplow events that are send to the event collector endpoint.

In order for the non-backend services not to have to connect to the event collector endpoint directly, they should instead send events to the backend. The backend should then forward the events to the event collector. image

Since the event forwarder will be handling a lot of events we he have to make sure that it performs every well under high load.

The event forwarder should forward all the original event information sent from the services.

Since enabling this feature could potentially create data loss, a feature flag should be used. !179666 (merged)'s feature flag can be used for that.

Potential Solution

Existing POC: !178838 (closed)

Documentation Update Needed

  • Yes
  • No

How to verify

Further actions needed

Edited by Michał Wielich