All Projects → open-horizon → examples

open-horizon / examples

Licence: Apache-2.0 license
Code examples you can use with Horizon.

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
shell
77523 projects
Makefile
30231 projects
CSS
56736 projects

Projects that are alternatives of or similar to examples

shifting
A privacy-focused list of alternatives to mainstream services to help the competition.
Stars: ✭ 31 (-6.06%)
Mutual labels:  services
ambianic-edge
The core runtime engine for Ambianic Edge devices.
Stars: ✭ 98 (+196.97%)
Mutual labels:  edge-computing
ML-MCU
Code for IoT Journal paper title 'ML-MCU: A Framework to Train ML Classifiers on MCU-based IoT Edge Devices'
Stars: ✭ 28 (-15.15%)
Mutual labels:  edge-computing
MicrosoftCloudWorkshop-Asia
Microsoft Cloud Workshop Asia for Intelligent Cloud / Intelligent Edge
Stars: ✭ 20 (-39.39%)
Mutual labels:  edge-computing
intruder-detector-python
Build an application that alerts you when someone enters a restricted area. Learn how to use models for multiclass object detection.
Stars: ✭ 16 (-51.52%)
Mutual labels:  edge-computing
object-size-detector-python
Monitor mechanical bolts as they move down a conveyor belt. When a bolt of an irregular size is detected, this solution emits an alert.
Stars: ✭ 26 (-21.21%)
Mutual labels:  edge-computing
platform
A collection of minimalistic, easy-to-use and fully customizable Angular components, directives and services
Stars: ✭ 17 (-48.48%)
Mutual labels:  services
sense-iOS
Enhance your iOS app with the ability to see and interact with humans using the RGB camera.
Stars: ✭ 19 (-42.42%)
Mutual labels:  edge-computing
ghi
GitHub IRC Notification Service
Stars: ✭ 26 (-21.21%)
Mutual labels:  services
motor-defect-detector-python
Predict performance issues with manufacturing equipment motors. Perform local or cloud analytics of the issues found, and then display the data on a user interface to determine when failures might arise.
Stars: ✭ 24 (-27.27%)
Mutual labels:  edge-computing
awesome-hosting
List of awesome hosting
Stars: ✭ 134 (+306.06%)
Mutual labels:  services
faas-sim
A framework for trace-driven simulation of serverless Function-as-a-Service platforms
Stars: ✭ 33 (+0%)
Mutual labels:  edge-computing
AdvantEDGE
AdvantEDGE, Mobile Edge Emulation Platform
Stars: ✭ 36 (+9.09%)
Mutual labels:  edge-computing
daikon
Common modules shared by Talend applications
Stars: ✭ 14 (-57.58%)
Mutual labels:  services
nn-Meter
A DNN inference latency prediction toolkit for accurately modeling and predicting the latency on diverse edge devices.
Stars: ✭ 211 (+539.39%)
Mutual labels:  edge-computing
flutter plugin appcenter
Flutter plugins for accessing Visual Studio App Center services.
Stars: ✭ 55 (+66.67%)
Mutual labels:  services
zenoh-c
zenoh client library written in C and targeting micro-controllers.
Stars: ✭ 28 (-15.15%)
Mutual labels:  edge-computing
Paradrop
An Edge-computing platform based on Wi-Fi routers
Stars: ✭ 79 (+139.39%)
Mutual labels:  edge-computing
rpi-urban-mobility-tracker
The easiest way to count pedestrians, cyclists, and vehicles on edge computing devices or live video feeds.
Stars: ✭ 75 (+127.27%)
Mutual labels:  edge-computing
ember-browser-services
Services for interacting with browser APIs so that you can have fine-grained control in tests.
Stars: ✭ 44 (+33.33%)
Mutual labels:  services

open-horizon-logo

Getting Started

Documentation

Open Horizon documentation repository coming soon! For the time being, you can learn more about Open Horizon here.

Management Hub Installation

Before you can publish and use any of the services in this repository, you must first deploy your own Horizon Management Hub. This can be done with one simple command using the deploy-mgmt-hub.sh script located in the devops repository. This will give you with a management hub with several services, policies and patterns published in the exchange.

Register an Edge Node with your Mangement Hub

In order to deploy a service to an edge node it must first be registered with a management hub. The agent-install.sh script is a fast and easy way to register an edge node with a management hub, more information can be found in the open-horizon/anax repository. Edge nodes can be either a device or a cluster. Open Horizon edge cluster capability helps you manage and deploy workloads from a management hub cluster to remote instances of OpenShift® Container Platform or other Kubernetes-based clusters.

Typically, edge devices have a prescriptive purpose, provide (often limited) compute capabilities, and are located near or at the data source. Currently supported edge device OS and architectures:

  • x86_64
    • Linux x86_64 devices or virtual machines that run Ubuntu 20.x (focal), Ubuntu 18.x (bionic), Debian 10 (buster), Debian 9 (stretch)
    • Red Hat Enterprise Linux® 8.2
    • Fedora Workstation 32
    • CentOS 8.2
    • SuSE 15 SP2
  • ppc64le (support starting Horizon version 2.28)
    • Red Hat Enterprise Linux® 7.9
  • ARM (32-bit)
    • Linux on ARM (32-bit), for example Raspberry Pi, running Raspberry Pi OS buster or stretch
  • ARM (64-bit)
    • Linux on ARM (64-bit), for example NVIDIA Jetson Nano, TX1, or TX2, running Ubuntu 18.x (bionic)
  • Mac
    • macOS

Open Horizon edge cluster capability helps you manage and deploy workloads from a management hub cluster to remote instances of OpenShift® Container Platform or other Kubernetes-based clusters. Edge clusters are edge nodes that are Kubernetes clusters. An edge cluster enables use cases at the edge, which require colocation of compute with business operations, or that require more scalability, availability, and compute capability than what can be supported by an edge device. Further, it is not uncommon for edge clusters to provide application services that are needed to support services running on edge devices due to their close proximity to edge devices. Open Horizon deploys edge services to an edge cluster, via a Kubernetes operator, enabling the same autonomous deployment mechanisms used with edge devices. The full power of Kubernetes as a container management platform is available for edge services that are deployed by Open Horizon. Currently supported edge cluster architectures:

Currently there is only one example service in this repository that is designed to run on an edge cluster and that is the nginx-operator.

Example Services

During the management hub installation, several services should have been published into the exchange automatically. The following three command will list the services, patterns, and deployment policies available in your exchange:

hzn exchange service list IBM/
hzn exchange pattern list IBM/
hzn exchange deployment listpolicy 

Note: The above commands assume you have the Horizon environment variables HZN_ORG_ID and HZN_EXCHANGE_USER_AUTH set.

You can find a list of available edge services in this repository located in the edge/services directory. For the most part, each of the services are broken up into micro-services designed to accomplish one specific task. This makes them easier to incorporate into a wide variety of "top-level" services.

A good example of a "top-level" service is cpu2evtstreams, which has two dependent services (cpu_percent, and gps). It uses these two micro-services to gather information about the edge node it is running on and sends it to an instance of IBM Event Streams using kafkacat.

Edge examples specific to the Watson IoT Platform are found in edge/wiotp. These examples are not being maintained.

Using Example Services

Each example service in this repo has a README that includes steps to run it when it is currently published in your exchange, or a "Create your own" set of instructions that will guide you through the process of publishing your own version to your exchange.

Contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].