diff --git a/manifests/server/proxy.pp b/manifests/server/proxy.pp index 57621db..13aee59 100644 --- a/manifests/server/proxy.pp +++ b/manifests/server/proxy.pp @@ -72,19 +72,13 @@ define cd_haproxy::server::proxy ( order => $frontend_order, } - # Flag to ensure backends are only created once - $backends_created = false + # Ensure backends are only created once + ensure_resource('concat::fragment', "backends_${name}", { + 'target' => $hy_main_config, + 'content' => template($hy_backendrule), + 'order' => $backend_order, + }) - unless $backends_created { - $backend_configs.each |$index, $backend_config| { - concat::fragment { "backend_${name}_${index}": - target => $hy_main_config, - content => template($hy_backendrule), - order => "${backend_order}${index}", - } - } - $backends_created = true - } # # create backend section # concat::fragment { "backend_${name}": diff --git a/templates/haproxy_backend_rule.erb b/templates/haproxy_backend_rule.erb index 7996dff..5a49ee5 100644 --- a/templates/haproxy_backend_rule.erb +++ b/templates/haproxy_backend_rule.erb @@ -1,20 +1,8 @@ <% if @fqdn == @haproxy_fqdn -%> <% if @backend_configs and !@backend_configs.empty? -%> <% @backend_configs.each do |backend_config| -%> -<% if backend_config['backend_name'] != '' -%> backend <%= backend_config['backend_name'] %> -<% end -%> -<% if backend_config['be_mode'] != '' -%> mode <%= backend_config['be_mode'] %> -<% end -%> -<% if backend_config['be_balance'] != '' -%> -balance <%= backend_config['be_balance'] %> -<% end -%> -<% if backend_config['be_option_array'] and !backend_config['be_option_array'].empty? -%> -<% backend_config['be_option_array'].each do |be_option| -%> -option <%= be_option %> -<% end -%> -<% end -%> <% if backend_config['be_server_name_array'] and !backend_config['be_server_name_array'].empty? -%> <% backend_config['be_server_name_array'].each do |be_server_name| -%> server <%= be_server_name %>