# Capabilities Exposure API Server A Server Implementation of the **CAMARA Edge Application Management API** as specified [here](https://github.com/camaraproject/EdgeCloud/blob/main/code/API_definitions/Edge-Application-Management.yaml) ### Overview This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. It uses the [Connexion](https://github.com/zalando/connexion) library on top of Flask. It propagates requests to the [Sunrise 6G OP service resource manager](https://github.com/SMARTECH-ISI-Athena/Sunrise-6G-Operator-Platform), as configured in the `.env`. ### Usage 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: ```bash # run the server as module - uv will automatically take care of any dependencies installation uv run src/capabilities_exposure_api ``` Using pip: ``` pip3 install -r requirements.txt python3 -m swagger_server ``` and open your browser to the OpenAPI documentation: ``` http://localhost:8080/edge-application-management/ui/ ``` Your OpenAPI definition lives here: ``` http://localhost:8080/edge-application-management/openapi.json ``` To launch the integration tests, use tox: ``` sudo pip install tox tox ``` ### Running with Docker To run the server on a Docker container, please execute the following from the root directory: ```bash # building the image docker build -t swagger_server . # starting up a container docker run -p 8080:8080 swagger_server ```