Duologic.sentry

Duologic.sentry

Statut de construction

Ce rôle configure et installe Sentry avec Python.

Exigences

Vous aurez probablement besoin de Postgresql et Redis pour faire fonctionner Sentry, voir l'exemple de Playbook.

REMARQUE : Fournissez à la machine suffisamment de mémoire (2 Go ou plus), car la mise à jour de Sentry a une fuite de mémoire. (voir getsentry/sentry#8862)

Variables de rôle

Vous souhaiterez probablement générer une clé secrète forte :

sentry_secret_key: 'UNSAFE'

Vous pouvez installer des packages supplémentaires avec pip dans l'environnement virtuel, par exemple le bundle de plugins :

sentry_extra_pip_packages:
  - 'sentry-plugins==9.0.0'

Les packages/plugins supplémentaires peuvent nécessiter une configuration supplémentaire :

sentry_extra_conf_py: |
    GITHUB_APP_ID = 'ID du client de l\'application GitHub'
    GITHUB_API_SECRET = 'Secret de l\'application GitHub'
    GITHUB_EXTENDED_PERMISSIONS = ['repo']

Vous souhaiterez peut-être définir si vous voulez exécuter cleanup et le nombre de jours pour conserver les données en définissant :

sentry_schedule_cleanup: true # pour programmer un nettoyage. La valeur par défaut est true
sentry_cleanup_days: 30 # le nombre de jours pour conserver les anciennes données

Notez que cela ne supprime pas les métadonnées telles que les configurations d'organisation et de projet.

Voir defaults/main.yml pour plus d'options de configuration.

Exemple de Playbook

---
- devenir: true
  hôtes: serveurs
  tâches:
    - nom: Activer le repo EPEL sur EL pour le rôle Redis
      yum: pkg=epel-release state=present
      quand: ansible_os_family == 'RedHat'
    - importer_rôle:
        nom: geerlingguy.redis
    - importer_rôle:
        nom: Duologic.postgresql_repository
      vars:
        postgres_repo_version: '9.5'
    - importer_rôle:
        nom: 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
    - nom: Vidanger les gestionnaires afin que les services soient redémarrés avant l'installation de Sentry
      meta: flush_handlers
    - importer_rôle:
        nom: sentry
      vars:
        sentry_db_user: 'sentry'
        sentry_secret_key: 'SAFE'
        sentry_extra_pip_packages:
            - 'sentry-plugins==9.0.0'

Distributions prises en charge

Ce projet est testé sur CentOS 7, Debian 9 et Ubuntu 18.04.

Problèmes connus avec d'autres distributions :

  • CentOS 6 : python2.7 non disponible
  • Ubuntu 16.04 : serveur Redis non disponible
  • Debian 8 : problèmes de cryptographie (et peut-être setuptools)

Voir cette construction.

Tests

Créez un environnement virtuel python et exécutez

pip install molecule docker-py
molecule test

Licence

MIT

Informations sur l'auteur

Jeroen Op 't Eynde, jeroen@simplistic.be

À propos du projet

Sentry installation with Python.

Installer
ansible-galaxy install Duologic.sentry
Licence
mit
Téléchargements
10.7k
Propriétaire
Freelance Linux System engineer