Skip to content

Repository Overview

Jon edited this page Mar 28, 2022 · 3 revisions

The Edge Cloud platform is divided into several repositories.

edge-proto

The edge-proto repository contains only Protocol Buffers definitions for the DME API. These live in a separate repository as they are common to both the DME code that implements the server-side of the API, and the various SDK repositories that implement the client-side of the API.

edge-cloud

The edge-cloud repository comprises the bulk of the MobiledgeX platform services code, including the Controller, DME, CRM, Cluster-SVC, etc. It is almost entirely written in golang.

edge-cloud-infra

The edge-cloud-infra repository contains advanced services like the Auto Provisioner and infrastructure specific plugin code for OpenStack, VSphere, VCD, GCP, Azure, AWS, Anthos, etc. It also contains any Telco operator specific code for interacting with the Telco’s proprietary internal APIs. The edge-cloud-infra repository is almost entirely written in golang, but also includes the ansible and chef scripts used for deploying the MobiledgeX platform. Also included in this repo are the packer scripts to build the MobiledgeX platform VM image.

This code is separated from the edge-cloud repository to remain private if we intend to open-source the Edge-Cloud platform but want to keep the operator-specific code private. The Edge-Cloud platform can be run completely from the edge-cloud repository for local cloudlets and has no dependencies on the edge-cloud-infra repository.

edge-cloud-ui

The edge-cloud-ui repository contains all of the web server UI related code, which serves as the main front-end for users to interact with the MobiledgeX platform. It is written in the ReactJS Web Framework.

SDK Repositories

There are several device OS-specific SDK repositories that implement the client-side SDK which interacts with the DME APIs. The SDK libraries are a thin layer that convert the DME APIs into native language APIs and deal with any OS and language specific issues like limited threading models. The primary repositories are: MatchingEngineSDK for iOS edge-cloud-sdk-android for Android edge-cloud-sdk-unity for Unity (open sourced but requires permission to access) edge-cloud-sdk-csharp for C#

edge-cloud-sampleapps

The edge-cloud-sampleapps repository contains sample client applications that include the SDK and can be used for testing and end-to-end (e2e) demonstration of the MobiledgeX platform. This repository is open sourced.

edge-cloud-qa

The edge-cloud-qa repository contains all the quality assurance (QA) team’s Robot framework test code used to run nightly automated regressions.