Producers are the main ingress point for events into SOL Panel. Producers can come in all sorts of formats and are primarily sourced from plugins.
In an extremely simplified view, an event enters a stream like so:
If there are any transformers attached to the producer then SOL Panel runs those in serial prior to adding to the stream:
Producer transformers allow you to modify an event after the Producer has created it, but before it's added to the stream.
Transformers are ran in serial for producers. This ensures that the order in which the transformers are executed is determinstic and that each transformer in the chain can operate on a lock-free event.
Because of this, you should structure your transformer chains to be as small as possible for producers. This is notably different from Consumer transformers as they operate on each event in parallel before sending to the Consumer.
SOL Panel ships with the following default producers:
- Dedicated RPC
Webhooks are extremely simple. Any message sent to the endpoint will be added to the stream.
Scripts have additional configuration that determines when and how the script runs. You can run a script in the following modes:
Continuous(Restart if process exits)
Scheduled(with regular crontab sytnax)
For more complex scenarios, you can select any Docker container to run as a producer.