Puppet Class: freeradius::config

Defined in:
manifests/config.pp

Summary

Manage the permissions on directories and files and then either

Overview

rsync content or create content



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'manifests/config.pp', line 4

class freeradius::config(
) {

  assert_private()

  if $freeradius::pki {
    ::pki::copy { 'freeradius':
      source => $freeradius::app_pki_external_source,
      pki    => $freeradius::pki,
      group  => $freeradius::group,
    }
  }

  $config_file_settings = {
    owner  => 'root',
    group  => $freeradius::group,
    mode   => '0640',
  }

  file { $freeradius::confdir:
    ensure => 'directory',
    owner  => 'root',
    group  => $freeradius::group,
    mode   => '0644',
  }

  if $freeradius::testcerts {
    exec { "${freeradius::confdir}/certs/bootstrap":
      path      => "/usr/bin:/usr/sbin:/bin:${freeradius::confdir}/certs",
      unless    => "test -f ${freeradius::confdir}/certs/server.pem",
      logoutput => true,
      require   => Package[$freeradius::freeradius_name]
    }
    file { "${freeradius::confdir}/certs":
      ensure       => 'directory',
      recurse      => true,
      recurselimit => 1,
      owner        => 'root',
      group        => $freeradius::group,
      mode         => '0660',
    }
  }

  file { ["${freeradius::confdir}/mods-config",
          "${freeradius::confdir}/mods-available",
          "${freeradius::confdir}/mods-enabled",
          "${freeradius::confdir}/sites-available"]:
    ensure  => 'directory',
    require => File[$freeradius::confdir],
    *       => $config_file_settings
  }

  file { "${freeradius::confdir}/sites-enabled":
    ensure  => 'directory',
    recurse => true,
    require => File[$freeradius::confdir],
    purge   => $freeradius::manage_sites_enabled,
    *       => $config_file_settings
  }

  if $freeradius::use_rsync {
    include 'freeradius::config::rsync'
  }
  else {
    if $facts['radius_version'] and $facts['radius_version'] != 'unknown' {
      if versioncmp($facts['radius_version'], '3') < 0 {
        warning("${module_name} : This module is designed to work with freeradius version 3.X. The current version installed is ${facts['radius_version']}")
      }
      else {
        include 'freeradius::v3::conf'
      }
    }
    else {
      warning("${module_name} : The version freeradius installed is unknown.")
    }
  }
}