An instrumentation hardware orchestration platform.
Install and update using pip:
pip install -U minstrel
When using git, clone the repository and change your present working directory.
git clone http://github.com/mcpcpc/minstrel
cd minstrel/
Create and activate a virtual environment.
python -m venv venv
source venv/bin/activate
Install minstrel to the virtual environment.
pip install -e .
The backend database can be initialized or re-initialized with the following command.
quart --app minstrel init-db
In order to prevent unauthorized or accidental backend database manipulation, some API actions require a token key argument. Token strings can be generated with the following command.
quart --app minstrel token
The token command also accepts an integer argument that
defines the duration (in seconds) in which the generated
token is valid. The default argument value is 300
.
Note that changing the SECRET_KEY
variable will
invalidate any previously generated tokens once the
application instance is restarted.
Pulling the latest container image from command line.
docker pull ghcr.io/mcpcpc/minstrel:latest
Before deployment, overriding the default SECRET_KEY
variable is strongly encourage. This can be done by
creating a conf.py
file and placing it in the
same root as the instance (i.e. typically where the
backend database resides).
SECRET_KEY = “192b9bdd22ab9ed4d12e236c78afcb9a393ec15f71bbf5dc987d54727823bcbf“
There are a number of ways to generate a secret key value. The simplest would be to use the built-in secrets Python library.
$ python -c ‘import secrets; print(secrets.token_hex())’
‘192b9bdd22ab9ed4d12e236c78afcb9a393ec15f71bbf5dc987d54727823bcbf’
Non-production ASGI via quart for development and debugging.
quart --debug --app minstrel run
Production ASGI via uvicorn.
pip install uvicorn
uvicorn --factory minstrel:create_app
python3 -m unittest
Run with coverage report.
coverage run -m unittest
coverage report
coverage html # open htmlcov/index.html in a browser