Configuration
Reveald is configured with a single JSON file. The file uses HUJSON format, which extends JSON with support for comments and trailing commas.
Config file structure
A reveald config has two top-level keys: sources and destinations. Both are maps where each entry has a unique name and a type field that determines which source or destination is used.
The source and destination names (e.g. "my-source-name") are identifiers used in logging and metrics. Choose descriptive names.
Every source feeds every destination --- all events from all sources are delivered to all configured destinations.
Environment variables
Sensitive values like webhook URLs and API keys can be referenced as environment variables. Prefix the value with $ and use a valid environment variable name:
Then set the variable before running reveald:
Environment variable substitution requires the entire value to be a $VARIABLE reference. Inline interpolation like "https://host/$PATH" is not supported.
Default config path
The default config path is /etc/reveald/config.json. Override it with the --config or -c flag:
Debug logging
Set the RUNREVEAL_DEBUG environment variable to enable debug-level logging:
Multiple sources and destinations
You can define as many sources and destinations as needed. Each runs concurrently:
High-watermark files
Reveald persists read positions so it can resume after restarts without reprocessing logs:
| Source | Watermark file |
|---|---|
file | ~/.config/reveald/watcher-hwm.json |
cri | ~/.config/reveald/cri-hwm.json |
journald | ~/.config/reveald/kawad-journald-hwm |
These files are created automatically. If you need a clean start, stop reveald and delete the relevant watermark file.
Full example
Here is a production-ready configuration collecting from multiple sources:
Related
- Sources --- All source type options
- Destinations --- All destination type options
- Processors --- Transform events before forwarding