Skip to content

suneetnangia/http-mqtt-connector

Repository files navigation

Http Mqtt Connector

A repo to periodically read data from RESTful APIs and publish it on MQTT broker.

Overview

Design

Note: To understand MQTT topic generation and its customization options please refer to the document here.

Features

  1. Poll RESTful endpoints using GET verb.
  2. Configurable polling interval for RESTful endpoints.
  3. MQTT connectivity using anonymous, username/password or SAT token in Azure IoT Operations.

Deploy in K8s

  1. Add Helm Repo:

    helm repo add aio-extensions https://raw.githubusercontent.com/suneetnangia/http-mqtt-connector/release_management

  2. Copy configuration file from the example:

    1. For AIO here.
    2. For Non-AIO here.
  3. Update configuration file with your specifics, refer to the guide here.

  4. Install Helm package (appsettings.json content is stored as a K8s secret):

    1. For AIO:

      helm install http-mqtt-connector-01 aio-extensions/aio-http-mqtt-connector --namespace azure-iot-operations --create-namespace --set-file appsettingsContent=$pwd./<path to your>/appsettings.json

    2. For non-AIO

      helm install http-mqtt-connector-01 aio-extensions/http-mqtt-connector --namespace azure-iot-operations --create-namespace --set-file appsettingsContent=$pwd./<path to your>/appsettings.json

  5. Uninstall Helm package (after evaluation):

    helm uninstall http-mqtt-connector-01 -n azure-iot-operations

Backlog

Please refer to the project board here.

Development Loop

Open in GitHub Codespaces