Puppet Class: software::social::slack

Inherits:
software::params
Defined in:
manifests/social/slack.pp

Overview

Parameters:

  • ensure (Any) (defaults to: $software::params::software_ensure)


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
# File 'manifests/social/slack.pp', line 6

class software::social::slack (
  $ensure = $software::params::software_ensure,
) inherits software::params {

  case $facts['os']['name'] {
    'Darwin': {
      package { 'slack':
        ensure   => $ensure,
        provider => brewcask,
      }
    }
    'Debian', 'Ubuntu': {
      $apt_source_ensure = $ensure ? {
        'installed' => present,
        'latest'    => present,
        default     => $ensure,
      }

      include '::apt'
      apt::source { 'slack':
        ensure   => $apt_source_ensure,
        comment  => 'Slack APT sources for any Debian-based distribution, including Ubuntu',
        location => 'https://packagecloud.io/slacktechnologies/slack/debian',
        release  => 'jessie',
        repos    => 'main',
        key      => {
          'id'     => 'DB085A08CA13B8ACB917E0F6D938EC0D038651BD',
          'source' => 'https://packagecloud.io/slacktechnologies/slack/gpgkey',
        },
      }
      -> Class['apt::update']

      -> package { 'slack-desktop':
        ensure => $ensure,
      }
    }
    'windows': {
      package { 'slack':
        ensure   => $ensure,
        provider => chocolatey,
      }
    }
    default: {
      fail("The ${name} class is not supported on ${facts['os']['name']}.")
    }
  }

}