Puppet Class: saltstack::params

Overview



1
2
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
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'manifests/params.pp', line 1

class saltstack::params {

  $minion_package_name='salt-minion'
  $minion_service_name='salt-minion'

  $master_package_name='salt-master'
  $master_service_name='salt-master'

  $api_package_name='salt-api'
  $api_service_name='salt-api'

  $syndic_package_name='salt-syndic'
  $syndic_service_name='salt-syndic'

  $cloud_package_name='salt-cloud'

  $ssh_package_name = 'salt-ssh'


  case $::osfamily
  {
    'redhat':
    {
      $package_provider='rpm'
      $saltstack_repo_name='salt-repo'
      $saltstack_repo_url_key=undef

      case $::operatingsystemrelease
      {
        /^6.*$/:
        {
          $api_dependencies=undef
          $saltstack_repo_url_key_source=undef
          $saltstack_repo_url = {
                                  'latest' => 'https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm',
                                  '2017.7' => 'https://repo.saltstack.com/yum/redhat/salt-repo-2018.3-1.el6.noarch.rpm',
                                  '2017.7' => 'https://repo.saltstack.com/yum/redhat/salt-repo-2017.7-1.el6.noarch.rpm',
                                  '2016.11' => 'https://repo.saltstack.com/yum/redhat/salt-repo-2016.11-2.el6.noarch.rpm',
                                  '2016.3' => 'https://repo.saltstack.com/yum/redhat/salt-repo-2016.3-2.el6.noarch.rpm',
                                }

          $windows_dependencies=undef
        }
        /^7.*$/:
        {
          $api_dependencies=['pyOpenSSL']
          $saltstack_repo_url_key_source=undef
          $saltstack_repo_url = {
                                  'latest' => 'https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm',
                                  '2018.3' => 'https://repo.saltstack.com/yum/redhat/salt-repo-2018.3-1.el7.noarch.rpm',
                                  '2017.7' => 'https://repo.saltstack.com/yum/redhat/salt-repo-2017.7-1.el7.noarch.rpm',
                                  '2016.11' => 'https://repo.saltstack.com/yum/redhat/salt-repo-2016.11-2.el7.noarch.rpm',
                                  '2016.3' => 'https://repo.saltstack.com/yum/redhat/salt-repo-2016.3-2.el7.noarch.rpm',
                                }

          $windows_dependencies=[ 'python2-impacket', 'python2-winrm' ]
        }
        default: { fail("Unsupported RHEL/CentOS version! - ${::operatingsystemrelease}")  }
      }
    }
    'Debian':
    {
      $package_provider=undef
      $saltstack_repo_name=undef
      $saltstack_repo_url_key='C7A3D3EE96D9220BAE9420246DF2C88E747F3421'

      $api_dependencies=undef
      $windows_dependencies=[ 'python-impacket', 'python-winrm' ]

      case $::operatingsystem
      {
        'Ubuntu':
        {
          case $::operatingsystemrelease
          {
            /^14.*$/:
            {
              $saltstack_repo_url_key_source= {
                                                'latest' => 'https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub',
                                                '2018.3' => 'https://repo.saltstack.com/apt/ubuntu/14.04/amd64/2018.3/SALTSTACK-GPG-KEY.pub',
                                                '2017.7' => 'https://repo.saltstack.com/apt/ubuntu/14.04/amd64/2017.7/SALTSTACK-GPG-KEY.pub',
                                                '2016.11' => 'https://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.11/SALTSTACK-GPG-KEY.pub',
                                                '2016.3' => 'https://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub',
                                              }
              $saltstack_repo_url = {
                                      'latest' => 'http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest',
                                      '2018.3' => 'http://repo.saltstack.com/apt/ubuntu/14.04/amd64/2018.3',
                                      '2017.7' => 'http://repo.saltstack.com/apt/ubuntu/14.04/amd64/2017.7',
                                      '2016.11' => 'http://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.11',
                                      '2016.3' => 'http://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3',
                                    }
            }
            /^16.*$/:
            {
              $saltstack_repo_url_key_source= {
                                                'latest' => 'https://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub',
                                                '2018.3' => 'https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2018.3/SALTSTACK-GPG-KEY.pub',
                                                '2017.7' => 'https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2017.7/SALTSTACK-GPG-KEY.pub',
                                                '2016.11' => 'https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11/SALTSTACK-GPG-KEY.pub',
                                                '2016.3' => 'https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub',
                                              }
              $saltstack_repo_url = {
                                      'latest' => 'http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest',
                                      '2018.3' => 'http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2018.3',
                                      '2017.7' => 'http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2017.7',
                                      '2016.11' => 'http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11',
                                      '2016.3' => 'http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3',
                                    }
            }
            /^18.*$/:
            {
              $saltstack_repo_url_key_source= {
                                                'latest' => 'https://repo.saltstack.com/apt/ubuntu/18.04/amd64/latest/SALTSTACK-GPG-KEY.pub',
                                                '2018.3' => 'https://repo.saltstack.com/apt/ubuntu/18.04/amd64/2018.3/SALTSTACK-GPG-KEY.pub',
                                                '2017.7' => 'https://repo.saltstack.com/apt/ubuntu/18.04/amd64/2017.7/SALTSTACK-GPG-KEY.pub',
                                              }
              $saltstack_repo_url = {
                                      'latest' => 'http://repo.saltstack.com/py3/ubuntu/18.04/amd64/latest',
                                      '2018.3' => 'http://repo.saltstack.com/apt/ubuntu/18.04/amd64/2018.3',
                                      '2017.7' => 'http://repo.saltstack.com/apt/ubuntu/18.04/amd64/2017.7',
                                    }
            }
            default: { fail("Unsupported Ubuntu version! - ${::operatingsystemrelease}")  }
          }
        }
        'Debian': { fail('Unsupported')  }
        default: { fail('Unsupported Debian flavour!')  }
      }
    }
    'Suse':
    {
      $package_provider=undef
      $saltstack_repo_name='systemsmanagement_saltstack_products'
      $saltstack_repo_url_key=undef

      case $::operatingsystem
      {
        'SLES':
        {
          case $::operatingsystemrelease
          {
            '11.3':
            {
              $saltstack_repo_url_key_source= undef
              $saltstack_repo_url = {
                                      'latest' => 'http://repo.saltstack.com/opensuse/SLE_11_SP3/systemsmanagement:saltstack:products.repo',
                                    }
            }
            '12.3':
            {
              $saltstack_repo_url_key_source= undef
              $saltstack_repo_url = {
                                      'latest' => 'http://repo.saltstack.com/opensuse/SLE_12_SP3/systemsmanagement:saltstack:products.repo',
                                    }
            }
            default: { fail("Unsupported SLES version! - ${::operatingsystemrelease}")  }
          }
        }
        default: { fail("Unsupported SuSE version! - ${::operatingsystemrelease}")  }
      }
    }
    default: { fail('Unsupported OS!')  }
  }
}