Skip to main content
Version: Next

Tremor Recipes

This Recipes serves as a getting started laboratory for downloading, compiling and running tremor on development machines and developing tremor-based solutions.

Table of Contents

Download and environment setup

Download and build quick start

Make sure your environment is setup for building tremor:

Tremor Development Quick Start

Setup support for your IDE

Tremor supports language server extensions for VS Code and VIM text editors/IDEs:

Tremor Language Server

Make sure tremor binary is on your PATH

$ export PATH=/Path/to/tremor-src-repo/target/debug/:$PATH
$ tremor --version
tremor 0.9.0

Solution Recipes

The following recipes show how to quickly configure and deploy common tremor-based applications. These recipes assume no prior working knowledge of tremor.

Ingredients

Basic introduction to core features of tremor.

passthrough - Pass through events

filter - Filter events

transform - Transform events

validate - Validate structure of data in events

Legacy Observability

Before the rise of CNCF OpenTelemetry, logging, metrics and tracing required a lot of glue to be used to wire together a well-monitored and observable system.

logstash - Logstash

influx - Influx

postgres_timescaledb - Postgres / Timescale

grafana - Grafana

syslog_udp - Syslog over UDP

syslog_udp_dns - Syslog over UDP with DNS

Modern Observability

CNCF OpenTelemetry provides a way forward, finally a standardised wire form and protocol for logging, metrics and tracing.

otel_elastic_apm - Elastic APM integration

otel_passthrough - Otel passthrough service

otel_zipkin - Otel Zipkin integration

otel_jaeger - Otel Jaeger integration

otel_prometheus - Otel Prometheus integration

Deployment Patterns

Tremor-based systems have generally followed a set of predictable architectures and configurations. These recipes show some of those patterns in their simplest forms.

quota_service - A quota configuration service

configurator - A generic configuration service

polling_alerts - Alert polling

transient_gd - Transient guaranteed delivery

persistent_gd - Persistent guaranteed delivery

roundrobin - Round robin delivery

servers_lt_http - HTTP rpc

servers_lt_ws - WS rpc

proxies_lt_http - HTTP proxy

proxies_lt_ws - WS proxy

bridges_lt_http_ws - HTTP WS bridge

reverse_proxy_load_balancing - Reverse proxy

Messaging

If you have systems that rely on Kafka compatible message processing with the fully open source Apache edition, the Confluent edition or the Redpanda edition, then these examples are a good reference for event processing with tremor that preserves guaranteed delivery of kafka to kafka communications.

kafka_elastic_correlation - Kafka correlation

redpanda_elastic_correlation - Redpanda correlation

kafka_gd - Kafka guaranteed delivery

redpanda_gd - Redpanda guaranteed delivery

rabbitmq - RabbitMQ integration