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 @@
...
@@ -28,6 +28,7 @@
*
[
`freeradius::sql`
](
#freeradiussql
)
*
[
`freeradius::sql`
](
#freeradiussql
)
*
[
`freeradius::statusclient`
](
#freeradiusstatusclient
)
*
[
`freeradius::statusclient`
](
#freeradiusstatusclient
)
*
[
`freeradius::template`
](
#freeradiustemplate
)
*
[
`freeradius::template`
](
#freeradiustemplate
)
*
[
`freeradius::virtual_module`
](
#freeradiusvirtual_module
)
4.
[
Limitations - OS compatibility, etc.
](
#limitations
)
4.
[
Limitations - OS compatibility, etc.
](
#limitations
)
5.
[
Development - Guide for contributing to the module
](
#development
)
5.
[
Development - Guide for contributing to the module
](
#development
)
6.
[
Release Notes
](
#release-notes
)
6.
[
Release Notes
](
#release-notes
)
...
@@ -758,6 +759,29 @@ Provide source to a file with the template item. Specify only one of `source` or
...
@@ -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`
.
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
## Limitations
This module is targeted at FreeRADIUS 3.x running on CentOS 7. It will not work on
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