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:
DEBUG
False
when deploying the application.SQLALCHEMY_DATABASE_URI
FAS_URL
FAS_USERNAME
FAS_PASSWORD
PKGDB_URL
PLUS_PLUS_TOKEN
POST
requests must have
an Authorization
header containing "token THIS_TOKEN
", otherwise
the request will be rejected.MEMCACHED
MEMCACHED = ['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.