From dc98ae954145447b6c8f94dfde1a426a8c680075 Mon Sep 17 00:00:00 2001
From: Jonathan Gazeley <jonathan.gazeley@bristol.ac.uk>
Date: Thu, 15 Oct 2015 15:23:17 +0100
Subject: [PATCH] Template mod config dir for FR2 and FR3

---
 manifests/config.pp | 12 ++++++------
 manifests/params.pp | 10 ++++++++++
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/manifests/config.pp b/manifests/config.pp
index 1da88ef..5a12f77 100644
--- a/manifests/config.pp
+++ b/manifests/config.pp
@@ -4,19 +4,19 @@ define freeradius::config (
   $content = undef,
   $ensure = present,
 ) {
-  $fr_package  = $::freeradius::params::fr_package
-  $fr_service  = $::freeradius::params::fr_service
-  $fr_basepath = $::freeradius::params::fr_basepath
-  $fr_group    = $::freeradius::params::fr_group
+  $fr_package          = $::freeradius::params::fr_package
+  $fr_service          = $::freeradius::params::fr_service
+  $fr_group            = $::freeradius::params::fr_group
+  $fr_moduleconfigpath = $::freeradius::params::fr_moduleconfigpath
 
-  file { "${fr_basepath}/conf.d/${name}":
+  file { "${fr_moduleconfigpath}/${name}":
     ensure  => $ensure,
     mode    => '0640',
     owner   => 'root',
     group   => $fr_group,
     source  => $source,
     content => $content,
-    require => [File["${fr_basepath}/conf.d"], Package[$fr_package], Group[$fr_group]],
+    require => [File[$fr_moduleconfigpath], Package[$fr_package], Group[$fr_group]],
     notify  => Service[$fr_service],
   }
 }
diff --git a/manifests/params.pp b/manifests/params.pp
index f4d04c8..9bb2af9 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -46,6 +46,16 @@ class freeradius::params {
   # Default module path
   $fr_modulepath = "${fr_basepath}/${fr_moduledir}"
 
+  # Default module config dir
+  $fr_modconfigdir = $::freeradius_version ? {
+    /^2\./    => 'conf.d',
+    /^3\./    => 'mods-config',
+    default   => 'conf.d',
+  }
+
+  # Default module config path
+  $fr_moduleconfigpath = "${fr_basepath}/${fr_modconfigdir}"
+
   # Path for FreeRADIUS logs
   $fr_logpath = $::osfamily ? {
     'RedHat' => '/var/log/radius',
-- 
GitLab