Skip to content

Latest commit

 

History

History
196 lines (160 loc) · 6.95 KB

README.md

File metadata and controls

196 lines (160 loc) · 6.95 KB

mqtt - MQTT broker

This container may be run locally using Docker, pushed to a Docker registry, and published to any Open Horizon exchange.

Status

Supports amd64 Architecture Docker Pulls

Supports arm Architecture Docker Pulls

Supports arm64 Architecture Docker Pulls

Service discovery

  • org - github@dcmartin.com
  • url - com.github.dcmartin.open-horizon.mqtt
  • version - 0.0.2

Service variables

  • MQTT_PERIOD - update time in seconds for server statistics
  • LOG_LEVEL - specify level of logging; default info; options include (debug and none)
  • DEBUG - force debug settings; boolean; default false

How To Use

Copy this repository, change to the mqtt directory, then use the make command; see below:

% mkdir ~/gitdir
% cd ~/gitdir
% git clone http://github.com/dcmartin/open-horizon
% cd open-horizon/mqtt
% make
...
{
  "mqtt": null,
  "date": 1554315853,
  "hzn": {
    "agreementid": "",
    "arch": "",
    "cpus": 0,
    "device_id": "",
    "exchange_url": "",
    "host_ips": [
      ""
    ],
    "organization": "",
    "ram": 0,
    "pattern": null
  },
  "config": null,
  "service": {
    "label": "mqtt",
    "version": "0.0.2"
  }
}

The mqtt payload will be incomplete until the service completes; subsequent make check will return complete; see below:

{
  "mqtt": {
    "date": 1554315868,
    "pid": 30,
    "version": "mosquitto version 1.4.15",
    "broker": {
      "bytes": {
        "received": 8304505370,
        "sent": 7894992284
      },
      "clients": {
        "connected": 1
      },
      "load": {
        "messages": {
          "sent": {
            "one": 922.8,
            "five": 967.88,
            "fifteen": 1043.74
          },
          "received": {
            "one": 2484.32,
            "five": 2687,
            "fifteen": 2903.34
          }
        }
      },
      "publish": {
        "messages": {
          "received": 1021075,
          "sent": 30789,
          "dropped": 0
        }
      },
      "subscriptions": {
        "count": 153
      }
    }
  },
  "date": 1554315853,
  "hzn": {
    "agreementid": "",
    "arch": "",
    "cpus": 0,
    "device_id": "",
    "exchange_url": "",
    "host_ips": [
      ""
    ],
    "organization": "",
    "ram": 0,
    "pattern": null
  },
  "config": null,
  "service": {
    "label": "mqtt",
    "version": "0.0.2"
  }
}

Open Horizon

This service may be published to an Open Horizon exchange for an organization. Please see the documentation for additional details.

User Input (options)

Nodes should register using a derivative of the template userinput.json file. Options include:

  • LOG_LEVEL - specify level of logging; default info; options include (debug and none)
  • DEBUG - force debugging mode; boolean; default false

About Open Horizon

Open Horizon is a distributed, decentralized, automated system for the orchestration of workloads at the edge of the cloud. More information is available on Github. Devices with Horizon installed may register for patterns using services provided by the IBM Cloud.

Credentials

Note: You will need an IBM Cloud [account][ibm-registration]

Credentials are required to participate; request access on the IBM Applied Sciences [Slack][edge-slack] by providing an IBM Cloud Platform API key, which can be [created][ibm-apikeys] using your IBMid. An API key will be provided for an IBM sponsored Kafka service during the alpha phase. The same API key is used for both the CPU and SDR addon-patterns.

Setup

Refer to these instructions. Installation package for macOS is also available

Further Information

Refer to the following for more information on [getting started][edge-fabric] and [installation][edge-install].

Changelog & Releases

Releases are based on Semantic Versioning, and use the format of MAJOR.MINOR.PATCH. In a nutshell, the version will be incremented based on the following:

  • MAJOR: Incompatible or major changes.
  • MINOR: Backwards-compatible new features and enhancements.
  • PATCH: Backwards-compatible bugfixes and package updates.

Authors & contributors

David C Martin (github@dcmartin.com)