Puppet Class: murmur
- Defined in:
- manifests/init.pp
Overview
Class: murmur
This module enables the configuration and management of a Ventrillo Server. see www.ventrillo.com for details on murmur an RPM spec file, an RPM, init script, and config template are provided.
Parameters
- murmur_ensure
-
whether or not to install and enable the service#
- murmur_allowhtml
-
Allow clients to use HTML in messages, user comments and channel descriptions?
- murmur_autoban_attempts
- murmur_autoban_timeframe
- murmur_autoban_time
- murmur_autoban_timeframe
-
How many login attempts do we tolerate from one IP inside a given timeframe before we ban the connection? Note that this is global (shared between all virtual servers), and that it counts both successfull and unsuccessfull connection attempts. Set either Attempts or Timeframe to 0 to disable.
- murmur_bandwidth
-
Maximum bandwidth (in bits per second) clients are allowed to send speech at.
- murmur_configfile
-
The name of the config file
- murmur_database
-
Path to database. If blank, will search for murmur.sqlite in default locations or create it if not found.
- murmur_host
- murmur_imagemessagelength
-
Maximum length of text messages in characters, with image data. 0 for no limit.
- murmur_installdir
-
The directory the software is installed in
- murmur_logdays
-
Murmur retains the per-server log entries in an internal database which allows it to be accessed over D-Bus/ICE. How many days should such entries be kept? Set to 0 to keep forever, or -1 to disable logging to the DB
- murmur_logfile
-
Murmur default to logging to murmur.log. If you leave this blank, murmur will log to the console (linux) or through message boxes (win32).
- murmur_logrotate
-
Whether or not to include the logrotate defined type and rotate the log
- murmur_packagename
-
The name of the package to install
- murmur_pidfile
-
Murmur will write it’s pid to this file
- murmur_port
-
Port to bind TCP and UDP sockets to
- murmur_rpc
-
Murmur defaults to using session for RPC. Supported options: session dbus
- murmur_serverpassword
-
Password to join server
- murmur_servername
-
The name the server displays
- murmur_sslcert
- murmur_sslkey
-
If you have a proper SSL certificate, you can provide the filenames here. Otherwise, Murmur will create it’s own certificate automatically.
- murmur_textmessagelength
-
Maximum length of text messages in characters. 0 for no limit.
- murmur_uname
-
If murmur is started as root, which user should it switch to? This option is ignored if murmur isn’t started with root privileges.
- murmur_users
-
Maximum number of concurrent clients allowed.
- murmur_welcometext
-
Welcome message sent to clients when they connect
Variables
example hiera variable murmur_ensure: ‘enabled’ murmur_allowhtml: ‘true’ murmur_autoban_attempts: ‘10’ murmur_autoban_time: ‘120’ murmur_autoban_timeframe: ‘300’ murmur_bandwidth: ‘72000’ murmur_configfile: ‘murmur.ini’ murmur_database: ‘murmur.sqlite’ murmur_host: ” murmur_imagemessagelength: ‘131072’ murmur_installdir: ‘/usr/local/murmur/’ murmur_logdays: ‘31’ murmur_logfile: ‘/var/log/murmur.log’ murmur_logrotate: ‘false’ murmur_packagename: ‘Murmur’ murmur_pidfile: ” murmur_port: ‘64738’ murmur_rpc: ‘session’ murmur_servername: ” murmur_serverpassword: ” murmur_sslcert: ” murmur_sslkey: ” murmur_textmessagelength: ‘5000’ murmur_uname: ‘murmur’ murmur_users: ‘100’ murmur_welcometext: ‘“Welcome to mumble”’
Examples
class { murmur:
murmur_serverpassword => 'c@llMEmayb?'
}
To Do:
turn this into a defined type so multiple servers can be run on a box
Authors
Wolf Noble <wolfspyre@wolfspaw.com>
Copyright
Copyright 1999 Flagship Industries, unless otherwise noted.
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 |
# File 'manifests/init.pp', line 140
class murmur(
$murmur_ensure = hiera('murmur_ensure', 'enabled'),
$murmur_allowhtml = hiera('murmur_allowhtml', 'true' ),
$murmur_autoban_attempts = hiera('murmur_autoban_attempts', '10'),
$murmur_autoban_time = hiera('murmur_autoban_time', '120'),
$murmur_autoban_timeframe = hiera('murmur_autoban_timeframe', '120'),
$murmur_bandwidth = hiera('murmur_bandwidth', '72000'),
$murmur_configfile = hiera('murmur_configfile', 'murmur.ini'),
$murmur_database = hiera('murmur_database', 'murmur.sqlite'),
$murmur_host = hiera('murmur_host', ''),
$murmur_imagemessagelength = hiera('murmur_imagemessagelength', '131072'),
$murmur_installdir = hiera('murmur_installdir', '/usr/local/murmur/'),
$murmur_logdays = hiera('murmur_logdays', '31'),
$murmur_logfile = hiera('murmur_logfile', '/var/log/murmur.log'),
$murmur_logrotate = hiera('murmur_logrotate', 'false' ),
$murmur_packagename = hiera('murmur_packagename', 'Murmur'),
$murmur_pidfile = hiera('murmur_pidfile', '/var/log/murmur.pid'),
$murmur_port = hiera('murmur_port', '64738'),
$murmur_rpc = hiera('murmur_rpc', 'session'),
$murmur_serverpassword = hiera('murmur_serverpassword', ''),
$murmur_sslcert = hiera('murmur_sslcert', ''),
$murmur_sslkey = hiera('murmur_sslkey', ''),
$murmur_textmessagelength = hiera('murmur_textmessagelength', '5000'),
$murmur_uname = hiera('murmur_uname', 'murmur'),
$murmur_users = hiera('murmur_users', '100'),
$murmur_welcometext = hiera('murmur_welcometext', "\"<br />Welcome to ${::fqdn} running <b>Murmur</b>.<br />Enjoy your stay!<br />\""),
) {
#take advantage of the Anchor pattern
anchor{'murmur::begin':}
-> anchor {'murmur::package::begin':}
-> anchor {'murmur::package::end':}
-> anchor {'murmur::config::begin':}
-> anchor {'murmur::config::end':}
-> anchor {'murmur::service::begin':}
-> anchor {'murmur::service::end':}
-> anchor {'murmur::end':}
#clean up our parameters
$ensure = $murmur_ensure
#$allowhtml = $murmur_allowhtml
case $murmur_allowhtml {
/[tT][rR][uU][eE]/: {
$allowhtml = true
}
/[fF][aA][lL][sS][eE]/: {
$allowhtml = false
}
default: {
fail "unsupported value $murmur_allowhtml for murmur_allowhtml. expecting a string with the value true or false"
}
}
$autoban_attempts = $murmur_autoban_attempts
$autoban_timeframe = $murmur_autoban_timeframe
$autoban_time = $murmur_autoban_time
$bandwidth = $murmur_bandwidth
$configfile = $murmur_configfile
$database = $murmur_database
$host = $murmur_host
$imagemessagelength = $murmur_imagemessagelength
$installdir = $murmur_installdir
$logdays = $murmur_logdays
$logfile = $murmur_logfile
#$logrotate = $murmur_logrotate
case $murmur_logrotate {
/[tT][rR][uU][eE]/: {
$logrotate = true
}
/[fF][aA][lL][sS][eE]/: {
$logrotate = false
}
default: {
fail "unsupported value $murmur_logrotate for murmur_logrotate. expecting a string with the value true or false"
}
}
$packagename = $murmur_packagename
$pidfile = $murmur_pidfile
$port = $murmur_port
$rpc = $murmur_rpc
$serverpassword = $murmur_serverpassword
$sslcert = $murmur_sslcert
$sslkey = $murmur_sslkey
$textmessagelength = $murmur_textmessagelength
$users = $murmur_users
$uname = $murmur_uname
$welcometext = $murmur_welcometext
case $::osfamily {
#RedHat Debian Suse Solaris Windows
RedHat: {
include murmur::rhel::package
include murmur::rhel::config
include murmur::rhel::service
}#end RHEL variant case
default: {
notice "There is not currently a murmur module for $::osfamily"
}#end default unsupported OS case
}
}
|