Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Repository cleanup #235

Merged
merged 7 commits into from
May 13, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
48 changes: 23 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,30 @@
<a href="https://github.com/camaraproject/EdgeCloud/commits/" title="Last Commit"><img src="https://img.shields.io/github/last-commit/camaraproject/EdgeCloud?style=plastic"></a>
<a href="https://github.com/camaraproject/EdgeCloud/issues" title="Open Issues"><img src="https://img.shields.io/github/issues/camaraproject/EdgeCloud?style=plastic"></a>
<a href="https://github.com/camaraproject/EdgeCloud/pulls" title="Open Pull Requests"><img src="https://img.shields.io/github/issues-pr/camaraproject/EdgeCloud?style=plastic"></a>
<a href="https://github.com/camaraproject/EdgeCloud/graphs/contributors" title="Contributors"><img src="https://img.shields.io/github/contributors/camaraproject/EdgeCloud?style=plastic"></a>
<a href="https://github.com/camaraproject/EdgeCloud" title="Repo Size"><img src="https://img.shields.io/github/repo-size/camaraproject/EdgeCloud?style=plastic"></a>
<a href="https://github.com/camaraproject/EdgeCloud/blob/main/LICENSE" title="License"><img src="https://img.shields.io/badge/License-Apache%202.0-green.svg?style=plastic"></a>
# Edge Cloud

# EdgeCloud
Repository to describe, develop, document and test the EdgeCloud API family
Repository to describe, develop, document, and test the §repo_name§ API family

Kevsy marked this conversation as resolved.
Show resolved Hide resolved
## Scope
* Service APIs for “Edge Cloud” (see APIBacklog.md)

* Service APIs for “Edge Cloud” (see APIBacklog.md)
* It provides the customer with the ability to:
* Provide and manage application images to be deployed on resources within the operator network
* Use reserved compute resources within the operator network for the deployment of applications on VMs or containers
* Influence the traffic routing from the user device toward the Edge instance of the Application
* Discover the closest edge cloud zone to a given device.
* Provide and manage application images to be deployed on resources within the operator network.
* Use reserved compute resources within the operator network for the deployment of applications on VMs or containers.
* Influence the traffic routing from the user device toward the Edge instance of the Application.
* NOTE: The scope of this API family should be limited (at least at a first stage) to 4G and 5G.
* Describe, develop, document and test the APIs (with 1-2 Telcos)
* Started: 5th July 2022
* Location: virtually

