Puppet Class: freeipa::install

Defined in:
manifests/install.pp

Summary

Installs the packages needed for servers and clients

Overview

Examples:

include freeipa::install


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
# File 'manifests/install.pp', line 9

class freeipa::install {
  assert_private()

  if ($facts['os']['family'] == 'RedHat') and ($freeipa::install_epel) {
    include epel
  }

  if $freeipa::manage_host_entry {
    host { $freeipa::ipa_server_fqdn:
      ip => $freeipa::ip_address,
    }
  }

  # Note: sssd.conf handled by ipa-server-install.
  if $freeipa::install_sssd {
    package { $freeipa::sssd_package_name:
      ensure => present,
    }
  }

  if $freeipa::install_autofs {
    package { $freeipa::autofs_package_name:
      ensure => present,
    }

    service { 'autofs':
      ensure => 'running',
      enable => true,
    }
  }

  if $freeipa::install_sssdtools {
    package { $freeipa::sssdtools_package_name:
      ensure => present,
    }
  }

  case $freeipa::ipa_role {
    'client': {
      if $freeipa::install_ipa_client {
        contain 'freeipa::install::client'
      }
    }
    'master', 'replica': {
      if $freeipa::final_configure_dns_server {
        $dns_packages = [
          'ipa-server-dns',
          'bind-dyndb-ldap',
        ]
        package{$dns_packages:
          ensure => present,
        }
      }

      if $freeipa::install_ipa_server {
        contain 'freeipa::install::server'
      }
    }
    default: {
      fail ("unexpected role ${freeipa::ipa_role}")
    }
  }

}