Puppet module for Asterisk
=======
The asterisk module provides a simple interface for managing Asterisk deployments with Puppet.
Asterisk is a free and open source framework for building communications applications http://www.asterisk.org/ This module helps you installing and configuring Asterisk with Puppet.
To install Asterisk with the default parameters:
class { '::asterisk': }
(this will also install the default package version for the current distribution).
If you want a specific package version (must be available depending on apt sources configuration):
class { '::asterisk':
package_ensure => '<MY VERSION>',
}
On an empty host:
apt-get update && apt-get install -y puppet
## This will also pull puppetlabs-stdlib
puppet module install trulabs-asterisk
puppet apply -v /etc/puppet/modules/asterisk/tests/init.pp --show_diff --noop
#####service_enable
Enable Asterisk.
#####service_ensure
Ensure the service is running or stopped.
#####service_manage
Whether Puppet should manage Asterisk as a service.
#####package_ensure
What the asterisk package version should be (including present, latest, absent).
#####package_name
Name of the asterisk package.
#####manage_config
Take care of configuration files, or delegate to something else external.
#####ari_enabled
Enable the Asterisk Restful Interface (ARI) ('yes' or 'no').
#####ast_dump_core
Create core dumps ('no' is false, everything else true).
#####ast*dir
Resource directories specified in the asterisk.conf
file. Used to
override defaults: astetcdir, astetcdir, astmoddir, astvarlibdir, astdbdir, astkeydir, astdatadir, astagidir, astspooldir, astrundir, astlogdir
.
#####http_bindaddr
Bind address for the Asterisk HTTP interface ('0.0.0.0')
#####http_enabled
Enable the Asterisk HTTP interface ('yes' or 'no').
#####http_port
TCP Port for the Asterisk HTTP interface ('8088').
#####manager_bindaddr
Bind address for the Asterisk Manager Interface (AMI) ('0.0.0.0')
#####manager_enabled
Enable the Asterisk Manager Interface (AMI) ('yes' or 'no').
#####manager_port
TCP Port for the Asterisk Manager Interface (AMI) ('5038').
#####manager_webenabled
Web Enable the Asterisk Manager Interface (AMI) ('yes' or 'no').
#####rtpstart
Lower limit for RTP port range.
#####rtpend
Upper limit for RTP port range.
#####udpbindaddr
Interface (with optional port) where to bind UDP.
#####tcpenable
Enable TCP ('yes' or 'no').
#####tcpbindaddr
Interface (with optional port) where to bind TCP.
#####tlsenable
Enable TLS ('yes' or 'no').
#####tlsbindaddr
Interface (with optional port) where to bind TLS.
#####tlscertfile
Path for TLS certificate.
#####tlsprivatekey
Path for TLS private key file.
#####tlscafile
Path for TLS CA file..
#####tlscapath
Path for TLS CA files folder.
#####tlsdontverifyserver
As TLS client, verify or not the server certificate ('yes' or 'no').
Truphone Labs
Giacomo Vacca <[email protected]>
See LICENSE file.
##Limitations
This module has been built and tested with Puppet 2.7.
The module has been tested on:
- Debian 7 (Wheezy)
- Ubuntu 14.04 (Trusty)
##Tests
Run tests from the tests/ folder, e.g.: sudo puppet apply -v tests/init.pp --modulepath modules/:/etc/puppet/modules --show_diff --noop
In order to successfully run a --noop
test with the
puppetlabs/concat
module, you must first run a successful concat
test so the module can compile a local shell script. A simple test
might be:
# test-concat.pp
node default {
concat {'/tmp/foo.txt':}
concat::fragment {'foo.txt':
target => '/tmp/foo.txt',
content => 'bar',
}
}
##Contributors The list of contributors can be found at: https://github.com/trulabs/puppet-asterisk/graphs/contributors