sentry
Duologic.sentry
Эта роль настраивает и устанавливает Sentry с помощью Python.
Требования
Вам, вероятно, потребуется Postgresql и Redis для работы Sentry, см. Пример Playbook.
ПРИМЕЧАНИЕ: Обеспечьте машине достаточно памяти (2 ГБ+), так как при обновлении 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'
GITHUB_API_SECRET = 'Секрет клиента приложения GitHub'
GITHUB_EXTENDED_PERMISSIONS = ['repo']
Вы можете установить, следует ли запускать очистку и количество дней для хранения данных, установив:
sentry_schedule_cleanup: true # нужно ли запланировать очистку. По умолчанию true
sentry_cleanup_days: 30 # количество дней для хранения старых данных
Обратите внимание, что это не удаляет метаданные, такие как настройки организации и проекта.
Смотрите defaults/main.yml для получения дополнительных параметров конфигурации.
Пример Playbook
---
- become: true
hosts: servers
tasks:
- name: Включить EPEL репозиторий на EL для роли Redis
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@simplistic.be
ansible-galaxy install Duologic/ansible-role-sentry