Puppet Class: masterless::puppet::config
- Defined in:
- manifests/puppet/config.pp
Summary
A short summary of the purpose of this classOverview
A description of what this class does
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'manifests/puppet/config.pp', line 7
class masterless::puppet::config (
Enum['present', 'absent'] $ensure = 'present',
String[1] $user = $masterless::user,
String[1] $home = $masterless::home,
String[1] $group = $masterless::group,
String[1] $plist = $masterless::plist,
Integer $start_interval = 3600,
) {
$data = {
'Label' => "com.github.puppet-masterless-${user}",
'EnvironmentVariables' => {
'PATH' => '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin',
'LANG' => 'en_US.UTF-8'
},
'Program' => "${home}/.puppet-masterless/run.sh",
'StartInterval' => $start_interval,
'RunAtLoad' => true,
}
file { $plist:
ensure => $ensure,
content => hash2plist($data),
}
file { "${home}/.puppet-masterless":
ensure => directory,
owner => $user,
group => $group,
}
file { "${home}/.puppet-masterless/run.sh":
ensure => $ensure,
owner => $user,
group => $group,
mode => '0755',
content => template('masterless/run.sh.erb'),
# source => 'puppet:///modules/masterless/run.sh', # Change this to a template
notify => Exec['reload_job'],
}
$userdirs = [
"${facts['puppet_user_home']}/.puppetlabs/",
"${facts['puppet_user_home']}/.puppetlabs/etc/",
"${facts['puppet_user_home']}/.puppetlabs/etc/code/",
"${facts['puppet_user_home']}/.puppetlabs/etc/code/environments",
]
if $facts['puppet_user'] != 'root' {
file { $userdirs:
ensure => directory,
owner => $user,
group => $group,
}
}
}
|