| Author: | Aurelien Bompard <abompard@fedoraproject.org> |
|---|
Plus Plus Service is a REST-based service to increment or decrement karma for Fedora users.
Plus Plus Service can be installed like any Python 3 package.
To configure the application, you will need to create a settings file in the form of a Python module with global variables, as described in the Flask documentation.
The environment variable FLASK_SETTINGS must be set to this file's full
path, for example:
export FLASK_SETTINGS=/path/to/project/settings.py
The following settings are used by Plus Plus Service:
DEBUGFalse when deploying the application.SQLALCHEMY_DATABASE_URIFAS_URLFAS_USERNAMEFAS_PASSWORDPKGDB_URLPLUS_PLUS_TOKENPOST requests must have
an Authorization header containing "token THIS_TOKEN", otherwise
the request will be rejected.MEMCACHEDMEMCACHED = ['127.0.0.1:11211']. This is optionnal.The database must be created first, and the application can be quickly run with the following commands:
export FLASK_SETTINGS=/path/to/your/custom/settings.py plus-plus-service syncdb export FLASK_APP=plus_plus_service flask run
Plus Plus Service is based on Flask, you can deploy it by following Flask's
documentation. Example configuration files for Apache are distributed in the
deploy directory.
First, create a virtual environment in the venv directory, then install the
package and its dependencies in this virtual environment:
pyvenv venv source ./venv/bin/activate python setup.py develop
To create the database, use the following command:
plus-plus-service syncdb
If you want to run the service in debug mode, you can prefix the standard
command with FLASK_DEBUG=1 or simply export the shell variable:
export FLASK_APP=plus_plus_service export FLASK_DEBUG=1 flask run
Alembic commands can be run by pointing to the included ini file:
alembic -c plus_plus_service/alembic.ini current
The test suite can be run using the tox command.