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