Skip to content
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 - Make MQTT Broker Configurable #1904

Merged
merged 15 commits into from
Oct 19, 2023

Commits on Oct 19, 2023

  1. Minor changes on mqtt publisher using nats

    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    0327eaf View commit details
    Browse the repository at this point in the history
  2. Remove vernemq dependencies

    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    3d015f9 View commit details
    Browse the repository at this point in the history
  3. Restore VerneMQ config files

    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    f124c8a View commit details
    Browse the repository at this point in the history
  4. Fix Makefile to support custom Docker profiles

    The Makefile has been updated to support custom Docker profiles.
    Previously, the Makefile only supported the default profiles for the
    message broker and MQTT broker. Now, the Makefile allows for custom
    profiles to be specified using environment variables. If the
    MF_BROKER_TYPE or MF_MQTT_BROKER_TYPE variables are not set, the
    default values "nats" and "nats" will be used, respectively. This
    change enables more flexibility in configuring the Docker environment
    for the project.
    
    The `run` target has also been modified to use the correct broker
    configuration file based on the MF_BROKER_TYPE variable. The sed
    command in the `run` target now replaces the placeholder in the
    docker/docker-compose.yml file with the appropriate broker
    configuration file.
    
    This commit improves the Makefile to support custom Docker profiles
    and ensures the correct broker configuration file is used when
    running the project.
    
    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    3439902 View commit details
    Browse the repository at this point in the history
  5. Fix queue binding issue in RabbitMQ pubsub

    The commit fixes an issue in the RabbitMQ pubsub implementation where the queue binding was not correctly set up. Instead of using the topic as the queue name, the commit now uses a unique client ID generated by combining the topic and subscriber ID. This ensures that each subscriber has its own dedicated queue. The commit also updates the queue binding to use the correct queue name.
    
    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    7c387a5 View commit details
    Browse the repository at this point in the history
  6. Refactor Docker config editing in Makefile

    The commit refactors the `edit_docker_config` function in the Makefile to improve readability and maintainability. The changes include:
    
    - Removing unnecessary conditionals related to the `rabbitmq` broker
    
    These changes ensure that the Docker configuration is correctly updated based on the specified MQTT broker type.
    
    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    5ea6701 View commit details
    Browse the repository at this point in the history
  7. Fix failing tests on RabbitMQ

    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    e662fd4 View commit details
    Browse the repository at this point in the history
  8. Refactor MQTT_BROKER comment in docker-compose.yml

    The MQTT_BROKER comment in the docker-compose.yml file has been updated to provide a more accurate description of its functionality. The comment now states that the MQTT_BROKER handles MQTT communication between MQTT adapters and the message broker, instead of Mainflux services. This change improves clarity and aligns with the actual purpose of the MQTT_BROKER.
    
    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    b72c8a6 View commit details
    Browse the repository at this point in the history
  9. Rename MF_BROKER to MF_MESSAGE_BROKER

    The Makefile and Semaphore configuration files have been refactored to update the variable names related to the message broker type.
    
    These changes ensure consistency and clarity in the codebase by using more descriptive variable names related to the message broker type.
    
    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    c0ccb58 View commit details
    Browse the repository at this point in the history
  10. Fix Docker profile configuration for nats_rabbitmq

    Update the Docker profile configuration for nats_rabbitmq by replacing the NATS URL in the .env file with the correct value.
    
    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    a20d3dd View commit details
    Browse the repository at this point in the history
  11. Rename MF_BROKER_URL to MF_MESSAGE_BROKER_URL

    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    f327f85 View commit details
    Browse the repository at this point in the history
  12. Fix MQTT QoS level in pubsub.go

    The MQTT QoS level in the pubsub.go file was set to 1, which is the
    default level. However, since NATS supports up to QoS 1, I updated the
    QoS level comment to reflect this.
    
    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    77853a2 View commit details
    Browse the repository at this point in the history
  13. Refactor NewPublisher to accept QoS parameter

    The NewPublisher function in the pkg/messaging/mqtt/publisher.go file has been refactored to accept a new parameter, qos, which represents the Quality of Service level for MQTT message publishing. This change allows for more flexibility in configuring the MQTT publisher.
    
    The NewPublisher function now has the following signature:
    
    ```go
    func NewPublisher(address string, qos uint8, timeout time.Duration) (messaging.Publisher, error)
    ```
    
    This change ensures that the MQTT publisher can be created with the desired QoS level, enhancing the reliability and delivery guarantees of the published messages.
    
    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    0304f4f View commit details
    Browse the repository at this point in the history
  14. Fix test assertions in pubsub_test.go

    The test assertions in the pubsub_test.go file were incorrect. This commit fixes the assertions to properly compare the expected and received message values.
    
    Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    d94c6c7 View commit details
    Browse the repository at this point in the history
  15. Test configurable MQTT broker

    Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
    rodneyosodo authored and drasko committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    87c3384 View commit details
    Browse the repository at this point in the history