diff --git a/site-cookbooks/kosmos-ejabberd/metadata.rb b/site-cookbooks/kosmos-ejabberd/metadata.rb index 0131259..a47ac07 100644 --- a/site-cookbooks/kosmos-ejabberd/metadata.rb +++ b/site-cookbooks/kosmos-ejabberd/metadata.rb @@ -26,3 +26,4 @@ depends "kosmos_postgresql" depends "backup" depends "firewall" depends "tor-full" +depends "hostsfile" diff --git a/site-cookbooks/kosmos-ejabberd/recipes/default.rb b/site-cookbooks/kosmos-ejabberd/recipes/default.rb index 0c69d95..92222d6 100644 --- a/site-cookbooks/kosmos-ejabberd/recipes/default.rb +++ b/site-cookbooks/kosmos-ejabberd/recipes/default.rb @@ -29,15 +29,21 @@ file "/opt/ejabberd/.erlang.cookie" do content ejabberd_credentials['erlang_cookie'] end +ejabberd_nodes = search(:node, "role:ejabberd") + +ejabberd_nodes.each do |node| + hostsfile_entry node["knife_zero"]["host"] do + hostname node["name"] + action :create + end +end + +ejabberd_hostnames = ejabberd_nodes.map { |n| n["name"] } file "/opt/ejabberd/.hosts.erlang" do mode "0644" owner "ejabberd" group "ejabberd" - content <<-EOF -"andromeda.kosmos.org". -"centaurus.kosmos.org". -"draco.kosmos.org". - EOF + content ejabberd_hostnames.join(".\n") end ruby_block "configure ERLANG_NODE" do @@ -45,7 +51,7 @@ ruby_block "configure ERLANG_NODE" do file = Chef::Util::FileEdit.new("/opt/ejabberd/conf/ejabberdctl.cfg") file.search_file_replace_line( %r{#ERLANG_NODE=ejabberd@localhost}, - "ERLANG_NODE=#{node['kosmos-ejabberd']['erlang_node']}" + "ERLANG_NODE=ejabberd@#{node['name']}" ) file.write_file end