Як рекурсивно дзеркально відображати каталог та його вміст із лялькою?


14

Скажімо, у мене є модуль с files/etc/foo/{conf0, conf1, conf2, conf3, etc}. Досить просто розмістити кожен із цих файлів, коли їх кількість невелика:

file { 'conf0':
    path => '/etc/foo/conf0',
    ensure => true,
    source => 'puppet:///.../etc/foo/conf0',
}

і повторити. Але тут задіяно неабияке дублювання, і важко підтримувати, якщо є декілька файлів конфігурації. Я хотів би переконатися, що files/etc/foo/це відображається на заданому шляху. Інакше кажучи,

file { 'etc foo confs':
   path => '/etc/foo',
   ensure => recursive,
   source => 'puppet:///.../etc/foo',
}

створюватиме /etc/foo/conf0, /etc/foo/conf1і так далі. Чи можливо це?

Відповіді:


22

Звичайно - filesтип має recurseопцію (і recurselimitякщо ви хочете обмежити, наскільки це заглиблюється в каталог).

file { 'etc foo confs':
   path => '/etc/foo',
   source => 'puppet:///.../etc/foo',
   recurse => true,
}

5
Інша річ, яку слід пам’ятати, якщо це робити - це кількість файлів, для яких Маріонетка повинна буде підтримувати зв’язки. Дескриптори файлів не зайняли б багато часу, і лялечка почала стикатися з неприємностями. Я зіткнувся з цією проблемою, перш ніж намагатися виконати саме це завдання.
Джеремі Бууз

@JeremyBouse Дякую; це дуже корисна інформація.
troutwine
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.