## cd_haproxy::server::proxy.pp # Module name: cd_haproxy # Author: Arne Teuke (arne_teuke@ConfDroid.com) # # License: # This file is part of cd_haproxy. # # cd_haproxy is used for providing automatic configuration of HAProxy # Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # @summary Define manages the proxies for cd_haproxy. # @param [string] frontend_name the name for the frontend section rule. # @param [string] frontend_order the order where the concet should appear # in the file. ############################################################################# define cd_haproxy::server::proxy ( $frontend_name = undef, $frontend_mode = undef, $frontend_order = '010', $acl_rule = undef, $acl_order = '020', $backend_name = undef, $backend_order = '030', ) { $hy_main_config = '/etc/haproxy/haproxy.cfg' $hy_frontendrule = 'cd_haproxy/haproxy_frontend_rule.erb' $hy_backendrule = 'cd_haproxy/haproxy_backend_rule.erb' $hy_acl_rule = 'cd_haproxy/haproxy_acl_rule.erb' # create frontend section concat::fragment { "frontend_${name}": target => $hy_main_config, content => template($hy_frontendrule), order => $frontend_order, } # create acl section concat::fragment { "acl_${name}": target => $hy_main_config, content => template($hy_acl_rule), order => $acl_order, } # create backend section concat::fragment { "backend_${name}": target => $hy_main_config, content => template($hy_backendrule), order => $backend_order, } }