All Projects → lf-edge → edge-home-orchestration-go

lf-edge / edge-home-orchestration-go

Licence: Apache-2.0 license
Home Edge Project in LF Edge - Edge Orchestration for home edge devices to enabling smart home use cases.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to edge-home-orchestration-go

Lastbackend
System for containerized apps management. From build to scaling.
Stars: ✭ 1,536 (+2158.82%)
Mutual labels:  container, orchestration
K8s Diagrams
A collection of kubernetes-related diagrams
Stars: ✭ 227 (+233.82%)
Mutual labels:  container, rbac
Core
Eru, a simple, stateless, flexible, production-ready orchestrator designed to easily integrate into existing workflows. Can run any virtualization things in long or short time.
Stars: ✭ 147 (+116.18%)
Mutual labels:  container, orchestration
Devspace
DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.
Stars: ✭ 2,559 (+3663.24%)
Mutual labels:  container, containerization
kubecloud
Kubecloud is a multi-cloud container cloud management platform
Stars: ✭ 48 (-29.41%)
Mutual labels:  container, orchestration
ultimate-kubernetes-bootcamp
Ultimate Kubernetes Bootcamp
Stars: ✭ 43 (-36.76%)
Mutual labels:  container, orchestration
Helios
Docker container orchestration platform
Stars: ✭ 2,089 (+2972.06%)
Mutual labels:  container, orchestration
crane
Crane is a easy-to-use and beautiful desktop application helps you build manage your container images.
Stars: ✭ 223 (+227.94%)
Mutual labels:  container, containerization
manager
The API endpoint that manages nebula orchestrator clusters
Stars: ✭ 28 (-58.82%)
Mutual labels:  container, orchestration
PainlessDocker
Painless Docker book git repository.
Stars: ✭ 17 (-75%)
Mutual labels:  container, orchestration
akk-stack
Containerized EverQuest Emulator Server Environment
Stars: ✭ 36 (-47.06%)
Mutual labels:  container, orchestration
docs
Documentation repo of nebula orchestration system
Stars: ✭ 16 (-76.47%)
Mutual labels:  container, orchestration
Docker-Kubernetes
Basics of Docker and Kubernetes
Stars: ✭ 18 (-73.53%)
Mutual labels:  orchestration, containerization
rkt-compose
CLI to run Docker Compose file as pod on rkt with integrated service discovery using Consul - EOL
Stars: ✭ 24 (-64.71%)
Mutual labels:  container, orchestration
puccini
Cloud topology management and deployment tools based on TOSCA
Stars: ✭ 74 (+8.82%)
Mutual labels:  orchestration
singularityware.github.io
base documentation site for Singularity software
Stars: ✭ 27 (-60.29%)
Mutual labels:  container
navio
Navio is a program to create and manage linux containers. This project exists only for study purposes, so feel free to contribute :)
Stars: ✭ 14 (-79.41%)
Mutual labels:  container
docker-axed
dockerized「AXE」daemon
Stars: ✭ 13 (-80.88%)
Mutual labels:  container
micromamba-docker
Rapid builds of small Conda-based containers using micromamba.
Stars: ✭ 97 (+42.65%)
Mutual labels:  container
ops-examples
A repository of basic and advanced examples using Ops
Stars: ✭ 68 (+0%)
Mutual labels:  orchestration

Edge Orchestration

Goreport Build Total alerts CodeQL Analysis Quality Gate Status CII Best Practices RepoSize Release LICENSE

Introduction

The main purpose of Edge Orchestration project is to implement distributed computing between Docker Container enabled devices.

image

All the devices (TVs, fridges, washing machines, etc.) connected into Home Edge Network are considered Home Edge Devices. Some of the devices, possessing significant H/W resources and capable of running containerized applications, are called Home Edge Nodes. Tasks performed on devices of Home Edge Network are managed by Home Edge Orchestrator software. These tasks are called Home Edge Applications. They are assigned to specific Home Edge Nodes. As of now, Home Edge Orchestrator incessantly scans the Home Edge Network, forming lists of attached devices, and forms ratings of performance for them. Performance ratings are basis for deciding on which devices Home Edge Applications are to be run. If Home Edge Orchestrator cannot find device with rating higher than its own device rating, it will start the Home Edge Application locally. Home Edge Networks support distributed applications consisting of interacting Docker container instances. Docker containers offer quick deployment, easy management, safety and hardware independence. Applications that can run on Home Edge Network are deployed from cloud-based centralized storage as needed. Assortment of applications is determined by tasks that must be solved by Home Edge Network.

A description of all terms and abbreviations (italic) used in the Edge Orchestratiopn project can be found in the Home Edge Glossary


Roadmap and Release Notes

You can see our project roadmap and details about release notes since our project launch in 2019 from our official Wiki.

Platforms supported

x86-64 Linux Raspberry Pi3 HiKey960 Raspberry Pi3 Cluster
Orange Pi3 Add a new Platform

Quick start of the Edge Orchestration (w/ and w/o build)

Prerequisites

  • At least one device (see Platforms supported) that can be a Home Edge Device (preferably more than one)
  • Same network connected among the Home Edge Devices.
  • Same Authentication key in /var/edge-orchestration/user/orchestration_userID.txt
  • Edge Orchestration Docker image

The quick start guide contains instructions on where to find Edge Orchestration Docker image and how to create Authentication key

The Edge Orchestration workflow is as follows:

  1. Run the Edge Orchestration container at Home Edge Nodes.
  2. Home Edge Device generates and sends a Service Execution request via the REST API to a host machine (currently itself).
  3. Then the host machine becomes an Home Edge Orchestrator.
  4. Other Home Edge Nodes receive the Service Execution request from Home Edge Orchestrator via REST API.
  5. The Home Edge Node gets and compares the scores from the other Home Edge Nodes.
  6. The Service Execution on the Home Edge Node that has the highest score.

Home Edge Orchestrator also gets and compares scores and if it has the highest score, the service is executed on Home Edge Orchestrator.

Quick start guides for supported platforms

Please select the target platform in the table below and follow the link.

Platform Maintained Maintainer Remarks
x86_64 Linux dewberries @lf-edge/edge-home-orchestration-go-committers
Raspberry Pi3 dewberries @t25kim
HiKey960 dewberries @tdrozdovsky
Raspberry Pi3 Cluster dewberries @tdrozdovsky
Orange Pi3 dewberries @Vitalii55

Documentation

The Edge Orchestration documentation for the project is located in the docs folder. You can also familiarize yourself with other materials and plans by visiting the wiki.


License

The Edge Orchestration source code is distributed under the Apache License, Version 2.0 open source license.


Contributing

If you want to contribute to the Edge Orchestration project and make it better, your help is very welcome. Contributing is also a great way to learn more about social coding on Github, new technologies and and their ecosystems.
How to contribute code
How to report a security vulnerability


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].