puppet-asterisk
Description
Puppet module for Asterisk
=======
Overview
The asterisk module provides a simple interface for managing Asterisk deployments with Puppet.
Module Description
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.
Setup
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
Parameters
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').
Author
Truphone Labs
Giacomo Vacca <giacomo.vacca@gmail.com>
License
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
Caveatt: puppetlabs/concat
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