eventgate-wikimedia - WMF specific implementation of eventgate. Also used for deployment-pipeline to build docker images and deploy to Kubernetes.

Clone this repo:

Branches

  1. cbe9bbe Fix bug where stream config is being fetched constantly! by Ottomata · 6 months ago master
  2. 7296d05 Remove support for dynamic stream config by Ottomata · 6 months ago
  3. f9eb56f Updates for running with upgraded EventGate library and node 18 by Ottomata · 7 months ago
  4. 65f3304 blubber: bump schema repo version. by Gabriele Modena · 7 months ago
  5. c7e281a Bump primary event schema repo version by AikoChou · 9 months ago

eventgate-wikimedia

Wikimedia's implementation of EventGate.

This module contains the EventGate factory implementation in eventgate-wikimedia.js This allows us to plug in Wikimedia specific code into the generic EventGate service. EventGate is launched using service-runner given the config.yaml here. That config specifies the eventgate_factory_module as this module.

This repository also contains Wikimedia Deployment Pipeline configs and scripts in the .pipeline directory. This contains a blubber.yaml file that is used by the Deployment Pipeline to automatically build Docker images. Those images are then used in the eventgate Helm chart to deploy eventgate service instances to Kubernetes.

See also EventGate and EventGate Administration documentation.

Notes and modifications from the default EventGate implementation

  • Sets defaults for wikimedia event schemas like meta.dt and http.request_headers['user-agent'].

  • Adds query params to set stream and schema URI if they are not present in the event, E.g. POST /v1/events?stream=my_stream&schema_uri=/my/schema/1.0.0

  • Respects stream configs setting message_key_fields to hoist event data into a JSON key for use when producing messages to Kafka.