-class icecast {
+class icecast(
+ $config_content = hiera('icecast::config_content', false),
+ $config_source = [ "puppet:///modules/site_icecast/${::hostname}.conf",
+ "puppet:///modules/icecast/icecast.conf" ],
+) {
+ package { 'icecast2':
+ ensure => present,
+ }
+
+ file { '/etc/icecast2/icecast.xml':
+ ensure => present,
+ owner => 'icecast2',
+ group => 'icecast',
+ mode => '0660',
+ require => Package['icecast2'],
+ notify => Service['icecast2'],
+ }
+
+ service { 'icecast2':
+ ensure => running,
+ }
+
+ if $config_content {
+ File['/etc/icecast2/icecast.xml']{
+ content => $config_content,
+ }
+ } else {
+ File['/etc/icecast2/icecast.xml']{
+ source => $config_source,
+ }
+ }
}