| Index: modules/adblockplus/manifests/mumble.pp |
| =================================================================== |
| new file mode 100644 |
| --- /dev/null |
| +++ b/modules/adblockplus/manifests/mumble.pp |
| @@ -0,0 +1,87 @@ |
| +# == Class: adblockplus:mumble |
| +# |
| +# Create and maintain mumble (https://www.mumble.com) setups. |
| +# |
| +# === Parameters: |
| +# |
| +# [*package*] |
| +# Overwrite the default package options, to fine-tune the target version (i.e. |
| +# ensure => 'latest') or remove mumble (ensure => 'absent' or 'purged') |
| +# |
| +# === Hiera (only) Parameters: |
|
mathias
2017/08/24 06:23:07
Why Hiera only?
f.lopez
2017/08/25 19:04:40
Well, I wanted to use it with hiera only, but yeah
|
| +# |
| +# [*certificate*] |
| +# Certificate used to enable SSL connection with the server. |
| +# |
| +# [*private_key*] |
| +# Private key used to enable SSL connection with the client. |
| +# |
| +# [*server_password*] |
| +# String used to login into the server. |
| +# |
| +# |
| +# === Examples: |
| +# |
| +# class {'adblockplus::mumble': |
| +# package => { |
| +# 'ensure' => 'absent', |
| +# }, |
| +# }, |
| +# } |
| +# |
| +class adblockplus::mumble ( |
| + $package = {}, |
| +){ |
| + |
| + if ensure_state($ensure) { |
|
mathias
2017/08/24 06:23:07
The $ensure parameter is always undefined at this
f.lopez
2017/08/25 19:04:40
Acknowledged.
|
| + $ensure = 'present' |
| + } |
| + else { |
| + $ensure = 'absent' |
| + } |
| + |
| + $certificate = hiera('adblockplus::mumble::certificate', undef) |
| + $private_key = hiera('adblockplus::mumble::private_key', undef) |
| + $server_password = hiera('adblockplus::mumble::server_password', undef) |
| + |
| + ensure_resource('package', $title, merge({ |
| + name => 'mumble-server', |
| + ensure => $ensure, |
| + }, $package)) |
| + |
| + file{"/etc/mumble-server.ini": |
| + owner => 'root', |
| + group => 'mumble-server', |
| + mode => 0640, |
| + content => template('adblockplus/mumble-server.ini.erb'), |
| + require => Package[$title], |
| + notify => Service['mumble-server'], |
| + } |
| + |
| + service{'mumble-server': |
| + ensure => 'running', |
| + enable => true, |
| + require => Package[$title], |
| + } |
| + |
| + if $mumble::certificate and $mumble::private_key { |
|
mathias
2017/08/24 06:23:07
Please do not replicate the legacy "give me the na
f.lopez
2017/08/25 19:04:40
Ok fair enough, working on this. Gonna send a new
|
| + file {"/etc/mumble.crt": |
| + ensure => 'file', |
| + mode => 0644, |
| + group => 'mumble-server', |
| + before => File["/etc/mumble-server.ini"], |
| + require => Package[$title], |
| + source => "puppet:///modules/private/${mumble::certificate}", |
| + } |
| + |
| + file {"/etc/mumble.key": |
| + ensure => 'file', |
| + mode => 0644, |
| + group => 'mumble-server', |
| + before => File["/etc/mumble-server.ini"], |
| + require => Package[$title], |
| + source => "puppet:///modules/private/${mumble::private_key}", |
| + } |
| + } |
| +} |
| + |