Duologic.sentry
Duologic.sentry
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
ansible-galaxy install Duologic.sentry