Когда я добавляю пользователя к своей марионеточной конфигурации, я заканчиваю, копируют/вставляют что-то вроде этого:
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 ключ (тег и значение, и у некоторых пользователей есть несколько), и иногда набор группы.
Я чувствую себя совершенно уверенным, что я пропустил что-то о том, как сделать это лучше, но я еще не нашел его. Какие-либо указатели?
Вы можете использовать один из многих модулей, предоставленных сообществом, чтобы удалить это дублирование. Например, при использовании модуля torrancew / account (полное раскрытие: я не владелец модуля):
account { 'jeff':
groups => ['sudo','supervisor' ],
ssh_key => '...',
password => '...',
require => Group['sudo','supervisor'],
}
Документация по опциям: GitHub