## Meetings
* Meetings are held virtually
* Schedule: Tuesdays 16h-17 CET, every two weeks.
* Meeting link: [LFX Zoom](https://www.google.com/url?q=https://zoom-lfx.platform.linuxfoundation.org/meeting/94237809115?password%3D05fb6d8a-a913-47d8-b003-db75ecdaa5d9&sa=D&source=calendar&ust=1711304713775725&usg=AOvVaw2KsTGn2S2i4Bu5V-nusuUI)
## Results
* Sub Project is in progress

## Contributorship and mailing list
* To subscribe / unsubscribe to the mailing list of this Sub Project and thus be / resign as Contributor please visit <https://lists.camaraproject.org/g/sp-edc>.
* A message to all Contributors of this Sub Project can be sent using <sp-edc@lists.camaraproject.org>.
* CAMARA sp-edge-cloud: [Slack Channel](https://camara-project.slack.com/archives/C062PJNGW9F)

# Contributing

* Meetings
* Meeting link: [Registration](https://www.google.com/url?q=https://zoom-lfx.platform.linuxfoundation.org/meeting/94237809115?password%3D05fb6d8a-a913-47d8-b003-db75ecdaa5d9&sa=D&source=calendar&ust=1711304713775725&usg=AOvVaw2KsTGn2S2i4Bu5V-nusuUI)
* Schedule: Tuesdays 1400-1500 UTC, every two weeks.
Kevsy marked this conversation as resolved.
Show resolved Hide resolved
* Minutes: [Access](https://wiki.camaraproject.org/display/CAM/Edge+Cloud)

# Release Information

# Contributing

* Meetings
* Subscribe / unsubscribe to the mailing list of this Sub Project [https://lists.camaraproject.org/g/sp-edc](https://lists.camaraproject.org/g/sp-edc).
* A message to the community of this Sub Project can be sent using [sp-edc@lists.camaraproject.org](sp-edc@lists.camaraproject.org).
Binary file modified code/.DS_Store
Binary file not shown.
Binary file added code/API_definitions/.DS_Store
Binary file not shown.
20 changes: 0 additions & 20 deletions code/API_definitions/README.MD

This file was deleted.

File renamed without changes.
File renamed without changes.
Binary file modified documentation/.DS_Store
Binary file not shown.
4 changes: 3 additions & 1 deletion documentation/MeetingMinutes/README.MD
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
This README.MD can be deleted when the first file is added to this directory.
# Minutes archive

This folder contains the minutes archive for meetings held before the use of the LF Wiki to store minutes. Please refer to [https://wiki.camaraproject.org/display/CAM/Edge+Cloud](https://wiki.camaraproject.org/display/CAM/Edge+Cloud) for current and recent minutes.
Binary file modified documentation/SupportingDocuments/.DS_Store
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Overview
The Simple Edge Discovery API returns the name, provider and UUID of the Edge Cloud Zone closest to a given device. The API call can be made either directly from the device, or from an Internet server. In either case, the device must be currently attached (connected) to the operator network.

# Introduction
This API provides a simple way to know which Edge Cloud Zone is closest to the customer's device. Typically this Edge Cloud Zone will support the best network performance between client and server, since propgation delay is minimised. Knowing which is the closest Edge Cloud Zone allows:
1. an application client to proceed to connect to any application server hosted on that , for which the IP address was provided when the instance was spun up using the cloud provider tools,
2. an application developer to spin up an instance of their application server on that Edge Cloud Zone, using their cloud provider tools.

Note that the Simple Edge Discovery API offers an advantage over geolocation. Instead it calculates the shortest network path between the device and the Edge Cloud Zone, which is more accurate and takes into account internal operator network topology (which can vary greatly between networks).

# Quick Start
1. Make a GET request to `/edge-cloud-zones?filter=closest`
2. Query the JSON response with:
* `$.[0].edgeCloudZoneId` to return the UUID for the closest Edge Cloud Zone
* `$.[0].edgeCloudZoneName` to return the cloud provider's name for the closest Edge Cloud Zone
* `$.[0].edgeCloudProvider` to return the name of the cloud provider for the closest Edge Cloud Zone

# Authentication and/or Authorization
CAMARA guidelines defines a set of authorization flows which can grant API clients access to the API functionality, as outlined in the document [CAMARA-API-access-and-user-consent.md](https://github.com/camaraproject/IdentityAndConsentManagement/blob/main/documentation/CAMARA-API-access-and-user-consent.md). Which specific authorization flows are to be used will be determined during onboarding process, happening between the API Client and the Telco Operator exposing the API, taking into account the declared purpose for accessing the API, while also being subject to the prevailing legal framework dictated by local legislation.

It is important to remark that in cases where personal user data is processed by the API, and users can exercise their rights through mechanisms such as opt-in and/or opt-out, the use of 3-legged access tokens becomes mandatory. This measure ensures that the API remains in strict compliance with user privacy preferences and regulatory obligations, upholding the principles of transparency and user-centric data control.


# Endpoint definitions
- Endpoint: `/edge-cloud-zones`
- Method accepted: GET
- Parameters: ?filter=closest*
- HTTP codes: `200 OK`
- HTTP Response body: application/json

## Constraints
The device identified in the API request must be attached to the operator netwotk, otherwise the shortest network path from that device to each edge cloud zone cannot be calculated.

# Errors
If the mobile subscription parameters contain a formatting error, a `400 INVALID_ARGUMENT` error is returned.

If the authentication token is not valid, a `401 UNAUTHENTICATED` error is returned.

If the API call requires consent and permission hasnot been obtained , a `403 PERMISSION_DENIED` error is returned.

If the mobile subscription cannot be identified from the provided parameters, a `404 NOT_FOUND` error is returned.

Any more general service failures will result in an error in the `5xx` range with an explanation.

Please see the YAML documentation (link below) for a full list of errors

# Code snippets

`HTTP GET /edge-cloud-zones?filter=closest`

`HTTP 200 OK application/json`

```javascript
[
{
"edgeCloudZoneId": "4gt555-6457-7890-d4he-1dc79f44gb66",
"edgeCloudZoneName": "example zone name",
"edgeCloudProvider": "example zone provider"
}
]

```

Response processing:
`$.[0].edgeCloudZoneId` -> "4gt555-6457-7890-d4he-1dc79f44gb66"
`$.[0].edgeCloudZoneName` -> example name"
`$.[0].edgeCloudProvider` -> "example zone provider"

# FAQs
_Can I use the device GPS to locate the closest MEC?_
_Can I ping the various Edge Cloud Zones and calculate the closest from that?_
The answer to both of these is 'not reliably':
- Each device has an IP 'anchor point' in the operator mobile network which may be a significant distance from the location of the device itself. It is this path - IP anchor to Edge Cloud Zone - that decides the shortest network path and hence shortest propagation delay.
- ping (both ICMP and TCP) fistly requires having deployed endpoints to ping - which may not be the case if the application server has not been deployed on more than on Edge Cloud Zone. Secondly, mobile networks are volatile, and ping results will not give an accurate picture of the static network topology.

# Release Notes
v1.0.0 to align with 1.0.0 YAML spec, May 1st 2024

# API Spec
YAML available at: https://github.com/camaraproject/EdgeCloud/blob/main/code/API_definitions/simple_edge_discovery.yaml
Binary file not shown.
Binary file not shown.
Loading