Я хотел бы улучшить свои навыки в Foreman
и Puppet
. Для этого я хотел бы выполнить несколько простых задач.
В моей конфигурации все серверы, принадлежащие группе хостов «Базовая», должны получить базовую настройку, включая добавление нового пользователя и его добавление в файл sudsers.
] Для этого я использую example42 / sudo
Теперь я хотел бы добавить пользователя, добавив файл в каталог /etc/sudoers.d/
.
документация говорит мне использовать sudo :: directive
.
Это пример:
sudo::directive { 'jenkins':
content => "jenkins ALL=NOPASSWD: /usr/sbin/puppi \n", # Double quotes and newline (\n) are needed here
}
Теперь мой вопрос: я знаю, как добавить класс в группу хостов. Я также знаю, как переопределить параметры.
Моя текущая конфигурация для группы хостов "Basis" выглядит так:
Но как я могу использовать sudo :: directive
в Foreman?
Классификаторы внешних узлов, такие как Foreman, не предназначены для прямого объявления отдельных ресурсов. Вы можете сделать пару вещей:
Поскольку используемый вами модуль не предлагает параметр класса, который принимает хэш-значение для описания некоторых начальных ресурсов, вы не можете сделать это напрямую с помощью ENC.
Вы можете создать собственный модуль, который принимает значение хеш-функции и объявляет для вас ресурсы sudo :: directive
, используя ] create_resources
.