Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • dev-dimitris
  • dev-branch
  • v0.0.1-piedge-demo
4 results

open-exposure-gateway

  • Clone with SSH
  • Clone with HTTPS
  • Open Exposure Gateway

    The Open Exposure Gateway (OEG) is a Python web service implementation. It implements the Open Exposure Gateway role of the Operator Platform, defined by the GSMA Operator Platform Group (OPG).

    Overview

    Edge Cloud Management API

    This server was generated by the swagger-codegen project. It uses the Connexion library on top of Flask. It propagates requests to the Sunrise 6G OP service resource manager, as configured in the .env.

    OEG implements the Northbound CAMARA APIs for application providers to interact with different infrastructures, including:

    • Application metadata lifecycle management (registering, retrieving, deleting apps)
    • Application instantiation management (instantation, and termination)
    • Federation Management APIs to onboard applications accross partners' operator platforms

    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.


    Edge Cloud Management API Federation Management API 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

    Deployment

    OEG can be deployed in a Kubernetes cluster by executing the file oeg-deployment.yaml located in the root folder. This file will create a OEG Deployment resource and its supporting native K8s Service. The following table contains the necesssary environment variables for the Kubernetes adapter.

    Variable Description
    SRM_HOST Base URL of the Service Resource Manager
    FEDERATION_MANAGER_HOST Base URL of the Federation Manager

    You can also run the OEG outside of k8s environment:

    Before running the server you need to mv env.sample .env and update variables to properly link to a running OP service resource manager instance.

    To run the server, please execute the following from the root directory:

    Using uv:

    # run the server as module - uv will automatically take care of any dependencies installation
    uv run edge_cloud_management_api

    and open your browser to the OpenAPI documentation: http://127.0.0.1:8080/docs/

    Testing

    To launch the integration tests, use tox:

    uv run tox

    Running with Docker

    To run the server on a Docker container, please execute the following from the root directory:

    # building the image
    docker build -t edge_cloud_management_api .
    
    # starting up a container
    docker run -p 8080:8080 --env-file ./.env edge_cloud_management_api