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:
Setup support for your IDE
Tremor supports language server extensions for VS Code and VIM text editors/IDEs:
Make sure tremor binary is on your PATH
$ export PATH=/Path/to/tremor-src-repo/target/debug/:$PATH
$ tremor --version
The following recipes show how to quickly configure and deploy common tremor-based applications. These recipes assume no prior working knowledge of tremor.
Basic introduction to core features of tremor.
passthrough - Pass through events
filter - Filter events
transform - Transform events
validate - Validate structure of data in events
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
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
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
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