[Vagrant & VirtualBox] Chef: Resources を少し確認する

recipes/default.rb に書く内容を確認します。

公式サイトのドキュメント。

Resources に記載されているコマンド?を利用してレシピを書いていきます。

package

package "vim-enhanced" do
  action :install
end

ruby スクリプトなので、こんな形でまとめてインストールできます。

%w{vim-enhanced git php mysql-server httpd}.each do |p|
  package p do
    action :install
  end
end

service

色々確認しながらでないと書けなさそう。

service "iptables" do
  action [:stop, :disable]
end
service "httpd" do
  action [:start, :enable]
end

template

site-cookbooks/****/templates/default/ 以下にテンプレートを配置。
recipes/default.rb にこんな記述をすると書き換わります。

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世代までのバックアップを自動で取ってくれています。
ファイルには変数を持たせることもできました。

bash

シェルスクリプトを実行できます。

これで書けば、何とかなりそう。

bash "something" do
  cwd "/vagrant/www"
  code <<-EOH
  mkdir tmp
  ls > ./tmp/ls.txt
  EOH
end

ほかにもいろいろありますね。