Puppet Class: lacework::pkg

Defined in:
manifests/pkg.pp

Summary

This class is used to control package repositories and package installation for the Lacework agent.

Overview

Parameters:

  • pkg_manage_sources (Any)
  • pkg_base_url (Any)
  • pkg_apt_key (Any)


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

class lacework::pkg (
  $pkg_manage_sources,
  $pkg_base_url,
  $pkg_apt_key,
) {
  case $::facts['os']['family'] {
    'Debian': {
      if $pkg_manage_sources {
        $os_name = downcase($::facts['os']['name'])
        $os_major = $::facts['os']['release']['major']
        $os_codename = $::facts['os']['distro']['codename']

        include apt
        apt::key { 'lacework':
          id     => $pkg_apt_key,
          server => 'keyserver.ubuntu.com',
        }

        apt::source { 'lacework':
          location => "${pkg_base_url}/DEB/${os_name}/${os_major}",
          release  => $os_codename,
          repos    => 'main',
          notify   => Exec['apt_update'],
          require  => Apt::Key['lacework'],
        }
        $require = Apt::Source['lacework']
      } else {
        $require = undef
      }

      package { 'lacework':
        ensure  => $lacework::package_ensure,
        require => $require,
      }
    }

    'RedHat': {
      if $pkg_manage_sources {
        yumrepo { 'lacework':
          descr   => 'Lacework',
          enabled => 1,
          baseurl => "${pkg_base_url}/RPMS/x86_64/",
          gpgkey  => "${pkg_base_url}/keys/RPM-GPG-KEY-lacework",
        }
        $require = Yumrepo['lacework']
      } else {
        $require = Yumrepo['lacework']
      }

      package { 'lacework':
        ensure  => $lacework::package_ensure,
        require => $require,
      }
    }

    default: {
      fail('Unsupported OS')
    }
  }
}