MEC Sandbox is an interactive environment that enables users to learn & experiment with ETSI MEC Service APIs.
These standardised RESTful APIs are targeted towards MEC application developers to expose the value added services
offered by MEC, including real time access to network and context information, as well as location awareness.
The design principles for developing the APIs have also been specified in ETSI GS MEC 009, along with http methods,
templates, conventions and patterns. The MEC service APIs are available in YAML and JSON format at https://forge.etsi.org,
presented via OpenAPI compliant descriptions.
MEC Sandbox provides the user with a choice of scenarios combining different network technologies (4G, 5G, Wi-Fi) and
terminal types. Combining these assets in a geolocated environment, a user can gain hands-on experience on the behaviour
and capabilities of the Location (MEC013), Radio Network Information (MEC012) and WLAN Information (MEC028) service APIs.
Such contextual information can offer significant differential performance for edge based MEC applications.
MEC Sandbox is an interactive environment that enables users to learn & experiment with ETSI MEC Service APIs. These standardised RESTful APIs are targeted towards MEC application developers to expose the value added services offered by MEC, including real time access to network and context information, as well as location awareness. The design principles for developing the APIs have also been specified in ETSI GS MEC 009, along with http methods, templates, conventions and patterns. The MEC service APIs are available in YAML and JSON format at https://forge.etsi.org, presented via OpenAPI compliant descriptions.
MEC Sandbox deploys the [AdvantEDGE edge emulation platform](https://github.com/InterDigitalInc/AdvantEDGE) to provide
real-time access to ETSI MEC service implementations.
MEC Sandbox provides the user with a choice of scenarios combining different network technologies (4G, 5G, Wi-Fi) and terminal types. Combining these assets in a geolocated environment, a user can gain hands-on experience on the behaviour and capabilities of the Location (MEC013), Radio Network Information (MEC012) and WLAN Information (MEC028) service APIs. Such contextual information can offer significant differential performance for edge based MEC applications.
The MEC Sandbox frontend (provided in this repo) uses the AdvantEDGE platform & service REST APIs to create secure,
user-specific sandboxes where signed-in users can:
- Deploy & dynamically configure a scenario
- Try-out the MEC Service APIs using Swagger UI
- Interact with the MEC Services directly from a user MEC Application
## Getting Started
## Getting Started
To use the MEC Sandbox, check out the [live deployment](https://try-mec.etsi.org).
TODO - Add details
To learn more about the MEC Sandbox, have a look at the [wiki page](https://mecwiki.etsi.org/index.php?title=MEC_Sandbox_Help).
### Install & Deploy
To install the MEC Sandbox, follow the installation instructions below.
TODO - Add details
## Install MEC Sandbox
## Licensing
### Prerequisites
MEC Sandbox has the following prerequisites:
1.[AdvantEDGE](https://github.com/InterDigitalInc/AdvantEDGE/wiki) runtime & development environments
- Set the OAuth provider client ID & secrets using the values from the OAuth Applications
-`python ~/AdvantEDGE/config/configure-secrets.py set ~/AdvantEDGE/config/secrets.yaml`
- To install Python2: `sudo apt install python-minimal`
- To install Python-pip: `sudo apt install python-pip`
-**NOTE:** Once the kuberentes secrets have been created, it is recommended to remove the `~/AdvantEDGE/config/secrets.yaml` file containing the clear-text secrets
1. Build & Deploy AdvantEDGE:
- Build meepctl:
-`~/AdvantEDGE/go-apps/meepctl/install.sh`
- Deploy dependency pods:
-`meepctl deploy dep`
- Build & Dockerize:
-`meepctl build all`
-`meepctl dockerize all`
- Prune old docker images:
-`docker image prune`
- Deploy Core pods:
-`meepctl deploy core`
-**NOTE:** Wait for dep pods to be successfully deployed before deploying core
### Configure Scenarios
If necessary, configure the MEC Sandbox scenarios as follows:
1. Provide _admin_ privileges to a user account
- SSH to MEC Sandbox machine
- SSH into _meep-postgis-0_ pod
- Login & connect to PostgreSQL user role database:
-`psql -U postgres`
-`\c meep_platform_ctrl`
- Add entry to give _admin_ rights to a specific username from a specific provider. Examples: