LukasGibb.asterisk-config-deploy
asterisk-config-deploy
Un rol de Ansible que despliega la configuración de Asterisk, archivos de sonidos y música en espera desde un repositorio git.
El rol descargará archivos de configuración de un repositorio git a un directorio de trabajo y luego creará enlaces simbólicos de estos archivos en el directorio de configuración de Asterisk.
ADVERTENCIA: ¡Esto eliminará tus archivos de configuración originales de Asterisk! No lo ejecutes en un servidor existente.
El rol también creará enlaces simbólicos a directorios que contengan archivos de 'sonidos' y 'música en espera' personalizados.
Para usar esta opción, deberías considerar usar Git LFS para almacenar los archivos de sonido. El rol instalará git-lfs en el servidor por ti.
Sistema de Sobrescritura de Archivos de Configuración de Asterisk
Los archivos de configuración específicos para un servidor particular se pueden colocar en una subcarpeta dentro del repositorio. Esto puede ayudar cuando tienes un plan de marcación genérico pero necesitas configurar extensiones/troncos, etc., para múltiples regiones/oficinas/clientes.
Por ejemplo, archivos de configuración para la central telefónica de EE. UU. en "asterisk/us/" y la central telefónica del Reino Unido en "asterisk/uk/".
El camino a la subcarpeta relevante se puede establecer en una variable de host (asterisk_config_deploy_ast_override_dir). El rol desplegará cualquier archivo de configuración específico del servidor que esté presente en lugar de los archivos más 'genéricos' del mismo nombre en la carpeta principal.
Sonidos de Asterisk
Los archivos de sonido personalizados de Asterisk se pueden agregar a un directorio en el repositorio (directorio predeterminado: sounds). Este directorio se enlazará simbólicamente al directorio de 'sonidos' 'personalizados' de Asterisk.
Música en Espera de Asterisk
Los archivos personalizados de 'música en espera' de Asterisk se pueden agregar a un directorio en el repositorio (directorio predeterminado: moh). Este directorio se enlazará simbólicamente a un directorio 'personalizado' bajo el directorio de 'música en espera' de Asterisk (así no perderemos los archivos originales de moh). Si prefieres sobrescribir los archivos de moh predeterminados, establece 'asterisk_config_deploy_moh_path' a la ruta de moh real.
Requisitos
Se requiere una instalación de Asterisk en funcionamiento y un repositorio git que contenga tus archivos de configuración.
Si tu repositorio de configuración es privado (recomendado), considera configurar el reenvío de ssh-agent para que la tarea git pueda utilizar tus claves SSH sin que tengas que dejar tus claves SSH en el servidor de Asterisk:
https://developer.github.com/v3/guides/using-ssh-agent-forwarding/
Si tienes múltiples usuarios aplicando este rol, asegúrate de agregar a todos a un grupo y pasar el nombre del grupo al rol usando la variable asterisk_config_deploy_group.
Variables del Rol
Consulta defaults/main.yml.
Dependencias
No hay dependencias obligatorias. Elige tu método preferido para instalar Asterisk. Puedes querer revisar:
https://galaxy.ansible.com/LukasGibb/asterisk/
Ejemplo de Playbook
Obviamente necesitarás pasar los detalles de tu repositorio git (no los ejemplos/predeterminados):
- hosts: pabxservers
vars:
asterisk_config_deploy_repo_protocol: "ssh://"
asterisk_config_deploy_repo_url: "github.com/miusuario/mirepositorioprivadoasteriskconfig"
asterisk_config_deploy_repo_subfolder: "asterisk-config"
asterisk_config_deploy_repo_override_subfolder: "asterisk-config/pbx1"
roles:
- LukasGibb.asterisk
- LukasGibb.asterisk-config-deploy
Licencia
MIT
Información del Autor
Este rol fue creado en 2018 por: Lukas Gibb CloudJourneyman.com
An Ansible role that deploys Asterisk config, sounds and moh files
ansible-galaxy install LukasGibb.asterisk-config-deploy