Puppet Class: freeipa::install::server

Defined in:
manifests/install/server.pp

Summary

This class mainly defines options for the ipa install command, then install master or replica regarding the role set.

Overview

Examples:

include freeipa::install::server


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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'manifests/install/server.pp', line 9

class freeipa::install::server {
  assert_private()

  if $facts['iparole'] != 'client' {
    Exec {
      path =>  '/usr/local/bin/:/bin/:/sbin',
    }

    package{$freeipa::ipa_server_package_name:
      ensure => present,
    }

    if $freeipa::server_install_ldaputils {
      package { $freeipa::ldaputils_package_name:
        ensure => present,
      }
    }

    $server_install_cmd_opts_idstart = "--idstart=${freeipa::idstart}"

    if $freeipa::enable_hostname {
      $server_install_cmd_opts_hostname = "--hostname=${freeipa::ipa_server_fqdn}"
        end
    } else {
      $server_install_cmd_opts_hostname = ''
    }

    if $freeipa::enable_ip_address {
      $server_install_cmd_opts_ip_address = "--ip-address ${freeipa::ip_address}"
    } else {
      $server_install_cmd_opts_ip_address = ''
    }

    if $freeipa::final_configure_dns_server {
      $server_install_cmd_opts_setup_dns = '--setup-dns --auto-reverse'
    } else {
      $server_install_cmd_opts_setup_dns = ''
    }

    if $freeipa::configure_ntp {
      $server_install_cmd_opts_no_ntp = ''
    } else {
      $server_install_cmd_opts_no_ntp = '--no-ntp'
    }

    if $freeipa::install_ca {
      $server_install_cmd_opts_setup_ca = '--setup-ca'
    } else {
      $server_install_cmd_opts_setup_ca = ''
    }

    if $freeipa::final_configure_dns_server {
      if size($freeipa::custom_dns_forwarders) > 0 {
        $server_install_cmd_opts_forwarders = join(
          prefix(
            $freeipa::custom_dns_forwarders,
            '--forwarder '),
          ' '
        )
      }
      else {
        $server_install_cmd_opts_forwarders = '--no-forwarders'
      }
    }
    else {
      $server_install_cmd_opts_forwarders = ''
    }

    if $freeipa::webui_redirect {
      $server_install_cmd_opts_no_ui_redirect = ''
    } else {
      $server_install_cmd_opts_no_ui_redirect = '--no-ui-redirect'
    }

    if $freeipa::ipa_role == 'master' {
      contain 'freeipa::install::server::master'
    } elsif $freeipa::ipa_role == 'replica' {
      contain 'freeipa::install::server::replica'
    }

    ensure_resource (
      'service',
      'httpd',
      {ensure => 'running'},
    )

    service { 'ipa':
      ensure  => 'running',
      enable  => true,
      require => Exec["server_install_${freeipa::ipa_server_fqdn}"],
    }

    if $freeipa::install_sssd {
      service { 'sssd':
        ensure  => 'running',
        enable  => true,
        require => Package[$freeipa::sssd_package_name],
      }
    }

    contain freeipa::helpers::flushcache

  } else {
    fail ("to change ipa_role from '${facts['iparole']}' to '${freeipa::ipa_role}' is not supported.")
  }
}