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,

Другие вопросы по тегам