Duologic.sentry
Duologic.sentry
Dieses Role konfiguriert und installiert Sentry mit Python.
Anforderungen
Sie benötigen wahrscheinlich Postgresql und Redis, um Sentry auszuführen. Siehe Beispiel-Playbook.
HINWEIS: Stellen Sie sicher, dass die Maschine genügend Speicher hat (2 GB oder mehr), da das Sentry-Upgrade ein Speicherleck hat. (Siehe getsentry/sentry#8862)
Rollenvariablen
Sie möchten wahrscheinlich einen sicheren geheimen Schlüssel generieren:
sentry_secret_key: 'UNSICHER'
Sie können zusätzliche Pakete mit pip in der virtuellen Umgebung installieren, zum Beispiel das Plugin-Bundle:
sentry_extra_pip_packages:
- 'sentry-plugins==9.0.0'
Die zusätzlichen Pakete/Plugins benötigen möglicherweise zusätzliche Konfiguration:
sentry_extra_conf_py: |
GITHUB_APP_ID = 'GitHub Anwendungsclient-ID'
GITHUB_API_SECRET = 'GitHub Anwendungsgeheimnis'
GITHUB_EXTENDED_PERMISSIONS = ['repo']
Sie möchten möglicherweise festlegen, ob eine Bereinigung durchgeführt werden soll und wie viele Tage die Daten aufbewahrt werden sollen, indem Sie Folgendes festlegen:
sentry_schedule_cleanup: true # ob eine Bereinigung geplant werden soll. Standard ist true
sentry_cleanup_days: 30 # die Anzahl der Tage, an denen alte Daten aufbewahrt werden
Bitte beachten Sie, dass hierbei keine Metadaten wie Organisations- und Projektkonfigurationen gelöscht werden.
Siehe defaults/main.yml für weitere Konfigurationsoptionen.
Beispiel-Playbook
---
- become: true
hosts: servers
tasks:
- name: EPEL-Repo auf EL für Redis-Rolle aktivieren
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: Handler leeren, damit die Dienste vor der Sentry-Installation neu gestartet werden
meta: flush_handlers
- import_role:
name: sentry
vars:
sentry_db_user: 'sentry'
sentry_secret_key: 'SICHER'
sentry_extra_pip_packages:
- 'sentry-plugins==9.0.0'
Unterstützte Distributionen
Dieses Projekt wurde auf CentOS 7, Debian 9 und Ubuntu 18.04 getestet.
Bekannte Probleme mit anderen Distributionen:
- CentOS 6: python2.7 nicht verfügbar
- Ubuntu 16.04: redis-server nicht verfügbar
- Debian 8: Probleme mit Kryptographie (und möglicherweise setuptools)
Siehe dieses Build.
Tests
Erstellen Sie eine Python virtuelle Umgebung und führen Sie aus:
pip install molecule docker-py
molecule test
Lizenz
MIT
Autoreninformation
Jeroen Op 't Eynde, jeroen@simplistic.be
ansible-galaxy install Duologic.sentry