Delta
An easy to understand and pluggable eventing system.
Overview
Delta is a run anywhere binary that allows you to easily dictate the flow of events in your system. To achieve this
delta uses configuration files to specify where events come from, what should happen to them during
processing, and where they should be sent.
The specific configuration recipe that you will need will be a combination of the avalibale ingredients with some additions and some removals. For some inspiration, take a look in the ./recipes
directory.
To get the latest binaries head over to the releases page or pull
the docker image docker run -it andrewneudegg/delta
.
Table of Contents
TL;DR (Example Recipes)
HTTP Server
applicationSettings: {}
pipeline:
# This first pipeline generates and emits http events.
- id: pipelines/fipfo
config:
input:
- id: utilities/generators/v1
config:
interval: 10s
numberEvents: 10000
numberCollections: 1
output:
- id: http/v1
config:
targetAddress: http://localhost:8080
# This second pipeline consumes those events and writes to stdout.
- id: pipelines/fipfo
config:
input:
- id: http/v1
config:
listenAddress: :8080
maxBodySize: 1000000 # 1mb
output:
- id: utilities/performance/v1
config:
sampleWindow: 60s
nodes:
- id: utilities/console/v1
Encryption
applicationSettings: {}
pipeline:
- id: pipelines/fipfo
config:
input:
# The crypto resource wraps the generator resource.
- id: utilities/crypto/v1
config:
mode: encrypt
password: iddX0DQKGMl7LszqdDKUL6aFVvMGAtwd
nodes:
- id: utilities/generators/v1
config:
interval: 1s
numberEvents: 1
numberCollections: 1
output:
# Decrypt the events before writing the output to console.
- id: utilities/crypto/v1
config:
mode: decrypt
password: iddX0DQKGMl7LszqdDKUL6aFVvMGAtwd
nodes:
- id: utilities/console/v1
applicationSettings: {}
pipeline:
- id: pipelines/fipfo
config:
input:
# Wrap a resource with a performance measuring resource.
- id: utilities/performance/v1
config:
sampleWindow: 10s
nodes:
- id: utilities/generators/v1
config:
interval: 1s
numberEvents: 1000
numberCollections: 1000
output:
- id: utilities/console/v1
License
MIT LICENSE