Commit efecbc63 authored by George Papathanail's avatar George Papathanail
Browse files

docs: document federation lifecycle relay and fix ADR refs

parent 7e88cbbe
Loading
Loading
Loading
Loading
Loading
+12 −5
Changes for README.md: 12 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -14,20 +14,27 @@ OEG implements the **Northbound CAMARA APIs** for application providers to inter

- Application metadata lifecycle management (registering, retrieving, deleting apps)
- Application instantiation management (instantation, and termination)
- Federation Management APIs to onboard applications accross partners' operator platforms
- Federation lifecycle APIs for the operator to set up and manage federations with partner operator platforms (proxied to the Federation Manager)

OEG acts as a middleware layer between the CAMARA APIs and the Service Resource Manager (SRM), by enabling a common exposure of heteregeneous infrastructure resources.

<br>

| Edge Cloud Management API  | Federation Management API | Network Exposure API  (QoD & Traffic Influence)|
| Edge Cloud Management API  | Federation Lifecycle API (GSMA OPG.04 v1.4.0) | Network Exposure API  (QoD & Traffic Influence)|
| ------------- | ------------- | ------------- |
| Application Metadata registration  | Create one direction federation   | Create QoD Session |
| App Metadata Removal  | Retrieve details about federation with the partner OP  | Remove QoD Session  |
| App Metadata Retrieval  | Retrieve the existing federationContextId with partner  | Retrieve QoD Session  |
| Application Instantiation  | Remove existing federation with partner OP | Create TrafficeInfluence Resource  |
| Application Instance Retrieval |                                        | Remove TrafficeInfluence Resource  |
| Application Instance Removal  |                                         | Retrieve TrafficeInfluence Resource  |
| Application Instance Retrieval | List the zones the partner OP offers | Remove TrafficeInfluence Resource  |
| Application Instance Removal  | Subscribe to partner OP zones | Retrieve TrafficeInfluence Resource  |
|  | Retrieve details of a subscribed partner zone |  |
|  | Unsubscribe from a partner zone |  |

The federation lifecycle API is served under `/platform/v1/federation/partners/{partnerOpId}/federations/...`,
where `partnerOpId` is the UUID the Federation Manager assigned when the partner was registered.
OEG forwards each request unchanged to the Federation Manager's matching `/internal/...` endpoint
and relays its answer; every error on these routes is a GSMA `application/problem+json` `ProblemDetails`.


## Deployment
@@ -37,7 +44,7 @@ OEG can be deployed in a Kubernetes cluster by executing the file _oeg-deploymen
| **Variable**                | **Description**                                             |
|-----------------------------|-------------------------------------------------------------|
| `SRM_HOST`                  | Base URL of the Service Resource Manager                   |
| `FEDERATION_MANAGER_HOST`   | Base URL of the Federation Manager                         |
| `FM_SETTINGS__BASE_URL`     | Base URL of the Federation Manager (default `http://localhost:8082`) |



+1 −1
Changes for src/open_exposure_gateway/api/gsma/federation_manager/v1_4_0/router.py: 1 added line, 1 removed line.
Original line number Diff line number Diff line
"""FastAPI routes for the platform-namespace federation-lifecycle relay (ADR-0046, ADR-0048).
"""FastAPI routes for the platform-namespace federation-lifecycle relay (ADR-0051, ADR-0050).

Bodies are raw GSMA (OPG.04 v6.0 / artifact v1.4.0), forwarded unaltered, but paths
are OEG's own platform namespace rather than the GSMA EWBI paths: GSMA addresses the
+1 −1
Changes for tests/unit/test_federation_manager_endpoints.py: 1 added line, 1 removed line.
Original line number Diff line number Diff line
"""GSMA Federation Manager -- stateless relay to FM (ADR-0046, ADR-0048).
"""GSMA Federation Manager -- stateless relay to FM (ADR-0051, ADR-0050).

Every route forwards the raw request body to FM's matching internal endpoint and
relays FM's response back unaltered. These tests exercise that relay contract