我有一个主从 postgresql 服务器的设置。我需要我的 dbslave 服务器来查看我的 dbmaster 服务器。所以在我的节点中pg_hba.conf
有一个红宝石变量名。private_ip
模板pg_hba.conf
如下所示:
<% node["postgresql"]["pg_hba"].each do |hba| %>
<%= hba['type'] %> <%= hba['db'] %> <%= hba['user'] %> <%= hba['addr'] %> <%= hba['method'] %>
<% end %>
在食谱中它看起来像这样。它将获得每个散列的值给节点。
slave.rb
食谱:
# hba
node.override["postgresql"]["pg_hba"] = [ { "type" => "host", "db" => "all", "user" =>"all", "addr" => "<%= private_ip %>", "method" => "trust"}
要获取 IP 地址,我使用搜索方法。
dbserver = search(:node, "role:pg_server_master")
private_ip = "#{dbserver[0][:private_ip]}"
puts private_ip
现在的问题是 - 如何将搜索结果的值放在 node.override 变量上<%= private_ip =>
。
请问有什么想法吗?