Skip to content
README.md 1.6 KiB
Newer Older
# 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
```