web-dev-qa-db-ja.com

Chefクックブックのカスタマイズ

Chefを使用してMuninをセットアップしようとしていますが、必要なカスタマイズをどこに配置すればよいかわかりません。たとえば、Githubのドキュメントには、client.rbにmunin_plugin 'plugin_name'を追加するように記載されています。

これは今のところ問題ありませんが、変更をマージまたは再書き込みする必要があるため、クックブックからアップストリームの変更をダウンロードする機能が妨げられているようです。

クックブックをカスタマイズする正しい方法は何ですか?

私はしますか

  • Foo/license/default.rb(またはここのclient.rbのような同様のファイル)を変更します
  • Munin-customと言う2番目のクックブックを作成し、2番目のカスタムレシピを作成します
  • これらの変更を加えるために、単一のパーソナライズクックブックcookbooks/acme_coを作成しますか?
3
Cody

最新の傾向は、ラッパークックブックを使用することです: http://www.getchef.com/blog/2013/12/03/doing-wrapper-cookbooks-right/ (構成できない場合)属性を介して)。

リソースを追加するだけでなく、アップストリームクックブックで定義されているリソースにアクセスして、必要に応じて変更することもできます。変更が小さいものだけの場合、これによりフォークが回避されます(これにより、上流のクックブックでlibrarian-chefまたはBerkshelfを使用するよりも上流の変更を追跡するのが難しくなります)。

2
StephenKing

カスタマイズの意味によって異なります。

実装固有の変更は、クックブックのディレクトリ構造の属性セクションにあります。

レシピを変更する必要がある場合は、既存のクックブックのブランチをフォークし、開発シェフをインストールして、変更のマージをテストします。

1
Magellan