edgexr / edge-cloud-platform

Apache License 2.0
1 stars 0 forks source link

Edge-Cloud Platform

The Edge-Cloud Platform is a set of services that allow for distributed and secure management of edge sites ("cloudlets"), featuring deployment of workloads, one-touch provisioning of new cloudlets, monitoring, metrics, alerts, events, and more.

The platform is intended to satisfy the architecture of an Operator Platform as described in the GSMA document, Operator Platform Telco Edge Proposal, and adhere to standardized interfaces developed by CAMARA.

Services

Edge-Cloud Infrastructure Platform Code

Infrastructure specific code is packaged under an interface to allow for new infrastructures to be supported without needing to modify the edge-cloud platform code.

Currently supported infrastructures are:

VM-Based:

Kubernetes Based:

Compiling

To build the platform services, you will need Go and protoc installed. Please see go.mod for the correct version of golang to install. Ensure that your GOPATH is set.

You will need to build the tools once first:

make tools

You will need to have the edge-proto repo checked out adjacent to this repo.

Then to compile the services:

make

Testing

There are an extensive set of unit tests. Some unit tests depend on local installations of supporting open source projects and databases. You will need to install docker, certstrap, Etcd, Redis, Vault, and Influxdb. See the test setup script.

make unit-test

Building Images

Scripts for building container images are in /build/docker. You will need to have docker installed on your machine. You may need to set the REGISTRY environment variable to the registry and parent path to push to, i.e.

export REGISTRY=ghcr.io/edgexr
cd build/docker
make build-platform

To build without pushing:

make build-platform-local