open-horizon-services / service-edgelake

Deployment of EdgeLake using OpenHorizon
0 stars 2 forks source link

EdgeLake Service for OpenHorizon

EdgeLake is a decentralized network to manage IoT data. Nodes in the network are compute instances that execute the EdgeLake Software. Joining a network requires the following steps:

  1. Install the EdgeLake Software on one or more computer instances.
  2. Configure each installed node (compute instance) such that:
    1. The node joins an exiting network (or creates a new network).
    2. The node offers data management and monitoring services.

Table of Content:

General Configuration of Network

A basic network setup consists of a master node, 2 or more operator nodes and a query node - as shown in the image below. These nodes can be deployed either on the same physical machine, or unique machines.

Demo Diagram

Usage

The make command allows deploying an EdgeLake node based on a user-define node type (Master, Operator or Query).

All Makefile targets

Examples

Docker-based Deployment:

# deploy container 
make up EDGELAKE_TYPE=[NODE_TYPE]

# attach to container (ctrl-d to detach) 
make attach EDGELAKE_TYPE=[NODE_TYPE]

# bring down container
make down EDGELAKE_TYPE=[NODE_TYPE]

# clean container from system
make clean EDGELAKE_TYPE=[NODE_TYPE]

OpenHorizon-based Deployment

# Publish Service 
make publish-service EDGELAKE_TYPE=[node_type]

# Publish Service Policy 
make publish-service-policy EDGELAKE_TYPE=[node_type]

# Publish Deployment Policy 
make publish-deployment-policy EDGELAKE_TYPE=[node_type]

# Start container (deploy agent) 
make agent-run EDGELAKE_TYPE=[node_type]

# Unregister Node / takedown container 
make agent-stop EDGELAKE_TYPE=[node_type]

Review Deploy EdgeLake for farther details and specific examples - Docker-based and OpenHorizon-Based