From 7f8c595e765fe32140c270d08eff86d5c14f1ee9 Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Sat, 8 Feb 2025 13:52:46 +0100 Subject: [PATCH] update proxy and tmplate --- manifests/server/proxy.pp | 30 ++++++++++++++++++++++-------- templates/haproxy_backend_rule.erb | 17 ++++------------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/manifests/server/proxy.pp b/manifests/server/proxy.pp index 0e8d1c4..741c9b2 100644 --- a/manifests/server/proxy.pp +++ b/manifests/server/proxy.pp @@ -42,6 +42,8 @@ define cd_haproxy::server::proxy ( $be_option = '', $fe_tcp_request = '', $fe_http_request = '', + $backend_configs = [], + ) { @@ -65,16 +67,28 @@ define cd_haproxy::server::proxy ( # create frontend section concat::fragment { "frontend_${name}": - target => $hy_main_config, - content => template($hy_frontendrule), - order => $frontend_order, + target => $hy_main_config, + content => template($hy_frontendrule), + order => $frontend_order, } - # create backend section - concat::fragment { "backend_${name}": - target => $hy_main_config, - content => template($hy_backendrule), - order => $backend_order, + + # Create backend sections dynamically based on $backend_configs + $backend_configs.each |$index, $backend_config| { + concat::fragment { "backend_${name}_${index}": + target => $hy_main_config, + content => template($hy_backendrule), + order => $backend_order, + # Use variables from the backend config for each backend + variables => $backend_config, + } } +# # create backend section +# concat::fragment { "backend_${name}": +# target => $hy_main_config, +# content => template($hy_backendrule), +# order => $backend_order, +# } + } diff --git a/templates/haproxy_backend_rule.erb b/templates/haproxy_backend_rule.erb index 0a7bca6..5a754c0 100644 --- a/templates/haproxy_backend_rule.erb +++ b/templates/haproxy_backend_rule.erb @@ -1,16 +1,10 @@ <% if @fqdn == @haproxy_fqdn -%> -<% if @backend_name_array and !@backend_name_array.empty? -%> -<% @backend_name_array.each do |backend_name| -%> - -backend <%= backend_name %> +<% if @backend_name != '' -%> +backend <%= @backend_name %> +<% end -%> <% if @be_mode != '' -%> mode <%= @be_mode %> <% end -%> -<% if @acl_rule_back_array and !@acl_rule_back_array.empty? -%> -<% @acl_rule_back_array.each do |acl_rule| -%> -acl <%= acl_rule %> -<% end -%> -<% end -%> <% if @be_balance != '' -%> balance <%= @be_balance %> <% end -%> @@ -21,10 +15,7 @@ option <%= be_option %> <% end -%> <% if @be_server_name_array and !@be_server_name_array.empty? -%> <% @be_server_name_array.each do |be_server_name| -%> -server <%= be_server_name %> +server <%= be_server_name %> <% end -%> <% end -%> <% end -%> -<% end -%> -<% end -%> -