跳转到主要内容

为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.txthttps://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公开了将更改写入数据库的能力。

如果您想了解哪个用户做了哪些特定的更改

  1. 使用基本认证,并为每个用户维护一个用户ID和密码。(对于apache2,可以使用htpasswd工具完成。)
  2. 至少将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 (51.0 kB 查看散列)

上传时间

构建分发

intelmq_fody_backend-0.9.2-py2.py3-none-any.whl (55.9 kB 查看散列)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面