私はパペットの初心者です。私はマニフェストを使って作業しておりvagrant
、マニフェストを快適に書き始めていますが、私の質問に答えることができる経験や直感が不足している可能性があります。
パペットがどのようにスコープされているか、どこに線が引かれているかを把握しようとしています。これがモジュールとその作成と使用にどのように適用されるかに特に興味があります。
より具体的な例:puppletlabs-nginx
モジュール。仮説として、特定のサーバー ロールのマニフェストを作成して、陽気な道を進んでいます。非常にシンプルな静的ファイル Web サーバーであり、使用したいとしますnginx
。モジュールは明らかにそれを助けてくれます。try_files
サポートなどがあります。このモジュールを介して、リバース プロキシを開始することもできます。しかし、物事がより粘着性になったらどうしますか?モジュールでは実行できないことをプログラムで実行したい場合はどうすればよいですか?
ええと、おそらく簡単な答えは、自分で修正し、プル リクエストを行い、思い思いの方法で進むことです。しかし、それはどこで止まりますか?コミュニティ パペット モジュールの目標は、特定のソフトウェア パッケージのあらゆる側面をサポートすることですか? それは手に負えないようです。一方で、ユースケースのみから構築された、ほとんど焼き尽くされたモジュールの束が作成されませんか?
次に、Android UI に類似したものがあります。ほとんどの XML UI 定義であると私が考えるセッター メソッドがあります。人形なら似たような感じ。プログラムで構成ファイルを作成するか、ERB テンプレートに入力して作成することができます。言い換えれば、構成ファイルのプログラムによる作成と構成ファイルのテンプレート化された作成との間の操り人形の境界線がぼやけているように感じます。私は Android で最善の方法を見つけられなかったので、どちらがパペットで行くべきかわかりません。
では、理想的なパペット モジュールを構成するものは何ですか? テンプレートにもっと依存する必要がありますか?マニフェストに?すべての構成シナリオを考慮する必要がありますか?
さらに引きこもった視点から見ると、私はもっと独断的なものが欲しいようです。Puppet のパワーは柔軟性と抽象化にあるように見えますが、そこにあるモジュールは一貫性がなく、肉付けされていないように感じます。
読んでくれてありがとう...