Neptunus is a data processing engine for consuming, transforming, and producing events. Originally conceived as a central unit of a mediation platform, Neptunus can:
- receive data from a number of different sources, either from message brokers or by acting as a server,
- manage event streams based on filtering rules,
- transform, enrich, and create new events,
- and deliver events to consumers in various formats and protocols.
It also can collect and write metrics, directly related to your processes.
Neptunus is based on data processing pipelines - a composition of six types of plugins:
- Inputs consume events from external sources
- Processors transform events
- Outputs produce events to external systems
- Filters route events in pipeline by conditions
- Parsers convert raw data into events
- Serializers convert events into data formats for external systems
Neptunus configuration has two parts - daemon config and pipelines.
See more in our documentation.
neptunus --help
neptunus run --config config.toml
neptunus test --config config.toml
neptunus pipeline --help
This project uses Taskfile as a build tool. Out-of-the-box, there are three OS and two platform combinations: linux, windows, darwin and amd64, arm64. You can add more in builds and packs tasks if needed. All tasks should be cross-platform, but note that they are tested only on Windows 10 and Linux (Ubuntu 22.04).
Then, follow simple steps:
- Install Taskfile and go-licence-detector
- Run
task build:{{ OS }}-{{ PLATFORM }}to build binary - Run
task build:noticeto generate NOTICE.txt file - Run
task pack:{{ OS }}-{{ PLATFORM }}to pack your build - Run
task build:dockerortask build:podmanif you need container image - Finally, run
task cleanupto remove build artifacts from file system