基本製品 (Mediaflux) をインストールするためのクックブックと、特定の特殊なユースケース (DaRIS) に合わせて調整する 2 つ目のクックブックがあります。最初のクックブックのレシピは「ベース インストール」を実行するために実行され、2 番目のクックブックのレシピはインストールを「調整」するために実行されます。
ある時点で、ベースのクックブック/レシピによって作成されたファイルがあり、2 番目のクックブック/レシピに追加する必要があるファイルがあります。どちらの場合も、このファイルにはテンプレートの展開が必要です。
これを実装する良い方法を見つけようとしています。
最も簡単なアイデアは、両方のクックブックにテンプレートのコピーを置き、両方のレシピでバージョン テンプレートを展開し、最初のレシピで作成されたファイル を上書きするために 2 番目のレシピに依存することです。
テンプレートのコピーが 2 つあるため、これは DRY ではありません。
これが「コーシャ」であるかどうかはわかりません... あるテンプレート展開が別のテンプレート展開を破壊する.
バリエーションとして、(基本レシピで) 1 つのテンプレート展開のみを使用し、クックブック名をパラメーター化して、2 番目のレシピをランリストに追加すると、最初のレシピが別のバージョンのテンプレートを使用するようにします。
これもDRYではありません。
ベースレシピがテンプレートの仕立てレシピの展開パラメータを認識していないという問題があります。(たぶん、テンプレートはノード属性から直接それらを取得できます...)
理想的には、次のいずれかを実行できるようにしたいと考えています。
展開時に 2 つの (DRY) テンプレートを組み合わせたテンプレートを作成します。
最初のレシピによって作成されたファイルに追加する方法で、2 番目の (テーラリング) テンプレートを展開します。
「テンプレート」リソースを取得して、1 回の操作で 2 つのテンプレートを 1 つのファイルに展開します。
これらのことを行う方法はありますか?
私が見逃した別のアプローチはありますか?