Duologic.sentry

Duologic.sentry

Estado de Construcción

Este rol configura e instala Sentry con Python.

Requisitos

Probablemente quieras Postgresql y Redis para ejecutar Sentry, mira el Ejemplo de Playbook.

NOTA: Proporciona a la máquina suficiente memoria (2GB+) ya que la actualización de Sentry tiene una fuga de memoria. (ver getsentry/sentry#8862)

Variables del rol

Probablemente quieras generar una clave secreta fuerte:

sentry_secret_key: 'INSEGURO'

Puedes instalar paquetes adicionales con pip en el virtualenv, por ejemplo el paquete de complementos:

sentry_extra_pip_packages:
  - 'sentry-plugins==9.0.0'

Los paquetes/plugins adicionales pueden necesitar algo de configuración extra:

sentry_extra_conf_py: |
    GITHUB_APP_ID = 'ID de Cliente de la Aplicación de GitHub'
    GITHUB_API_SECRET = 'Clave Secreta de la Aplicación de GitHub'
    GITHUB_EXTENDED_PERMISSIONS = ['repo']

Puedes establecer si deseas ejecutar limpieza y el número de días para mantener los datos configurando:

sentry_schedule_cleanup: true # si se debe programar una limpieza. Por defecto es true
sentry_cleanup_days: 30 # el número de días para mantener datos antiguos

Ten en cuenta que esto no elimina metadatos como la configuración de organización y proyecto.

Consulta defaults/main.yml para más opciones de configuración.

Ejemplo de Playbook

---
- become: true
  hosts: servers
  tasks:
    - name: Habilitar el repositorio EPEL en EL para el rol de 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: Vaciar controladores para que los servicios se reinicien antes de la instalación de Sentry
      meta: flush_handlers
    - import_role:
        name: sentry
      vars:
        sentry_db_user: 'sentry'
        sentry_secret_key: 'SEGURO'
        sentry_extra_pip_packages:
            - 'sentry-plugins==9.0.0'

Distribuciones soportadas

Este proyecto se prueba en CentOS 7, Debian 9 y Ubuntu 18.04.

Problemas conocidos con otras distribuciones:

  • CentOS 6: python2.7 no disponible
  • Ubuntu 16.04: redis-server no disponible
  • Debian 8: problemas con criptografía (y posiblemente setuptools)

Consulta esta construcción.

Pruebas

Crea un virtualenv de Python y ejecuta

pip install molecule docker-py
molecule test

Licencia

MIT

Información del autor

Jeroen Op 't Eynde, jeroen@simplistic.be

Acerca del proyecto

Sentry installation with Python.

Instalar
ansible-galaxy install Duologic.sentry
Licencia
mit
Descargas
10.7k
Propietario
Freelance Linux System engineer