/device-rest-go

Owner: Device WG

Primary LanguageGoApache License 2.0Apache-2.0

device-rest-go

Build Status Code Coverage Go Report Card GitHub Latest Dev Tag) GitHub Latest Stable Tag) GitHub License GitHub go.mod Go version GitHub Pull Requests GitHub Contributors GitHub Committers GitHub Commit Activity

Warning
The main branch of this repository contains work-in-progress development code for the upcoming release, and is not guaranteed to be stable or working. It is only compatible with the main branch of edgex-compose which uses the Docker images built from the main branch of this repo and other repos.

The source for the latest release can be found at Releases.

EdgeX device service for REST protocol

This device service supports two-way communication for commanding. REST endpoints provides easy way for 3'rd party applications, such as Point of Sale, CV Analytics, etc., to push async data into EdgeX via the REST protocol. Commands allows EdgeX to send GET and PUT request to end device.

Documentation

For latest documentation please visit https://docs.edgexfoundry.org/latest/microservices/device/services/device-rest/Purpose

The locally built Docker image can then be used in place of the published Docker image in your compose file. See Compose Builder nat-bus option to generate compose file for NATS and local dev images.

Build Instructions

  1. Clone the device-rest-go repo with the following command:

     git clone https://github.com/edgexfoundry/device-rest-go.git
    
  2. Build a docker image by using the following command:

     make docker
    
  3. Alternatively the device service can be built natively:

     make build
    

Build with NATS Messaging

Currently, the NATS Messaging capability (NATS MessageBus) is opt-in at build time. This means that the published Docker images do not include the NATS messaging capability.

The following make commands will build the local binary or local Docker image with NATS messaging capability included.

make build-nats
make docker-nats

Packaging

This component is packaged as docker images. Please refer to the Dockerfile and Docker Compose Builder scripts.