Как мне настроить относительные пути для кукол?

Я пытался гуглить, но мне не повезло. Моя цель состоит в том, чтобы иметь упакованный каталог с файлом марионетки и сопровождающим каталогом, содержащим файловые ресурсы, где я могу просто напечатать 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') %>"),
}
Другие вопросы по тегам