[Vagrant & VirtualBox] Chef: Resources を少し確認する
recipes/default.rb に書く内容を確認します。
[markdown]
公式サイトのドキュメント。
> * [All about Chef … — Chef Docs](http://docs.getchef.com/)
Resources に記載されているコマンド?を利用してレシピを書いていきます。
## package
> * [Resources and Providers Reference — Chef Single-page Topics](http://docs.getchef.com/chef/resources.html#package)
“`ruby
package “vim-enhanced” do
action :install
end
“`
ruby スクリプトなので、こんな形でまとめてインストールできます。
“`ruby
%w{vim-enhanced git php mysql-server httpd}.each do |p|
package p do
action :install
end
end
“`
## service
> * [Resources and Providers Reference — Chef Single-page Topics](http://docs.getchef.com/chef/resources.html#service)
色々確認しながらでないと書けなさそう。
“`ruby
service “iptables” do
action [:stop, :disable]
end
service “httpd” do
action [:start, :enable]
end
“`
## template
> * [Resources and Providers Reference — Chef Single-page Topics](http://docs.getchef.com/chef/resources.html#template)
`site-cookbooks/****/templates/default/` 以下にテンプレートを配置。
`recipes/default.rb` にこんな記述をすると書き換わります。
“`ruby
template “httpd.conf” do
path “/etc/httpd/conf/httpd.conf”
source “httpd.conf.erb”
mode 0644
notifies :restart, ‘service[httpd]’
end
“`
ちなみ `/var/chef/backup/` 以下に5世代までのバックアップを自動で取ってくれています。
ファイルには変数を持たせることもできました。
> * [Chef: 用意したテンプレートを設定ファイルとして利用する | deadwood](https://www.d-wood.com/blog/2014/09/30_6949.html)
## bash
シェルスクリプトを実行できます。
> * [Resources and Providers Reference — Chef Single-page Topics](http://docs.getchef.com/chef/resources.html#bash)
これで書けば、何とかなりそう。
“`ruby
bash “something” do
cwd “/vagrant/www”
code <<-EOH
mkdir tmp
ls > ./tmp/ls.txt
EOH
end
“`
ほかにもいろいろありますね。
> * [Chefレシピ逆引きメモ – Qiita](http://qiita.com/makoto_kw/items/53a84380559c087eb8fb)
[/markdown]