From a29937282df1bb51a69e5c0525f3bf4b5b435fe9 Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 5 Jun 2013 22:50:40 +0200 Subject: make it possible to pass config content --- manifests/init.pp | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 9de9364..85865dc 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,24 +1,37 @@ # setup mumble -class mumble { - package { 'mumble-server': +# +# Parameters: +# +# * config_content: get content for central config file from +# this parameter. Useful for using templates +# * config_source: Source path for your config +# +class mumble( + $config_content = false, + $config_source = [ "puppet:///modules/site_mumble/${::fqdn}/mumble-server.ini", + "puppet:///modules/site_mumble/mumble-server.ini", + "puppet:///modules/mumble/mumble-server.ini" ], +) { + package{'mumble-server': ensure => installed, - } - - service { 'mumble-server': + } -> file{'/etc/mumble-server.ini': + owner => root, + group => mumble-server, + mode => 0640; + } ~> service{'mumble-server': ensure => 'running', enable => true, hasstatus => false, pattern => '/usr/sbin/murmurd', } - file{'/etc/mumble-server.ini': - source => [ "puppet:///modules/site_mumble/${::fqdn}/mumble-server.ini", - "puppet:///modules/site_mumble/mumble-server.ini", - "puppet:///modules/mumble/mumble-server.ini" ], - require => Package['mumble-server'], - notify => Service['mumble-server'], - owner => root, - group => mumble-server, - mode => 0640; + if $config_content { + File['/etc/mumble-server.ini']{ + content => $config_content, + } + } else { + File['/etc/mumble-server.ini']{ + source => $config_source, + } } } -- cgit v1.2.3