LukasGibb.asterisk-config-deploy

asterisk-config-deploy

一个用于从Git仓库部署Asterisk配置、音效和音乐等待文件的Ansible角色。

该角色将从Git仓库检出配置文件到工作目录,然后将这些文件的符号链接到Asterisk配置目录。

警告:这将删除您原始的Asterisk配置文件!请勿在现有服务器上运行。

该角色还会将包含自定义“音效”和“音乐等待”文件的目录创建符号链接。

要使用此选项,您应该考虑使用Git LFS来存储音效文件。该角色会为您在服务器上安装git-lfs。

Asterisk配置文件覆盖系统

特定于某个服务器的配置文件可以放在仓库的子文件夹中。当您有一个通用的拨号计划,但需要为多个地区/办公室/客户配置分机/中继等时,这非常有帮助。

例如:美国PABX的配置文件在“asterisk/us/”中,英国PABX的配置文件在“asterisk/uk/”中。

相关子文件夹的路径可以在主机变量(asterisk_config_deploy_ast_override_dir)中设置。该角色将部署任何存在的服务器特定配置文件,而不是主文件夹中同名的“通用”文件。

Asterisk音效

自定义Asterisk音效文件可以添加到仓库中的一个目录(默认目录:sounds)。该目录将被符号链接到Asterisk的“自定义”音效目录。

Asterisk音乐等待

自定义Asterisk的“音乐等待”文件可以添加到仓库中的一个目录(默认目录:moh)。该目录将被符号链接到Asterisk的“音乐等待”目录下的“自定义”目录(以防我们丢失原始的音乐等待文件)。如果您更愿意覆盖默认的音乐等待文件,请将‘asterisk_config_deploy_moh_path’设置为实际的音乐等待路径。

要求

需要一个工作中的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

作者信息

此角色由Lukas Gibb于2018年创建 CloudJourneyman.com

关于项目

An Ansible role that deploys Asterisk config, sounds and moh files

安装
ansible-galaxy install LukasGibb.asterisk-config-deploy
许可证
mit
下载
93
拥有者