Fix the postgresql setup for the ejabberd cookbook

Create a ejabberd user with a password from an encrypted data bag
This commit is contained in:
Greg Karékinian 2019-05-10 11:43:52 +02:00
parent 3884f9922e
commit b44a226753

View File

@ -47,25 +47,17 @@ dpkg_package "ejabberd" do
notifies :create, "file[/lib/systemd/system/ejabberd.service]", :immediately notifies :create, "file[/lib/systemd/system/ejabberd.service]", :immediately
end end
postgresql_connection_info = { postgresql_data_bag_item = data_bag_item('credentials', 'postgresql')
host: '127.0.0.1',
port: 5432,
username: 'postgres',
password: node['postgresql']['password']['postgres']
}
postgresql_database 'ejabberd' do postgresql_user 'ejabberd' do
connection postgresql_connection_info
action :create action :create
notifies :run, "execute[create db schema]", :delayed password postgresql_data_bag_item['ejabberd_user_password']
end end
postgresql_database_user 'ejabberd' do postgresql_database 'ejabberd' do
connection postgresql_connection_info owner 'ejabberd'
password 'super_secret' action :create
database_name 'ejabberd' notifies :run, "execute[create db schema]", :delayed
privileges [:all]
action [:create, :grant]
end end
execute "create db schema" do execute "create db schema" do
@ -78,7 +70,7 @@ template "/opt/ejabberd/conf/ejabberd.yml" do
source "ejabberd.yml.erb" source "ejabberd.yml.erb"
mode 0640 mode 0640
sensitive true sensitive true
variables pgsql_password: "super_secret" variables pgsql_password: postgresql_data_bag_item['ejabberd_user_password']
notifies :run, "execute[ejabberdctl reload_config]", :delayed notifies :run, "execute[ejabberdctl reload_config]", :delayed
end end