class base_installation::puppet (
$password_seed = $base_installation::puppet_pass_seed
) inherits base_installation {
File {
mode => "0600",
owner => "root",
group => "root",
}
exec { 'generate_password_seed':
command => "/usr/bin/openssl rand -base64 -out $password_seed 256",
creates => $password_seed,
environment => "RANDFILE=/dev/null",
}
### Until puppet fixes hist gettext-setup gem use
package { 'gem:gettext-setup':
name => "gettext-setup",
ensure => present,
provider => "gem",
install_options => "--no-user-install"
}
file { '/usr/lib/ruby/vendor_ruby/locales/':
ensure => link,
target => "/opt/puppetlabs/puppet/share/locale/",
}
###
unless empty(find_file($password_seed)) {
$ldap_password = generate_password(24, $password_seed, "ldap")
$ssha_ldap_seed = generate_password(5, $password_seed, "ldap_seed")
package { 'gem:ruby-ldap':
name => "ruby-ldap",
ensure => present,
provider => "gem",
install_options => "--no-user-install"
}
file { $password_seed:
mode => "0600",
}
file { $base_installation::puppet_conf_path:
ensure => directory,
require => [Package["puppet"], Package["gem:ruby-ldap"]],
recurse => true,
purge => true,
force => true,
}
file { "$base_installation::puppet_conf_path/puppet.conf":
content => template("base_installation/puppet/puppet.conf.erb"),
require => File[$base_installation::puppet_conf_path],
}
$ips = lookup("ips") |$key| { {} }
file { "$base_installation::puppet_conf_path/host_ldap.info":
content => template("base_installation/puppet/host_ldap.info.erb"),
require => File[$base_installation::puppet_conf_path],
notify => Notify_refresh["notify-ldap-password"],
}
notify_refresh { "notify-ldap-password":
message => template("base_installation/puppet/host_ldap.info.erb"),
refreshonly => true
}
}
}