vagrant + Chef-solo + barkshelf プラグインを使用しています。私のVagrantfileにはこれがあります:
chef.json = {
"postgresql" => {
"password" => {
"postgres" => "password"
}
},
"database" => {
"create" => ["chembl_18"]
},
"build_essential" => {
"compiletime" => true
}
}
ここにさらに構成を追加すると、私の Vagrantile はすぐに面倒になります。これを変更しようとしていたのでdatabags/postgresql/json_attribs.json
、次の内容のファイルを作成しました。
{
"postgresql": {
"password": {
"postgres": "iloverandompasswordsbutthiswilldo"
}
}
}
私のVagrantfileの変更された内容:
chef.json = {
:postgresql => ["json_attribs"],
"database" => {
"create" => ["chembl_18"]
},
...
}
しかし、うまくいきません。
==> default: 58>> default['postgresql']['dir'] = "/etc/postgresql/#{node['postgresql']['version']}/main"
...
==> default: [2014-05-14T12:36:51+00:00] ERROR: Running exception handlers
==> default: [2014-05-14T12:36:51+00:00] ERROR: Exception handlers complete
==> default: [2014-05-14T12:36:51+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
==> default: [2014-05-14T12:36:51+00:00] FATAL: TypeError: can't convert String into Integer
では、これらの設定をいくつかの個別のファイルに分割するには、この設定をどこにどのように配置すればよいのでしょうか?