ディレクトリとその内容をパペットで再帰的にミラーリングするにはどうすればよいですか?


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
これを行う場合に留意すべきもう1つのことは、Puppetが接続を維持する必要があるファイルの数です。ファイル記述子を使い果たすのに長くはかからず、パペットはトラブルに陥り始めます。このタスクを実行しようとする前に、この問題に遭遇しました。
ジェレミーボーズ

@JeremyBouseありがとう。それは非常に有用な情報です。
トラウトワイン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.