私の最初の放浪シェフのソロ レシピを書くとき、ホスト名を変更するなど、簡単なことを考えました。vagrant ファイルには、これがあります。
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "../../chef/cookbooks"
chef.roles_path = "../../chef/roles"
chef.data_bags_path = "../../chef/data_bags"
chef.json = { :hostname => "foofoo" }
chef.add_recipe "myrecipe"
myrecipe/recipes/default.rb;
myvar = node[:hostname]
template "/tmp/myfile" do
source "myfile.erb"
owner "root"
group "root"
mode 0644
variables(
:myvar => myvar
)
end
myrecipe/templates/default/myfile.erb;
<%= @myvar %>
これは実際には機能しません。/tmp/myfile は、/etc/hostname からの実際のホスト名で終了し続けました。しばらく頭を悩ませた後、これらの変更を思いつきました。
vagrant ファイル内。
chef.json = { :myhostname => "foofoo" }
レシピファイルで;
myvar = node[:myhostname]
したがって、「:hostname」はどういうわけか特別なようですが、試してみると、その理由、オーバーライド方法、または利用可能な他の「特別な」値を説明するドキュメントが見つかりません。
ドキュメントのほとんどは、私がまだ到達していないレベルの能力を想定しているようです。だから、私は答えを見て、それを認識していなかったかもしれません。これを説明する「絶対的な初心者」のドキュメントを誰かに教えてもらえますか?