Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- ,
Start using this module
Add this module to your Puppetfile:
mod 'puppet-mumble', '5.0.0'
Learn more about managing modules with a PuppetfileDocumentation
Mumble module for Puppet
Table of Contents
- Overview
- Module Description
- Setup - The basics of getting started with puppet-mumble
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
This module installs the Mumble VoIP server, murmurd.
It is in beta development and tested on Ubuntu 12.04 and 14.04.
Module Description
This module is intended for Ubuntu. If $ppa
is true, it adds either
the snapshot or release (depending on $snapshot
) Mumble PPA, then
installs mumble-server, configures it through a template, and starts
the service.
Get in touch
- IRC: #voxpupuli on irc.freenode.net (Freenode WebChat)
- Mailinglist: voxpupuli@groups.io (groups.io Webinterface)
Setup
What puppet-mumble affects
- Packages
mumble-server
libicu-dev
if$libicu_dev
(bugfix)
- PPAs
ppa:mumble/release
ppa:mumble/snapshot
- Services
mumble-server
- Files
/etc/mumble-server.ini
- User
mumble-server
- Group
mumble-server
Beginning with puppet-mumble
The simplest use of this module is:
include mumble
Usage
Generated puppet strings documentation with examples is available from https://voxpupuli.org/puppet-mumble/
It's also included in the docs/ folder as simple html pages.
This module has one class, mumble
, with the following
parameters:
$autostart = true, # Start server at boot
$ppa = false, # Install the PPA
$snapshot = false, # Use snapshot over release PPA
$server_password = '', # Supervisor account password
# The following parameters affect mumble-server.ini through a template
# For more info, see http://mumble.sourceforge.net/Murmur.ini
$register_name = 'Mumble Server',
$password = undef, # General entrance password
$port = 64738,
$host = '',
$user = 'mumble-server',
$group = 'mumble-server',
$bandwidth = 72000,
$users = 100,
$text_length_limit = 5000,
$autoban_attempts = 10,
$autoban_time_frame = 120,
$autoban_time = 300,
$database_path = '/var/lib/mumble-server/mumble-server.sqlite',
$log_path = '/var/log/mumble-server/mumble-server.log',
$allow_html = true,
$log_days = 31,
$ssl_cert = '',
$ssl_key = '',
$welcome_text = '<br />Welcome to this server running <b>Murmur</b>.<br />Enjoy your stay!<br />',
Note that the mumble-server package by default sets up a user and group named 'mumble-server', and so will be created additionally if the user and group are changed here.
More information about the configuraiton file's settings can be found in the Wiki.
The snapshot
parameter enables the use of the snapshot PPA, which as
of this writing, seems to fix the bug where libicui-dev was needed but
not a dependency.
The server_password
parameter sets the supervisor account's password
by executing murmurd -supw password
, it is not a template
configuration, and thus can be set manually as well.
Limitations
This module currently only supports Ubuntu. It is working on my Vagrant box, Ubuntu 12.04.4 LTS with Puppet 3.4.1, and as such it's development is on hold.
If Mumble ever runs without being given an SSL certificate and key, then it will auto-generate its own. If later given a custom certificate and key, the Mumble service must be stopped, and then manually run with the option to wipe the keys from its internal configuration database.
service mumble-server stop
murmurd -wipessl
pkill murmurd
service mumble-server start
Please note that on Debian / Ubuntu, you may want to change
USER=mumble-server
to USER=root
in /etc/init.d/mumber-server
so
that root owned keys can be read by Mumble on startup, as per this
bug. The
Mumble daemon automatically drops privileges itself.
Development
Fork on GitHub, make a Pull Request.
Reference
Table of Contents
Classes
mumble
: This class manages mumble on Debian based systems.
Classes
mumble
This class manages mumble on Debian based systems.
Examples
Install mumble and configure an entrance password
class { 'mumble':
password => 'Fo0b@rr',
}
Parameters
The following parameters are available in the mumble
class:
autostart
ppa
snapshot
libicu_fix
server_password
version
register_name
password
port
host
user
group
bandwidth
users
text_length_limit
autoban_attempts
autoban_time_frame
autoban_time
database_path
log_path
allow_html
log_days
ssl_cert
ssl_key
welcome_text
autostart
Data type: Any
start server at boot.
Default value: true
ppa
Data type: Any
use Ubuntu PPA instead default APT repos.
Default value: false
snapshot
Data type: PPA only
use snapshot over release.
Default value: false
libicu_fix
Data type: Any
install libicu-dev to fix dependency.
Default value: false
server_password
Data type: Any
supervisor account password (mumble admin).
Default value: undef
version
Data type: Any
configure the version of mumble to install.
Default value: installed
register_name
Data type: Any
muble server name. (This parameter affect mumble-server.ini through a template. For more info, see http://mumble.sourceforge.net/Murmur.ini)
Default value: 'Mumble Server'
password
Data type: Any
general entrance password.
Default value: ''
port
Data type: Any
port to bind TCP and UDP sockets to.
Default value: 64738
host
Data type: Any
IP or hostname to bind to. (If this is left blank (default), Murmur will bind to all available addresses).
Default value: ''
user
Data type: Any
username used to start mumble.
Default value: 'mumble-server'
group
Data type: Any
mumble server group
Default value: 'mumble-server'
bandwidth
Data type: Any
maximum bandwidth (in bits per second) clients are allowed).
Default value: 72000
users
Data type: Any
maximum number of concurrent clients allowed.
Default value: 100
text_length_limit
Data type: Any
maximum length of text messages in characters. 0 for no limit.
Default value: 5000
autoban_attempts
Data type: Any
how many login attempts do we tolerate from one IP? (0 to disable).
Default value: 10
autoban_time_frame
Data type: Any
time interval (0 to disable).
Default value: 120
autoban_time
Data type: Any
bantime duration in seconds (0 to disable).
Default value: 300
database_path
Data type: Any
path to database. Allowed values: absolute path
Default value: '/var/lib/mumble-server/mumble-server.sqlite'
log_path
Data type: Any
path to logfile Allowed values: absolute path
Default value: '/var/log/mumble-server/mumble-server.log'
allow_html
Data type: Any
allow clients to use HTML in messages, user comments and channel descriptions?
Default value: true
log_days
Data type: Any
log entries in an internal database (set to 0 to keep forever, or -1 to disable logging to the DB).
Default value: 31
ssl_cert
Data type: Any
ssl certificate.
Default value: ''
ssl_key
Data type: Any
key file.
Default value: ''
welcome_text
Data type: Any
a welcome formated text.
Default value: '<br />Welcome to this server running <b>Murmur</b>.<br />Enjoy your stay!<br />'
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v5.0.0 (2023-07-13)
Breaking changes:
- Drop Puppet 6 support #79 (bastelfreak)
Implemented enhancements:
- Add Puppet 8 support #83 (bastelfreak)
- puppetlabs/stdlib: Allow 9.x #82 (bastelfreak)
- puppetlabs/apt: Allow 9.x #81 (smortex)
v4.0.0 (2021-09-09)
Breaking changes:
- Drop support for Debian 9, Ubuntu 16.04 (EOL) #72 (smortex)
- Drop support of Puppet 5 (EOL) #70 (smortex)
Implemented enhancements:
Merged pull requests:
- Allow stdlib 8.x and apt 7.x #67 (smortex)
- modulesync 3.0.0 & puppet-lint updates #64 (bastelfreak)
v3.0.0 (2020-05-09)
Breaking changes:
- modulesync 2.7.0 and drop puppet 4 #49 (bastelfreak)
Fixed bugs:
- mumble_set_password fail with exit code 1 #52
- fix mumble_set_password (idempotency and returns)(Closes: #52) #53 (sbadia)
Closed issues:
Merged pull requests:
- Use voxpupuli-acceptance #62 (ekohl)
- Fix for server_password management #60 (smortex)
- Clean up acceptance spec helper #57 (ekohl)
- fix puppet-string annotations & Generate REFERENCE.md #55 (bastelfreak)
- metadata: bump ubuntu and debian support to latest version (refs: #36) #54 (sbadia)
- Allow puppetlabs/apt 7.x #50 (dhoppe)
v2.1.2 (2018-10-19)
Merged pull requests:
- modulesync 2.2.0 and allow puppet 6.x #45 (bastelfreak)
v2.1.1 (2018-09-06)
Fixed bugs:
- Starts service on every provision #1
Merged pull requests:
- allow puppetlabs/apt 6.x #43 (bastelfreak)
- Remove docker nodesets #37 (bastelfreak)
- drop EOL OSs; fix puppet version range #35 (bastelfreak)
- regenerate puppet-strings docs #32 (bastelfreak)
v2.1.0 (2017-11-13)
Merged pull requests:
- release 2.1.0 #30 (bastelfreak)
- modulesync 0.21.3, bump to minimal recommended puppet version #26 (bastelfreak)
v2.0.0 (2017-05-14)
Merged pull requests:
- Fix license in metadata.json #24 (alexjfisher)
v1.1.0 (2017-02-11)
Merged pull requests:
- modulesync 0.16.7 #17 (bastelfreak)
- Set min version_requirement for Puppet + apt #16 (juniorsysadmin)
- modulesync 0.16.6 #15 (bastelfreak)
- modulesync 0.16.4 #14 (bastelfreak)
- modulesync 0.16.3 #13 (bastelfreak)
- modulesync 0.15.0 #12 (bastelfreak)
- Add missing badges #11 (dhoppe)
- Update based on voxpupuli/modulesync_config 0.14.1 #10 (dhoppe)
- modulesync 0.13.0 #9 (bbriggs)
- modulesync 0.12.9 #8 (bbriggs)
- modulesync 0.12.5 #7 (bastelfreak)
v1.0.0 (2016-08-18)
Merged pull requests:
- modulesync 0.12.1 & Release 1.0.0 #6 (bastelfreak)
- modulesync 0.11.1 #5 (bastelfreak)
- Added support to install a specific version of mumble #4 (x3dfxjunkie)
- added register_name variable #2 (sjpilot)
0.0.3 (2014-05-09)
0.0.2 (2014-01-19)
0.0.1 (2014-01-16)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/apt (>= 2.1.0 < 10.0.0)
- puppetlabs/stdlib (>= 4.13.0 < 10.0.0)
The MIT License (MIT) Copyright (c) 2014 Andrew Schwartzmeyer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.