54 lines
1.7 KiB
Puppet
54 lines
1.7 KiB
Puppet
# == Define Resource Type: apache::balancermember
|
|
#
|
|
# This type will setup a balancer member inside a listening service
|
|
# configuration block in /etc/apache/apache.cfg on the load balancer.
|
|
# currently it only has the ability to specify the instance name, url and an
|
|
# array of options. More features can be added as needed. The best way to
|
|
# implement this is to export this resource for all apache balancer member
|
|
# servers, and then collect them on the main apache load balancer.
|
|
#
|
|
# === Requirement/Dependencies:
|
|
#
|
|
# Currently requires the puppetlabs/concat module on the Puppet Forge and
|
|
# uses storeconfigs on the Puppet Master to export/collect resources
|
|
# from all balancer members.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*name*]
|
|
# The title of the resource is arbitrary and only utilized in the concat
|
|
# fragment name.
|
|
#
|
|
# [*balancer_cluster*]
|
|
# The apache service's instance name (or, the title of the apache::balancer
|
|
# resource). This must match up with a declared apache::balancer resource.
|
|
#
|
|
# [*url*]
|
|
# The url used to contact the balancer member server.
|
|
#
|
|
# [*options*]
|
|
# An array of options to be specified after the url.
|
|
#
|
|
# === Examples
|
|
#
|
|
# Exporting the resource for a balancer member:
|
|
#
|
|
# @@apache::balancermember { 'apache':
|
|
# balancer_cluster => 'puppet00',
|
|
# url => "ajp://${::fqdn}:8009"
|
|
# options => ['ping=5', 'disablereuse=on', 'retry=5', 'ttl=120'],
|
|
# }
|
|
#
|
|
define apache::balancermember(
|
|
$balancer_cluster,
|
|
$url = "http://${::fqdn}/",
|
|
$options = [],
|
|
) {
|
|
|
|
concat::fragment { "BalancerMember ${url}":
|
|
ensure => present,
|
|
target => "${::apache::params::confd_dir}/balancer_${balancer_cluster}.conf",
|
|
content => inline_template(" BalancerMember ${url} <%= @options.join ' ' %>\n"),
|
|
}
|
|
}
|