-
David Trattnig authoredDavid Trattnig authored
README.md 1.42 KiB
Engine API Server
Overview
The Project serves the Engine API and handles state management of multiple Engine instances.
This project is based on a swagger-enabled Flask server using an API First approach. It also uses the Connexion library on top of Flask.
Requirements
Python 3.7+ MariaDB (or similar Database)
Installation
Install the required dependencies:
pip3 install -r requirements.txt
# Additional requirements for the chosen database
pip3 install -r contrib/mariadb-requirements.txt
# Create database and user (change password in script)
sudo mysql -u root -p < contrib/mariadb-database.sql
Getting started
To run the server, please execute the following from the root directory:
./run.sh api
To run the API in an local development server execute:
./run.sh api-dev
You can access the interactive documentation here:
http://localhost:8008/api/v1/ui/
Your OpenAPI definition lives here:
http://localhost:8008/api/v1/openapi.json
Testing
To launch the integration tests, use tox:
sudo pip install tox
./run.sh test
Running with Docker
To run the server on a Docker container, please execute the following from the root directory:
# Building the image
./run.sh docker:build
# Push the current image to dockerhub.com
./run.sh docker:push
# Starting up a container
./run.sh docker:api