Write hostname-related configs for new ejabberd cluster

This commit is contained in:
Basti 2022-01-18 11:16:44 -06:00
parent 5b351036ba
commit 687a6f097d
Signed by untrusted user: basti
GPG Key ID: 9F88009D31D99C72
2 changed files with 13 additions and 6 deletions

View File

@ -26,3 +26,4 @@ depends "kosmos_postgresql"
depends "backup"
depends "firewall"
depends "tor-full"
depends "hostsfile"

View File

@ -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