Вот custom fact:
require 'etc'
Etc.passwd do |user|
Facter.add("homedir_#{user.name}".intern) do
setcode { user.dir }
end
end
Взят с ask.puppetlabs.com. Теперь делаем defined type:
define ssh_keys::key ($user) {
$home = $::homedir_#{user}
#$home = $::homedir_root
if $home != undef {
file { "$home/.ssh/":
ensure => directory,
}
file { "$home/.ssh/authorized_keys":
ensure => file,
source => "puppet:///modules/ssh_keys/$user",
}
}
В виде $::homedir_#{user}
не работает. Если задать в явном виде $::homedir_root
, то всё ОК. Где я не прав? Куда копать?