asterisk-config-deploy
asterisk-config-deploy
Ansible роль, которая разворачивает конфигурацию Asterisk, звуки и файлы музыки на удержании (MOH) из git-репозитория.
Роль заберет файлы конфигурации из git-репозитория в рабочую директорию, а затем создаст символические ссылки на эти файлы в директории конфигурации Asterisk.
ПРЕДУПРЕЖДЕНИЕ: Это удалит ваши оригинальные файлы конфигурации Asterisk! Не выполняйте на уже существующем сервере.
Роль также создаст символические ссылки на директории, содержащие пользовательские звуковые и MOH файлы.
Чтобы использовать эту опцию, вам стоит рассмотреть возможность использования Git LFS для хранения звуковых файлов. Роль установит git-lfs на сервере для вас.
Система переопределения файлов конфигурации Asterisk
Файлы конфигурации, специфичные для конкретного сервера, можно разместить в подпапке в репозитории. Это может помочь, когда у вас есть общий сценарий набора номера, но нужно настроить расширения/транки и т.д. для нескольких регионов/офисов/клиентов.
Например, файлы конфигурации для PABX в США в "asterisk/us/" и PABX в Великобритании в "asterisk/uk/".
Путь к соответствующей подпапке можно задать в переменной хоста (asterisk_config_deploy_ast_override_dir). Роль установит любые специфичные для сервера файлы конфигурации, которые присутствуют, вместо более "общих" файлов с тем же именем в главной папке.
Звуки Asterisk
Пользовательские звуковые файлы Asterisk можно добавить в директорию в репозитории (директория по умолчанию: sounds). Эта директория будет связана с пользовательской директорией 'sounds' Asterisk.
Музыка на удержании Asterisk
Пользовательские файлы музыки на удержании Asterisk можно добавить в директорию в репозитории (директория по умолчанию: moh). Эта директория будет связана с пользовательской директорией под директорией Asterisk 'moh' (чтобы мы не потеряли оригинальные файлы moh). Если вы предпочли бы перезаписать стандартные файлы moh, установите 'asterisk_config_deploy_moh_path' на фактический путь moh.
Требования
Требуется работающая установка Asterisk и git-репозиторий, который содержит ваши файлы конфигурации.
Если ваш репозиторий конфигурации приватный (рекомендуется), то посмотрите на настройку пересылки ssh-agent, чтобы задача git могла использовать ваши SSH-ключи, не оставляя SSH-ключи на сервере Asterisk:
https://developer.github.com/v3/guides/using-ssh-agent-forwarding/
Если у вас несколько пользователей, применяющих эту роль, то убедитесь, что вы добавили их всех в группу и передали имя группы роли, используя переменную asterisk_config_deploy_group.
Переменные роли
Смотрите defaults/main.yml.
Зависимости
Нет обязательных зависимостей. Выберите предпочитаемый способ установки Asterisk. Вы можете ознакомиться с:
https://galaxy.ansible.com/LukasGibb/asterisk/
Пример плейбука
Очевидно, вам нужно будет указать данные вашего git-репозитория (не примерные/умолчательные):
- hosts: pabxservers
vars:
asterisk_config_deploy_repo_protocol: "ssh://"
asterisk_config_deploy_repo_url: "github.com/myusername/myprivateasteriskconfigrepo"
asterisk_config_deploy_repo_subfolder: "asterisk-config"
asterisk_config_deploy_repo_override_subfolder: "asterisk-config/pbx1"
roles:
- LukasGibb.asterisk
- LukasGibb.asterisk-config-deploy
Лицензия
MIT
Информация об авторе
Эта роль была создана в 2018 году: Lukas Gibb CloudJourneyman.com
An Ansible role that deploys Asterisk config, sounds and moh files
ansible-galaxy install LukasGibb/ansible-role-asterisk-config-deploy