Sign inSign up

tremorproject/tremor

By tremorproject

•Updated over 1 year ago

Tremor docker image

Image
Integration & delivery
Internet of things
Monitoring & observability
2

100K+

tremorproject/tremor repository overview

⁠Tremor

This image runs Tremor⁠. You can read the full documentation here⁠.

It is built from the Dockerfile⁠ in the tremor-runtime repository⁠.

⁠Tags

Tremor is published with the following tags:

  • x.x.x (i.e. 0.7.3) - A specific release
  • x.x.x-alpha (i.e. 0.7.4-alpha) - Specific pre-relases for testing
  • latest - The latest released version of tremor
  • edge - The latest experimental build

⁠Running

You can run the image with the following command

$ docker run \
  -i \
  --name tremor \
  --mount type=bind,source="$(pwd)"/config,target=/etc/tremor \
  tremorproject/tremor:latest

Where ./config is a configuration directory that gets mapped to /etc/tremor in the running image.

⁠Configuration

The documentation⁠ covers how to configure tremor but here are some details.

The image is configured using a directory mounted into the image. The directory has the following structure:

+ /
   - logger.yaml
   + ./config/
      - *.trickle
      - *.tremor
⁠logger.yaml

We are using log4rs⁠ for logger configuration. The configuration will reload without restart, an explanation of the file format can be found here⁠.

An example configuraiton is:

# Example minimal config, also used in docker images
# please do not change!
---

# Scan this file for changes every 30 seconds
refresh_rate: 30 seconds

appenders:
  # An appender named "stdout" that writes to stdout
  stdout:
    kind: console

  # An appender named "requests" that writes to a file with a custom pattern encoder
  file:
    kind: file
    path: "/logs/tremor.log"
    encoder:
      pattern: "{d} - {m}{n}"

# Write only warnings to stdout
root:
  level: error
  appenders:
    - stdout

loggers:
  # Write info level logs to the log file
  tremor_runtime:
    level: info
    appenders:
      - file
    additive: false
⁠*.trickle

Trickle queries are loaded in no specified order. Each file will generate a pipeline with the name of the file, so my-pipeline.trickle will expose the pipeline tremor://pipelines/my-pipeline.

An explanation of the trickle language can be found in the docs⁠.

⁠*.tremor

Tremor yaml files, defining pipelines, mappings, no and offramps. they are loaded in in lexicographic order from the file system. So this is similar to how ls will output them by default. Note that they all share a namespace, so artifacts defined in one file can be accessed from another file - so the order is signficant!

It is recommended to load files including mappings last, that way it is guaranteed that dependent artifacts have been loaded.

The documentation⁠ includes a list of artifacts that can be used:

Tag summary

Content type

Image

Digest

sha256:14a7fed81…

Size

59.6 MB

Last updated

over 1 year ago

docker pull tremorproject/tremor:edge