Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Projets publics
puppet-freeradius
Commits
c710b819
Commit
c710b819
authored
Jul 15, 2016
by
Jonathan Gazeley
Browse files
Provide support for virtual modules for load-balancing and failover config
parent
48391c81
Changes
3
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
c710b819
...
...
@@ -28,6 +28,7 @@
*
[
`freeradius::sql`
](
#freeradiussql
)
*
[
`freeradius::statusclient`
](
#freeradiusstatusclient
)
*
[
`freeradius::template`
](
#freeradiustemplate
)
*
[
`freeradius::virtual_module`
](
#freeradiusvirtual_module
)
4.
[
Limitations - OS compatibility, etc.
](
#limitations
)
5.
[
Development - Guide for contributing to the module
](
#development
)
6.
[
Release Notes
](
#release-notes
)
...
...
@@ -758,6 +759,29 @@ Provide source to a file with the template item. Specify only one of `source` or
Provide content of template item. Specify only one of
`source`
or
`content`
.
#### `freeradius::virtual_module`
Define a virtual module which consists of one or more other modules, for failover or
load-balancing purposes.
##### `name`
##### `submodules`
##### `type`
```
puppet
freeradius::virtual_module
{
'myldap'
:
submodules
=>
[
'ldap1'
,
'ldap2'
],
type
=>
'redundant-load-balance'
,
}
```
yields
```
redundant-load-balance myldap {
ldap1
ldap2
}
```
## Limitations
This module is targeted at FreeRADIUS 3.x running on CentOS 7. It will not work on
...
...
manifests/virtual_module.pp
0 → 100644
View file @
c710b819
# Define a virtual module, made up of others
define
freeradius::virtual_module
(
$submodules
,
$ensure
=
present
,
$type
=
'redundant-load-balance'
,
)
{
$fr_package
=
$::freeradius::params::fr_package
$fr_service
=
$::freeradius::params::fr_service
$fr_basepath
=
$::freeradius::params::fr_basepath
$fr_group
=
$::freeradius::params::fr_group
# Valid types of virtual module from
# http://wiki.freeradius.org/config/load-balancing
# http://wiki.freeradius.org/config/Fail-over#virtual-modules
validate_re
(
$type
,
[
'^redundant$'
,
'^load-balance$'
,
'^redundant-load-balance$'
,
'^group$'
,
])
# Make sure $submodules is a non-zero array
$submodules
=
any2array
(
$submodules
)
validate_array
(
$submodules
)
if
count
(
$submodules
)
<
1
{
fail
(
'Must specify at least one $submodule'
)
}
file
{
"
${fr_basepath}
/instantiate/
${name}
"
:
ensure
=>
$ensure
,
mode
=>
'0640'
,
owner
=>
'root'
,
group
=>
$fr_group
,
content
=>
template
(
'freeradius/virtual_module.erb'
),
require
=>
[
Package
[
$fr_package
],
Group
[
$fr_group
]],
notify
=>
Service
[
$fr_service
],
}
}
templates/virtual_module.erb
0 → 100644
View file @
c710b819
<%=
@type
%>
<%=
@name
%>
{
<%
@submodules
.
each
do
|
submod
|
-%>
<%=
submod
%>
<%
end
-%>
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment