#puppet
#puppet
Вопрос:
У меня есть куча каталогов [ «mydir», «mydir1», «mydir2», «mydir3» ]. Со временем этот список будет расти.
Как я могу установить право собственности на каталоги «mydir *» ?. Будет ли подстановочный знак * использоваться в ресурсе puppet.Я знаю о циклическом просмотре массива каталогов и настройке разрешения. Поскольку этот список растет, я хочу использовать некоторый подстановочный знак, например «mydir *».
Комментарии:
1. все ли эти файлы находятся в одной родительской папке, если вы могли бы просто управлять родительской папкой. Кроме того, дополнительная информация о том, как растет список, может помочь придумать идеи, на мой взгляд, интересно, могли бы вы управлять списком каталогов в пользовательском fact
Ответ №1:
Короткий ответ — нет, Puppet не поддерживает подстановочные имена ресурсов. Существует хорошее объяснение с обходными путями в https://ask.puppet.com/question/15769/can-we-use-wild-cards-in-file-resource-path-and-source-parameters/.
Более длинный ответ — нет, Puppet не поддерживает подстановочные имена ресурсов, потому что ресурсы обычно перечисляются на сервере Puppet, который не имеет доступа к клиентским файловым системам и поэтому не может запускать подстановочный знак для генерации совпадений. Как сказано в приведенном выше ответе Puppet, одним из вариантов является использование exec
ресурса для установки права собственности с помощью глобуса оболочки, что-то вроде
exec { 'Change owner and group to user.group on /bar/foo*':
path => '/bin',
command => 'chown user.group /bar/foo*',
}
Обратите внимание, что использование exec
ресурсов имеет свои собственные проблемы. В этом конкретном примере ресурс не является идемпотентным, поэтому будет запускаться при каждом запуске агента Puppet, что обычно неприемлемо.