問題タブ [chef-template]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3082 参照

chef-infra - 2 つの Chef クックブックの 2 つのテンプレートを組み合わせる

基本製品 (Mediaflux) をインストールするためのクックブックと、特定の特殊なユースケース (DaRIS) に合わせて調整する 2 つ目のクックブックがあります。最初のクックブックのレシピは「ベース インストール」を実行するために実行され、2 番目のクックブックのレシピはインストールを「調整」するために実行されます。

ある時点で、ベースのクックブック/レシピによって作成されたファイルがあり、2 番目のクックブック/レシピに追加する必要があるファイルがあります。どちらの場合も、このファイルにはテンプレートの展開が必要です。

これを実装する良い方法を見つけようとしています。

  • 最も簡単なアイデアは、両方のクックブックにテンプレートのコピーを置き、両方のレシピでバージョン テンプレートを展開し、最初のレシピで作成されたファイル を上書きするために 2 番目のレシピに依存することです。

    • テンプレートのコピーが 2 つあるため、これは DRY ではありません。

    • これが「コーシャ」であるかどうかはわかりません... あるテンプレート展開が別のテンプレート展開を破壊する.

  • バリエーションとして、(基本レシピで) 1 つのテンプレート展開のみを使用し、クックブック名​​をパラメーター化して、2 番目のレシピをランリストに追加すると、最初のレシピが別のバージョンのテンプレートを使用するようにします。

    • これもDRYではありません。

    • ベースレシピがテンプレートの仕立てレシピの展開パラメータを認識していないという問題があります。(たぶん、テンプレートはノード属性から直接それらを取得できます...)

理想的には、次のいずれかを実行できるようにしたいと考えています。

  • 展開時に 2 つの (DRY) テンプレートを組み合わせたテンプレートを作成します。

  • 最初のレシピによって作成されたファイルに追加する方法で、2 番目の (テーラリング) テンプレートを展開します。

  • 「テンプレート」リソースを取得して、1 回の操作で 2 つのテンプレートを 1 つのファイルに展開します。

これらのことを行う方法はありますか?

私が見逃した別のアプローチはありますか?

0 投票する
2 に答える
1243 参照

chef-infra - 既存のファイルに部分的なテンプレートを追加することは可能ですか? 【シェフクックブック】

tar ファイルから抽出された conf ファイルに構成を追加しようとしています。

現在、クックブックはテンプレートを使用してファイル全体を上書きしていますが、元のファイルをテンプレートとして使用して追加する必要があります。

部分テンプレートはタスクを実行しているようですが、既存のファイルに適用されている部分の例を見つけることができませんでした.

それは可能ですか?

ありがとうございました

0 投票する
1 に答える
3497 参照

chef-infra - テンプレート リソースで「not_if」条件を使用する方法

docs.chef.ioで示されているように、テンプレート リソースで「not_if」条件を使用しようとしています。

私はシェフが初めてで、次のことを効果的に行うものを作成する方法がわかりません。

not_if 条件を使用したいのですが、'instance' == nil をチェックする方法がわかりません。

助けていただければ幸いです。ありがとうございました、

0 投票する
2 に答える
935 参照

ruby - 実行時に生成されたファイルをテンプレート ソースとして Chef に含める方法

Chef レシピを使用して、最初に CSV ファイルからの入力に基づいて動的にファイルを生成し、次にそのファイルをテンプレート ソースとして.erb使用したいと考えています。.erb残念ながら、(.erbファイル内で) 行われた変更は、レシピがリソースを収束している間は考慮されません。また、遅延評価を使用しようとしましたが、テンプレート ソースに使用する方法を理解できませんでした。

0 投票する
1 に答える
76 参照

chef-infra - Chef - テンプレート内のテキスト ブロックを x 回繰り返す

テンプレート X 回で同じテキスト ブロックを繰り返す方法はありますか? たとえば、ホスト名とテキスト ブロックを含むテンプレートを生成する必要があります。

0 投票する
1 に答える
482 参照

chef-infra - シェフテンプレートファイル内のループ内に if ステートメントを配置する方法は?

これは、if ステートメントがなくてもうまく機能しますが、if を使用する最善の方法がわかりません。