Foreman/Puppet: добавление пользователя в sudoers с помощью модуля
Я хотел бы улучшить свои навыки в Foreman
а также Puppet
, Для этого я хотел бы выполнить несколько простых задач.
В моей конфигурации все серверы, принадлежащие группе хостов "Basic", должны получить базовую настройку - включая добавление нового пользователя и добавление его в файл 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
}
Теперь мой вопрос: я знаю, как добавить класс в группу хостов. Я также знаю, как переопределить параметры.
Моя текущая конфигурация для хост-группы "Базис" выглядит так:
Но как я могу использовать sudo::directive
в Форман?
1 ответ
Классификаторы внешних узлов, такие как Foreman, не предназначены для прямого объявления отдельных ресурсов. Вы можете сделать пару вещей:
- определить значения глобальной переменной
- объявлять классы
- определить значения параметров класса
Поскольку используемый модуль не предлагает параметр класса, который принимает хеш-значение для описания некоторых начальных ресурсов, вы не можете сделать это напрямую с ENC.
Вы можете создать собственный модуль, который принимает значение хеша и объявляет sudo::directive
ресурсы для вас, использующие create_resources
,