Как мне настроить относительные пути для кукол?
Я пытался гуглить, но мне не повезло. Моя цель состоит в том, чтобы иметь упакованный каталог с файлом марионетки и сопровождающим каталогом, содержащим файловые ресурсы, где я могу просто напечатать puppet apply setup.pp
и тогда марионетка сделает свое дело.
Я знаю, что рекомендуемый рабочий процесс puppet - создавать модули и размещать там файловые ресурсы для копирования. Это слишком неудобно для меня, так как я не хочу устанавливать там свои модули; Я просто хочу иметь возможность носить с собой этот небольшой пакет (т.е. файл pp и файловые ресурсы).
Как я могу настроить мой pp-файл для просмотра в моей директории, если я не хочу использовать абсолютные пути? Существуют ли другие переменные среды, которыми я могу манипулировать, чтобы заставить куклу выглядеть "в нужном месте"?
Я увидел здесь предложение, которое выглядит так, будто оно расширяет Facter, но я просто ищу что-то, что можно поместить в начало моего pp-файла, например так:
$basepath = exec{"/usr/bin/pwd":}
...
file {"/home/$title/.nanorc": source => "${basepath}/resources/.nanorc"}
1 ответ
Кукольный просто Рубин под капотом. Я бы попробовал использовать функцию inline_template:
file{"/home/$title/.nanorc":
content => inline_template("<%= File.read(ENV["PWD"] + '/resources/.nanorc') %>"),
}