cookbook な definitions というディレクトリ

土曜日の掘削中に apache2/definitions/web_app.rb というソレを見つけてました。これを呼び出していると思われるのが wordpress/recipes/default.rb の以下な記述。

web_app "wordpress" do
  template "wordpress.conf.erb"
  docroot "#{node['wordpress']['dir']}"
  server_name server_fqdn
  server_aliases node['wordpress']['server_aliases']
end

この definition というのがアレなんですが、そこに置けば以下なルールが適用されるのかどうか。

あ、_All definitions within a cookbook must be located in the definitions/ folder._って記述がありますね。ちょっとだけ中身を確認してみます。
ざっくり列挙してみるに

  • application_name な変数の初期設定
    • 代入元は params[:name]
  • include_recipe いくつか
    • apache2
    • apache2::mod_rewrite
    • apache2::mod_deflate
    • apache2::mod_headers
  • sites-available 配下に設定ファイル投入
  • apache_site な definition をナニ

apache_site という definition でアプリを enable にしている模様。
こうして見るに Chef って基本的にヤッてる事はシンプルだし、それを試験する実装 (serverspec) も確認すること自体はシンプルで、ということになるのかどうか。

とりあえず

今日もばたばたしそうなんですが、頑張れればエントリ追記の方向にて。あ、エントリ追記とゆーよりも試験を書く方向で。