Eventrouter

eventrouter simple introspective kubernetes service that forwards events to a specified sink. EventRouter is a class for broadcasting messages to subscribers. Clients of the EventRouter register themselves by calling Subscribe and passing in the even they are interested in along with a delegate to be called back when the event is received. Events are published via the Publish method which allows arbitrary data to be passed along with the event to be interpreted by the event receiver. Events do not have to be pre-defined.

Publish and Subscribe methods also have an optional id parameter which will filter the events a receiver gets to just those that match the provided event and id. Subscribing to an event with no id will result in receiving all events of the specified type.

Goals

This project has several objectives, which include:

  • Persist events for the longer period of time to allow for system debugging
  • Allows operators to forward events to other systems (s) for archiving/ML/introspection/etc.
  • It should be relatively low overhead
  • Support for multiple sinks should be configurable

NOTE:

By default, eventrouter is configured to leverage existing EFK stacks by outputting wrapped json object which is easy to index in elastic search.

Non-Goals:

This service does not provide a querable extension, that is a responsibility of the sink

This service does not serve as a storage layer, that is also the responsibility of the sink

Tell us about a new Kubernetes application

Newsletter

Never miss a thing! Sign up for our newsletter to stay updated.

About

Discover and share new Kubernetes applications

Navigation