为web应用fody提供intelmq-cb-mailgen数据的后端。
项目描述
文档
为intelmq-cb-mailgen数据或仅为Fody的Web应用提供来自IntelMQ PostgreSQL数据库的事件的后端。
每个包含的模块都有一个额外的README.md
说明。
要求
- hug
- psycopg2 >=2.4.5
- intelmq-mailgen
- python-dateutil
- typing
- postgresql v>=9.5
许可协议
本软件是自由软件,可在AGPL v3或此许可证的后续版本下获得。有关详细信息,请参阅文件agpl-3.0.txt
或https://gnu.ac.cn/licenses/agpl-3.0.en.html。
操作手册
有关统计的使用提示,请参阅events_api/README.md。
由于https://github.com/Intevation/intelmq-fody-backend/issues/12,请确保每次重启postgresql时都重新启动服务进程。
使用hug运行
hug -f intelmq_fody_backend/serve.py -p 8002
使用Apache和WSGI运行
#as root
apt-get install libapache2-mod-wsgi-py3
您可能想使用类似于包含在config/apache-example/001-fody.conf中的示例的Apache配置。
身份验证
暴露的fody-backend端点的身份验证配置在一个json格式的文件中。fody-backend尝试加载配置文件/etc/intelmq/fody-session.conf
和${PREFIX}/etc/intelmq/fody-session.conf
。要覆盖这些路径,将环境变量FODY_SESSION_CONFIG
设置为指向配置文件的路径。
如果在给定位置找不到配置文件,则禁用身份验证。
示例配置
{
"session_store": "/etc/intelmq/fody-session.sqlite",
"session_duration": 86400
}
session_store
:包含用户和会话的sqlite数据库的位置。session_duration
:会话的最大持续时间。
如果您启用session_store,您将需要创建用户帐户才能访问API功能。您可以使用fody-adduser来完成此操作。
fody-adduser --user <username> --password <password>
通过用户跟踪数据库更改
只有模块contactdb_api
公开了将更改写入数据库的能力。
如果您想了解哪个用户做了哪些特定的更改
- 使用基本认证,并为每个用户维护一个用户ID和密码。(对于apache2,可以使用
htpasswd
工具完成。) - 至少将wsgi应用程序的日志记录在INFO级别。
日志条目将显示请求的更改以及认证的用户ID,搜索remote_user =
。例如,对于apache2
pushd /var/log/apache2/
grep 'remote_user =' *
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']}; remote_user = 'bernhard.reiter'
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)]; remote_user = 'bernhard.reiter'
链接
- python-imqfody 是一个python3模块,可简化访问Fody后端。
开发
如何发布
更新NEWS.md
文件以及(通常)所有setup.py
文件。注意顶层setup.py
文件中的版本控制方案注释。
版本号
最初,fody-backend是以子模块设计的,这些子模块也可以单独使用。例如,如何更改所有版本号
grep -r "^ version=" .
grep -rl "^ version=" . | xargs sed -i 's/0.4.4.dev0/0.5.0.dev0/'
debian/package
更新debian/changelog
,例如
dch --newversion 0.7.0 --check-dirname-level 0 --distribution stable
标记版本
示例
git tag -s v0.7.0 -m "Release v0.7.0"
git push origin v0.7.0
为后续开发做准备
在上面的提到的文件中,将版本号设置为以下数字作为开发前的预版本号,例如0.7.1.dev0
。
历史
此存储库中的大多数文件最初来自:https://github.com/Intevation/intelmq-mailgen/tree/master/extras
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
intelmq-fody-backend-0.9.2.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 88cd965e5285eb6d39b672f04bdcb66105310ed6d4915d18b3d6eee46a902c4f |
|
MD5 | 67839f6d4f5854bc7687b59dc5f4b7f8 |
|
BLAKE2b-256 | 9679db250a0d68168df28eac199292350d7698ee2f5a5003716bdba7aaa47d34 |
intelmq_fody_backend-0.9.2-py2.py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 97859c10b2e7c0ffe2c803c3738cc24020b981a3e1f0186f68857ad6d3c07af9 |
|
MD5 | afa383d4e73ba2e62997d029508508d4 |
|
BLAKE2b-256 | f6b281c433db865b795f302ae0e9025c51501f22530d6824670dc3f54aaac8db |