質問: 別質問の回答 で kondate というのを教えていただいたのですが使い方がよくわからないので質問させてください itamae ですでに動いているレシピがあるのですが itamae の roles を recipes/roles に itamae の nodes を properties/roles に分けて記述 (itamae だと env x role の記述が必要ですが env + role の記述にできるのは素敵だと思いました) itamae の coockbooks を recipies/middleware に properties/roles/api.yml に空ファイル 配置して hosts.yml に ``` api1.local: [api] ``` とかいて ``` bundle exec kondate itamae api1.local ``` と実行してみたんですが Show property files for roles: [api] Show property file for role: api, sources: ["properties/environments/development.yml", "properties/roles/api.yml"] (no attribute, skipped) となってレシピが実行されません properties/nodes にもファイルが必要なのでしょうか 可変台数のノードにレシピを適用したい場合ノードファイルをどうかけばいいのでしょうか
回答: kondate において、各ミドルウェアの recipe は、以下の場所に、以下の形で配置される想定だったと思っています。 ``` recipes/middlewares/middleware-name/default.rb ``` このように設定した状態で、今実行しようとしている対象のホストに対して、 `attributes.middleware-name` の値が何かしら設定されている状態で `kondate itamae api1.local` を実行したとすると、 middleware-name のレシピが実行されたはずです。 なので、今回であればたとえば `properties/roles/api.yml` に対して、 ``` attributes: middleware1: {} ``` などを記述すると、 `recipes/middlewares/middleware1/default.rb` の recipe が実行されると思っています。