Puppet Class: sensuclassic::repo::yum

Defined in:
manifests/repo/yum.pp

Summary

Adds the Sensu YUM repo support

Overview

Adds the Sensu YUM repo support



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
# File 'manifests/repo/yum.pp', line 5

class sensuclassic::repo::yum {

  if $sensuclassic::install_repo  {
    if $sensuclassic::repo_source {
      $url = $sensuclassic::repo_source
    } else {
      $major = $facts.dig('os', 'release', 'major')
      $family = $facts.dig('os', 'family')
      if $::operatingsystem == 'Amazon' {
        # Match all versions like 2018.2
        if $major =~ /^201\d$/ {
          $releasever = '6'
        } else {
          $releasever = '7'
        }
      # el8 packages do not exist, so use el7 packages
      } elsif $family == 'RedHat' and $major == '8' {
        $releasever = '7'
      } else {
        $releasever = '$releasever'
      }
      $url = $sensuclassic::repo ? {
        'unstable'  => "https://sensu.global.ssl.fastly.net/yum-unstable/${releasever}/\$basearch/",
        default     => "https://sensu.global.ssl.fastly.net/yum/${releasever}/\$basearch/"
      }
    }

    yumrepo { 'sensuclassic':
      enabled  => 1,
      baseurl  => $url,
      gpgcheck => 0,
      name     => 'sensuclassic',
      descr    => 'sensu',
      before   => Package[$sensuclassic::package::pkg_title],
    }

    # prep for Enterprise repos
    $se_user = $sensuclassic::enterprise_user
    $se_pass = $sensuclassic::enterprise_pass

    if $sensuclassic::enterprise {
      $se_url  = "http://${se_user}:${se_pass}@enterprise.sensuapp.com/yum/noarch/"

      yumrepo { 'sensu-enterprise':
        enabled  => 1,
        baseurl  => $se_url,
        gpgcheck => 0,
        name     => 'sensu-enterprise',
        descr    => 'sensu-enterprise',
        before   => Package['sensu-enterprise'],
      }
    }

    if $sensuclassic::enterprise_dashboard {
      $dashboard_url = "http://${se_user}:${se_pass}@enterprise.sensuapp.com/yum/\$basearch/"

      yumrepo { 'sensu-enterprise-dashboard':
        enabled  => 1,
        baseurl  => $dashboard_url,
        gpgcheck => 0,
        name     => 'sensu-enterprise-dashboard',
        descr    => 'sensu-enterprise-dashboard',
        before   => Package['sensu-enterprise-dashboard'],
      }
    }
  }
}