43 lines
823 B
Puppet
43 lines
823 B
Puppet
class puppet::facter (
|
|
$ensure = 'present') {
|
|
|
|
$pkg_ens = $ensure ? {
|
|
'present' => 'latest',
|
|
default => $ensure,
|
|
}
|
|
|
|
package { 'facter': ensure => $pkg_ens }
|
|
|
|
$ens_dir = $ensure ? {
|
|
'absent' => 'absent',
|
|
default => 'directory',
|
|
}
|
|
|
|
$facts_d = '/etc/facter/facts.d'
|
|
|
|
File['/etc/facter'] -> File[$facts_d]
|
|
|
|
$pv_dir = $::puppet_vardir ? {
|
|
'' => '/var/lib/puppet',
|
|
default => $::puppet_vardir
|
|
}
|
|
|
|
file {
|
|
[
|
|
'/etc/facter',
|
|
$facts_d]:
|
|
ensure => $ens_dir,
|
|
mode => '0755',
|
|
owner => 'root',
|
|
group => 'root';
|
|
|
|
"${pv_dir}/exported":
|
|
ensure => $ens_dir;
|
|
}
|
|
$factpath = "${pv_dir}/lib/facter"
|
|
|
|
# add facter variable to custom facts.
|
|
file { '/etc/profile.d/puppet.sh': content => "export FACTERLIB=\"${factpath}\"\n",
|
|
}
|
|
}
|