Duologic.sentry
Duologic.sentry
此角色用于配置和安装使用 Python 的 Sentry。
要求
你可能需要安装 Postgresql 和 Redis 来运行 Sentry,见示例剧本。
注意:为机器提供足够的内存(2GB+),因为 Sentry 升级时有内存泄漏的问题。 (见 getsentry/sentry#8862)
角色变量
你可能想生成一个强大的密钥:
sentry_secret_key: 'UNSAFE'
你可以在虚拟环境中使用 pip 安装额外的软件包,例如插件包:
sentry_extra_pip_packages:
- 'sentry-plugins==9.0.0'
额外的软件包/插件可能需要一些额外的配置:
sentry_extra_conf_py: |
GITHUB_APP_ID = 'GitHub 应用程序客户端 ID'
GITHUB_API_SECRET = 'GitHub 应用程序客户端密钥'
GITHUB_EXTENDED_PERMISSIONS = ['repo']
你可能想设置是否运行 清理 以及保留数据的天数,可以通过以下设置实现:
sentry_schedule_cleanup: true # 是否计划清理,默认是 true
sentry_cleanup_days: 30 # 保留旧数据的天数
请注意,这不会删除组织和项目配置等元数据。
请查看 defaults/main.yml 获取更多配置选项。
示例剧本
---
- become: true
hosts: servers
tasks:
- name: 在 EL 上为 Redis 角色启用 EPEL repo
yum: pkg=epel-release state=present
when: ansible_os_family == 'RedHat'
- import_role:
name: geerlingguy.redis
- import_role:
name: Duologic.postgresql_repository
vars:
postgres_repo_version: '9.5'
- import_role:
name: geerlingguy.postgresql
vars:
postgresql_hba_entries:
- {type: local, database: sentry, user: sentry, auth_method: trust}
- {type: local, database: all, user: postgres, auth_method: peer}
postgresql_databases:
- name: sentry
postgresql_users:
- name: sentry
db: sentry
role_attr_flags: SUPERUSER
- name: 刷新处理程序,以便在 Sentry 安装之前重启服务
meta: flush_handlers
- import_role:
name: sentry
vars:
sentry_db_user: 'sentry'
sentry_secret_key: 'SAFE'
sentry_extra_pip_packages:
- 'sentry-plugins==9.0.0'
支持的发行版
该项目在 CentOS 7、Debian 9 和 Ubuntu 18.04 上进行了测试。
在其他发行版上已知的问题:
- CentOS 6:python2.7 不可用
- Ubuntu 16.04:redis-server 不可用
- Debian 8:加密模块(可能还有 setuptools)存在问题
请查看这个 构建。
测试
创建一个 Python 的 虚拟环境 并运行
pip install molecule docker-py
molecule test
许可证
MIT
作者信息
Jeroen Op 't Eynde, jeroen@simplistic.be
安装
ansible-galaxy install Duologic.sentry
许可证
mit
下载
10.7k
拥有者
Freelance Linux System engineer