Puppet Class: collectd::get_signalfx_repository

Inherits:
collectd
Defined in:
manifests/get_signalfx_repository.pp

Overview

Get signalfx repositories on the system



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

class collectd::get_signalfx_repository inherits collectd {
    if $::osfamily == 'Debian' {
      # Be careful of dependencies here ( -> )
      if $::operatingsystem == 'Ubuntu' {
          include apt
          if(!defined(Package['apt-transport-https'])){
            package {'apt-transport-https': }
          }
          apt::key { 'SignalFx public key id for collectd':
              id     => $collectd::params::signalfx_public_keyid
          }
          -> apt::ppa { [$collectd::signalfx_collectd_repo_source, $collectd::signalfx_plugin_repo_source] :
            package_manage => true,
            require        => Package['apt-transport-https']
          }
        } else {
          # apt module does not support wheezy, jessie, and stretch
          exec { "Add ${collectd::signalfx_collectd_repo_source}, ${collectd::signalfx_plugin_repo_source}":
              command => "apt-get update &&
                              apt-get install -y apt-transport-https &&
                              apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ${collectd::params::signalfx_public_keyid} &&
                              mkdir -p /etc/apt/sources.list.d/ &&
                              echo ${collectd::signalfx_collectd_repo_source} > /etc/apt/sources.list.d/signalfx-collectd.list &&
                              echo ${collectd::signalfx_plugin_repo_source} > /etc/apt/sources.list.d/signalfx-plugin.list &&
                              apt-get update",
              unless  => 'test -s /etc/apt/sources.list.d/signalfx-collectd.list && test -s /etc/apt/sources.list.d/signalfx-plugin.list'
            }
        }
    }
    if $::osfamily == 'Redhat' {
      if $collectd::params::old_signalfx_collectd_repo_source != undef {
        package { $collectd::params::old_signalfx_collectd_repo_source:
          ensure  => absent
        }
      }
      exec { "Add ${collectd::signalfx_collectd_repo_source}, ${collectd::signalfx_plugin_repo_source}":
        command => "yum install -y ${collectd::params::signalfx_collectd_repo_source} ${collectd::params::signalfx_plugin_repo_source}",
        unless  => "test -s ${collectd::params::signalfx_collectd_repo_filename} && test -s ${collectd::params::signalfx_plugin_repo_filename}"
      }
    }
}