-
Notifications
You must be signed in to change notification settings - Fork 592
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prototype a MQTT Source #7207
Comments
I really love the idea and this is definitely a start in the right direction. I guess such a |
I would like to work and contribute on this. |
/assign |
@g1rjeevan sounds good! Feel free to join our slack instance for further discussions |
hey @g1rjeevan, are you still on the ticket..........I want to give it a try |
Are there any updates on this issue @g1rjeevan? Please let me know if you are still working on it and still need more time within the next 24 hours, otherwise we will give @prakrit55 a chance to try! Thanks :) |
/unassign |
Hey @Leo6Leo, thanks for mentioning. Yes, it wd love to work on it. |
/assign @prakrit55 |
@prakrit55 are there any questions about this Issue? |
Hey @Leo6Leo, sorry for the delay. Where could I find the main for |
Hey @prakrit55, thanks for working on this issue. Our final goal is to create a containersource that can emit the MQTT event. Something similar to this, see how the heartbeats source is implemented. So the code should be in a package under The final goal should be:
|
hey @Leo6Leo, should we configure it with only http or https with tls ?? |
Hey @prakrit55, follow up upon our conversation on slack regarding this question, I have consulted with tech lead @pierDipi , and do you want to give a try to both http and https? :))) Please let us know if you have any questions! Here is a code snippet that might be helpful to you when you are working on the TLS part. eventing/cmd/heartbeats/main.go Lines 138 to 158 in 0a6d5b4
|
/assign |
hey @Leo6Leo this issue seems pretty interesting for me and I want to give a go. I am assigning this to myself. |
/assign |
This issue is stale because it has been open for 90 days with no |
/remove-lifecycle stale |
Hi! I'm interested in working on this issue if it's not worked on now. |
Welcome @ctmphuongg, |
/assign |
@ctmphuongg As you described the process that you tested cloud-event's sample MQTT receiver:
The reason why there is no message is received is because you are passing the data as string, without specify any cloudevent properties. According to CloudEvent Spec for MQTT,
And according to the example here indicated:
you will need to carefully craft the message (payload) of your data, otherwise cloudevent go-sdk will fail the event validation, and will not invoke the Invoker function. To conclude, the correct mosquitto_pub command should be:
Hope this helps, and please let me know if you have any questions! |
Problem
We do not have a
MQTT Source
in Knative Eventing, for transforming messages from MQTT brokers to Cloudevents and ingest them via HTTP into the Knative Eventing system.With "edge" / "iot" computing there is a growing number of "devices" that emit MQTT message to brokers. In order to process those message in Knative Eventing, we need a Source to read from those MQTT brokers
POC Implementation
Instead of directly creating a fully fledge controller, we can go a much simple approach and create an image, that can be used inside the
ContainerSource
, like we did for the websockets protocol. See:This would give us a quick win, and a good starting point for developers in the need to transform MQTT messages to cloudevents, into the Knative eventing sytstem
Persona:
Developers
Exit Criteria
A binary/image that can be used via the
Containersource
CRDTime Estimate (optional):
2-3
Additional context (optional)
The text was updated successfully, but these errors were encountered: