Duologic.sentry

Duologic.sentry

Build Status

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

Über das Projekt

Sentry installation with Python.

Installieren
ansible-galaxy install Duologic.sentry
GitHub Repository
Lizenz
mit
Downloads
10.7k
Besitzer
Freelance Linux System engineer