Come rispondo ricorsivamente una directory e il suo contenuto con le marionette?


14

Diciamo che ho un modulo con files/etc/foo/{conf0, conf1, conf2, conf3, etc}. È abbastanza semplice posizionare ciascuno di questi file quando il loro numero è piccolo:

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

e ripeti. Ma c'è un bel po 'di duplicazione, ed è noioso da mantenere se ci sono molti file di configurazione. Vorrei assicurarmi che files/etc/foo/si specchi su un determinato percorso. Vale a dire

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

creerebbe /etc/foo/conf0, /etc/foo/conf1e così via. È possibile?

Risposte:


22

Certo: il filestipo ha recurseun'opzione (e recurselimitse vuoi limitare la profondità della directory).

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

5
L'altra cosa da tenere a mente se farlo è il numero di file per cui Puppet dovrà mantenere le connessioni. Non ci vorrebbe molto a rimanere senza descrittori di file e il burattino inizia a finire nei guai. Ho riscontrato questo problema prima di provare a fare proprio questo compito.
Jeremy Bouse,

@JeremyBouse Grazie; sono informazioni molto utili.
Troutwine,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.