Loading README.md +13 −1 Original line number Diff line number Diff line Loading @@ -87,6 +87,9 @@ Install support for MySQL. Note this only installs the package. Use `freeradius: ##### `perl_support` Install support for Perl. Default: `false` ##### `preserve_mods` Leave recommended stock modules enabled. Default: `true` ##### `utils_support` Install FreeRADIUS utils. Default: `false` Loading Loading @@ -467,15 +470,24 @@ Default: `allow` #### `freeradius::module` Install a module from a flat file. Install a module from a flat file, or enable a stock module that came with your distribution of FreeRADIUS. ```puppet # Enable a stock module freeradius::module { 'pap': preserve => true, } ``` ```puppet # Install a custom module from a flat file freeradius::module { 'buffered-sql': source => 'puppet:///modules/site_freeradius/buffered-sql', } ``` ```puppet # Install a custom module from a template freeradius::module { 'buffered-sql': content => template('some_template.erb)', } Loading manifests/init.pp +37 −11 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ class freeradius ( $wpa_supplicant = false, $winbind_support = false, $syslog = false, $preserve_mods = true, ) inherits freeradius::params { if ($freeradius::fr_version != 3) { Loading Loading @@ -55,6 +56,7 @@ class freeradius ( "${freeradius::fr_basepath}/certs", "${freeradius::fr_basepath}/clients.d", "${freeradius::fr_basepath}/sites-enabled", "${freeradius::fr_basepath}/mods-enabled", "${freeradius::fr_basepath}/instantiate", ]: ensure => directory, Loading @@ -67,12 +69,43 @@ class freeradius ( notify => Service[$freeradius::fr_service], } # Delete some modules which come bundled with the server that we # know break functionality out of the box with this config freeradius::module { 'eap': ensure => absent, # Preserve some stock modules if ($preserve_mods) { freeradius::module { [ 'always', 'cache_eap', 'chap', 'detail', 'detail.log', 'dhcp', 'digest', 'dynamic_clients', 'echo', 'exec', 'expiration', 'expr', 'files', 'linelog', 'logintime', 'mschap', 'ntlm_auth', 'pap', 'passwd', 'preprocess', 'radutmp', 'realm', 'replicate', 'soh', 'sradutmp', 'unix', 'unpack', 'utf8', ]: preserve => true, } } # Set up concat policy file, as there is only one global policy # We also add standard header and footer concat { "${freeradius::fr_basepath}/policy.conf": Loading Loading @@ -225,13 +258,6 @@ class freeradius ( require => Package[$freeradius::fr_package] } # Install a few modules required on all FR installations # No content is specified, so we accept the package manager default # Defining them here prevents them from being purged freeradius::module { 'always': } freeradius::module { 'detail': } freeradius::module { 'detail.log': } # Syslog rules if $syslog == true { rsyslog::snippet { '12-radiusd-log': Loading manifests/module.pp +20 −9 Original line number Diff line number Diff line Loading @@ -3,12 +3,22 @@ define freeradius::module ( $source = undef, $content = undef, $ensure = present, $preserve = false, ) { $fr_package = $::freeradius::params::fr_package $fr_service = $::freeradius::params::fr_service $fr_modulepath = $::freeradius::params::fr_modulepath $fr_basepath = $::freeradius::params::fr_basepath $fr_group = $::freeradius::params::fr_group if ($preserve) { # Symlink to mods-available for stock modules file { "${fr_modulepath}/${name}": ensure => link, target => "../mods-available/${name}", } } else { # Deploy actual module to sites-enabled file { "${fr_modulepath}/${name}": ensure => $ensure, mode => '0640', Loading @@ -20,3 +30,4 @@ define freeradius::module ( notify => Service[$fr_service], } } } Loading
README.md +13 −1 Original line number Diff line number Diff line Loading @@ -87,6 +87,9 @@ Install support for MySQL. Note this only installs the package. Use `freeradius: ##### `perl_support` Install support for Perl. Default: `false` ##### `preserve_mods` Leave recommended stock modules enabled. Default: `true` ##### `utils_support` Install FreeRADIUS utils. Default: `false` Loading Loading @@ -467,15 +470,24 @@ Default: `allow` #### `freeradius::module` Install a module from a flat file. Install a module from a flat file, or enable a stock module that came with your distribution of FreeRADIUS. ```puppet # Enable a stock module freeradius::module { 'pap': preserve => true, } ``` ```puppet # Install a custom module from a flat file freeradius::module { 'buffered-sql': source => 'puppet:///modules/site_freeradius/buffered-sql', } ``` ```puppet # Install a custom module from a template freeradius::module { 'buffered-sql': content => template('some_template.erb)', } Loading
manifests/init.pp +37 −11 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ class freeradius ( $wpa_supplicant = false, $winbind_support = false, $syslog = false, $preserve_mods = true, ) inherits freeradius::params { if ($freeradius::fr_version != 3) { Loading Loading @@ -55,6 +56,7 @@ class freeradius ( "${freeradius::fr_basepath}/certs", "${freeradius::fr_basepath}/clients.d", "${freeradius::fr_basepath}/sites-enabled", "${freeradius::fr_basepath}/mods-enabled", "${freeradius::fr_basepath}/instantiate", ]: ensure => directory, Loading @@ -67,12 +69,43 @@ class freeradius ( notify => Service[$freeradius::fr_service], } # Delete some modules which come bundled with the server that we # know break functionality out of the box with this config freeradius::module { 'eap': ensure => absent, # Preserve some stock modules if ($preserve_mods) { freeradius::module { [ 'always', 'cache_eap', 'chap', 'detail', 'detail.log', 'dhcp', 'digest', 'dynamic_clients', 'echo', 'exec', 'expiration', 'expr', 'files', 'linelog', 'logintime', 'mschap', 'ntlm_auth', 'pap', 'passwd', 'preprocess', 'radutmp', 'realm', 'replicate', 'soh', 'sradutmp', 'unix', 'unpack', 'utf8', ]: preserve => true, } } # Set up concat policy file, as there is only one global policy # We also add standard header and footer concat { "${freeradius::fr_basepath}/policy.conf": Loading Loading @@ -225,13 +258,6 @@ class freeradius ( require => Package[$freeradius::fr_package] } # Install a few modules required on all FR installations # No content is specified, so we accept the package manager default # Defining them here prevents them from being purged freeradius::module { 'always': } freeradius::module { 'detail': } freeradius::module { 'detail.log': } # Syslog rules if $syslog == true { rsyslog::snippet { '12-radiusd-log': Loading
manifests/module.pp +20 −9 Original line number Diff line number Diff line Loading @@ -3,12 +3,22 @@ define freeradius::module ( $source = undef, $content = undef, $ensure = present, $preserve = false, ) { $fr_package = $::freeradius::params::fr_package $fr_service = $::freeradius::params::fr_service $fr_modulepath = $::freeradius::params::fr_modulepath $fr_basepath = $::freeradius::params::fr_basepath $fr_group = $::freeradius::params::fr_group if ($preserve) { # Symlink to mods-available for stock modules file { "${fr_modulepath}/${name}": ensure => link, target => "../mods-available/${name}", } } else { # Deploy actual module to sites-enabled file { "${fr_modulepath}/${name}": ensure => $ensure, mode => '0640', Loading @@ -20,3 +30,4 @@ define freeradius::module ( notify => Service[$fr_service], } } }