ovdashboard/api/README.md
2022-10-08 02:44:29 +02:00

2.5 KiB
Raw Permalink Blame History

OVDashboard API

This API enables the OVDashboard UI to run.

Quick Start

If you only want a working installation, it is highly recommended to use the docker image at TODO. The image contains both the API and UI. Refer to the main README for an in-depth how-to.

Setup for development and contribution

No need to fiddle around with specific python versions or even virtualenvs. You only need a "general purpose" development setup to get this project up and running for debug and contribution purposes:

Once you open this directory in VSCode, you should be prompted to reopen it in a development container. If not, hit Ctrl+Alt+P and search for "reopen in container".

Running the API without the docker image

You probably don't need this! Usually the image is good enough!

However, if you want to deploy the API on a cluster or with custom ASGI workers and/or process managers, go ahead. First, install the ovdashboard_api python package. Then you can:

  • use uvicorn or another ASGI runner to start the app object ovdashboard_api:app
    Example: uvicorn 'ovdashboard_api:app'
  • run the provided ovdashboard-api script this is basically a shorthand for uvicorn
  • use gunicorn or another application server with ASGI workers
    Example (ASGI workers provided by uvicorn): gunicorn 'ovdashboard_api:app' --worker-class 'uvicorn.workers.UvicornWorker'

Configuration

The OVDashboard API is configured using environment variables or an .env file in the directory which it is run from. Refer to the main README for the list of variables.

Installing the ovdashboard_api python package

If git is installed, install ovdashboard_api directly using this command:

python3 -m pip install 'git+https://TODO#egg=ovdashboard_api&subdirectory=api'

If installing git is not an option, just download and extract this repository's archive, then use your local path instead of the git+https:// URL for pip install.

Installation Dependencies

Refer to your distribution's manual for how to install these dependencies:

  • Python 3.9 with pip
    If python3 --version shows "Python 3.9" or later, and python3 -m pip does execute, your setup is working.
  • git (recommended)
  • libmagic