A backend to serve intelmq-cb-mailgen data or just events from an IntelMQ PostgreSQL database for the webapp Fody.
Each contained module has an additional README.md
to follow.
The encoding of the locale must be UTF-8.
To do this, run dpkg-reconfigure locales
and select, for example, en_US.UTF-8
.
This software is Free Software available under the terms of
the AGPL v3 or later versions of this license.
See the file agpl-3.0.txt
or https://www.gnu.org/licenses/agpl-3.0.en.html
for details.
See events_api/README.md for usage hints for statistics.
Because of https://github.com/Intevation/intelmq-fody-backend/issues/12 make sure to restart the serving process(es) each time you have restarted postgresql.
hug -f intelmq_fody_backend/serve.py -p 8002
#as root
apt-get install libapache2-mod-wsgi-py3
You might want to use an Apache-Config similar to the example included as config/apache-example/001-fody.conf
Authentication for the endpoints exposed by the fody-backend is configured in a json formatted file. The fody-backend tires to load the configuration file /etc/intelmq/fody-session.conf
and ${PREFIX}/etc/intelmq/fody-session.conf
. To override these paths set the environment variable FODY_SESSION_CONFIG
to the path pointing to the config file.
If the config file is not found in the given locations the authenticion is disabled.
{
"session_store": "/etc/intelmq/fody-session.sqlite",
"session_duration": 86400
}
session_store
: the location of the sqlite database that contains users and sessions.session_duration
: the maximal duration of a session.If you enable the session_store you will have to create user accounts to be able to access the API functionality. You can do this using fody-adduser:
fody-adduser --user <username> --password <password>
Only the module contactdb_api
exposes the ability to write changes to the db.
If you want to be able to find out which user (see section above) did which particular change:
/var/log/apache2/fody-backend-error.log
Log entries will show the requested change
together with the username, search for
user =
. Example for Apache2:
pushd /var/log/apache2/
zgrep 'user =' fody-backend-error.log*
fody-backend-error.log:[Fri May 05 14:19:26.882299 2017] [:error] [pid 2075] 2017-05-05 14:19:26,882 contactdb_api.contactdb_api.serve INFO - Got commit_object = {'orgs': [{'comment': 'Testing', 'first_handle': '', 'name': 'Intevation', 'sector_id': None, 'contacts': [], 'ti_handle': '', 'ripe_org_hdl': '', 'asns': []}], 'commands': ['create']}; user = 'bernhard.reiter'
fody-backend-error.log:[Fri May 05 14:19:26.882299 2017] [:error] [pid 2075] 2017-05-05 14:19274,179 contactdb_api.contactdb_api.serve INFO - Commit successful, results = [('create', 126)]; user = 'bernhard.reiter'
Update the NEWS.md
file and (usually) all setup.py
files.
Note the versioning scheme remark in the toplevel setup.py
file.
Originally fody-backend had been designed with sub-modules that could potentially also be used separately. Example how to change all version numbers:
grep -r "^ version=" .
grep -rl "^ version=" . | xargs sed -i 's/0.4.4.dev0/0.5.0.dev0/'
Update debian/changelog
, e.g.
dch --newversion 0.7.0 --check-dirname-level 0 --distribution stable
example
git tag -s v0.7.0 -m "Release v0.7.0"
git push origin v0.7.0
In the mentioned files above, set the version number to the following
number as pre-version number for development, e.g. 0.7.1.dev0
.
Most of the files within this repository originated from: https://github.com/Intevation/intelmq-mailgen/tree/master/extras