Марионетка: управление многочисленными пользователями, не повторяя меня

Когда я добавляю пользователя к своей марионеточной конфигурации, я заканчиваю, копируют/вставляют что-то вроде этого:

user {'jeff':
  ensure     => 'present',
  groups     => ['sudo', 'supervisor'],
  require    => [Group['sudo'], Group['supervisor']],
  home       => '/home/jeff',
  managehome => true,
  password => '...',
 shell      => '/bin/bash',
}
ssh_authorized_key { 'jeff@lorax':
  ensure  => 'present',
  user    => 'jeff',
  require => User['jeff'],
  type    => 'rsa',
  key     => '...',
}

Единственной вещью, которая изменяется от пользователя на пользователя, является имя пользователя, ssh ключ (тег и значение, и у некоторых пользователей есть несколько), и иногда набор группы.

Я чувствую себя совершенно уверенным, что я пропустил что-то о том, как сделать это лучше, но я еще не нашел его. Какие-либо указатели?

0
задан 23 September 2015 в 10:56
1 ответ

Вы можете использовать один из многих модулей, предоставленных сообществом, чтобы удалить это дублирование. Например, при использовании модуля torrancew / account (полное раскрытие: я не владелец модуля):

account { 'jeff':
    groups       => ['sudo','supervisor' ],
    ssh_key      => '...',
    password     => '...',
    require      => Group['sudo','supervisor'],
}

Документация по опциям: GitHub

1
ответ дан 4 December 2019 в 16:49

Теги

Похожие вопросы