-
Notifications
You must be signed in to change notification settings - Fork 672
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
NOISSUE - Use RabbitMQ as MQTT broker #2695
base: main
Are you sure you want to change the base?
Conversation
49dfbb5
to
518b59e
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2695 +/- ##
==========================================
- Coverage 42.28% 34.60% -7.68%
==========================================
Files 349 252 -97
Lines 47349 38518 -8831
==========================================
- Hits 20021 13329 -6692
+ Misses 25154 24125 -1029
+ Partials 2174 1064 -1110 ☔ View full report in Codecov by Sentry. |
1fa3a37
to
e98d585
Compare
@rodneyosodo Please rebase. |
interceptor := interceptor{ | ||
username: cfg.MQTTTargetUsername, | ||
password: cfg.MQTTTargetPassword, | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need this interceptor to set username and password?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RabbitMQ runs in two modes, with and without authentication. For our case devices, i.e, clients always have authentication (thingID and thingKey). So we either add the RabbitMQ username and password when sending the request or remove the username and password when forwarding the request to RabbitMQ
a6b294f
to
db4a8ae
Compare
This reverts commit cff6e7f. Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
This reverts commit 87db3e6. Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Use rabbitMQ alpine rather than management-alpine since we are enabling that feature using config files Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
db4a8ae
to
d12c628
Compare
What type of PR is this?
This is a feature because it adds the following functionality: Add RabbitMQ as a MQTT broker.
What does this do?
The changes update the MQTT adapter and Docker configurations across the project. In the MQTT adapter, new configuration fields, a connection interceptor, and enhanced publisher/forwarder logic have been introduced, including authentication and QoS support. Docker-related files have been modified to integrate RabbitMQ as the MQTT broker, with updated environment variables, deployment documentation, and RabbitMQ-specific settings. Additional improvements include new tracing middleware for MQTT forwarding, updated dependency versions, and comprehensive tests for the MQTT pub/sub functionality using Docker.
Which issue(s) does this PR fix/relate to?
Have you included tests for your changes?
Yes, I have included tests for my changes. I have tested MQTT pubsub, COAP pubsub and HTTP pub. WS will be fixed in another PR
Did you document any new/modified feature?
Notes