This Week in Fluvio #10
Welcome to This Week in Fluvio, our weekly newsletter for development updates to Fluvio open source. Fluvio is a distributed, programmable streaming platform written in Rust.
No new release
We didn't have a new release this week.
Instead the team met up in person for the first time!
This is us trying to not look overheated after the audio tour at Alactraz.
New managed connector
MQTT
We have a new connector for the MQTT protocol available.
Example config
# config.yaml
version: 0.2.0
name: my-test-mqtt
type: mqtt
topic: public-mqtt
direction: source
parameters:
mqtt_topic: "testtopic/#"
secrets:
MQTT_URL: "mqtts://broker.hivemq.com:8883"
foo: bar
$ fluvio cluster connector create --config config.yaml
$ fluvio cluster connector list
-------------
NAME STATUS
my-test-mqtt Running
The test connector produces to a topic public-mqtt
, where each record is an mqtt record corresponding to our configured mqtt topic.
The testtopic/fluvio
payload, for example, says "hello world"
%copy first-line%
$ fluvio consume public-mqtt --tail -d
Consuming records starting 10 from the end of topic 'public-mqtt'
{"mqtt_topic":"testtopic/fluvio","payload":[104,101,108,108,111,32,119,111,114,108,100]}
{"mqtt_topic":"testtopic/a_home/temp","payload":[50,54]}
{"mqtt_topic":"testtopic/a_home/menu/reg","payload":[49]}
{"mqtt_topic":"testtopic/a_home/menu/rele1","payload":[48]}
{"mqtt_topic":"testtopic/a_home/menu/rele2","payload":[48]}
{"mqtt_topic":"testtopic/a_home/menu/pwm1","payload":[51,48]}
{"mqtt_topic":"testtopic/a_home/menu/pwm2","payload":[51,48]}
{"mqtt_topic":"testtopic/a_home/menu/tc","payload":[49,48,48]}
{"mqtt_topic":"testtopic/a_home/menu/tzad","payload":[50,49,52,55,52,56,51,54,52,55]}
In order to keep this connector generic, the payload is encoded as bytes. Rest assured that we'll provide more documentation for best practice in the future.
To stop the connector, you need to delete it:
$ fluvio cluster connector delete my-test-mqtt
See more info about connectors
Features coming soon
Table
Tables will enable materialized views with your structured JSON/YAML/TOML data. You will be able to select and format specific keys for display into a table.
This feature is not yet ready to use, but you may notice this command available CLI.
$ fluvio table
Get in touch with us on Github Discussions or join our Discord channel and come say hello! Watch videos on our InfinyOn Youtube Channel
For the full list of changes this week, be sure to check out our CHANGELOG.
Until next week!