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

О проекте

Sentry installation with Python.

Установить
ansible-galaxy install Duologic/ansible-role-sentry
Лицензия
mit
Загрузки
10645
Владелец
Freelance Linux System engineer