Puppet Class: docker::params

Inherited by:
docker
docker::compose
Defined in:
manifests/params.pp

Overview

Class: docker::params

Default parameter values for the docker module



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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
# File 'manifests/params.pp', line 5

class docker::params {
  $version                           = undef
  $ensure                            = present
  $docker_ce_start_command           = 'dockerd'
  $docker_ce_package_name            = 'docker-ce'
  $docker_engine_start_command       = 'docker daemon'
  $docker_engine_package_name        = 'docker-engine'
  $docker_ce_channel                 = stable
  $docker_ee                         = false
  $docker_ee_start_command           = 'dockerd'
  if ($::osfamily == 'windows') {
    $docker_ee_package_name          = 'Docker'
  } else {
    $docker_ee_package_name          = 'docker-ee'
  }
  $docker_ee_source_location         = undef
  $docker_ee_key_source              = undef
  $docker_ee_key_id                  = undef
  $docker_ee_repos                   = stable
  $tcp_bind                          = undef
  $tls_enable                        = false
  $tls_verify                        = true
  if ($::osfamily == 'windows') {
    $tls_cacert                        = "${::docker_program_data_path}/docker/certs.d/ca.pem"
    $tls_cert                          = "${::docker_program_data_path}/docker/certs.d/server-cert.pem"
    $tls_key                           = "${::docker_program_data_path}/docker/certs.d/server-key.pem"
    $compose_version                   = '1.21.2'
    $compose_install_path              = "${::docker_program_files_path}/Docker"
  } else {
    $tls_cacert                        = '/etc/docker/tls/ca.pem'
    $tls_cert                          = '/etc/docker/tls/cert.pem'
    $tls_key                           = '/etc/docker/tls/key.pem'
    $compose_version                   = '1.9.0'
    $compose_install_path              = '/usr/local/bin'
  }
  $ip_forward                        = true
  $iptables                          = true
  $ipv6                              = false
  $ipv6_cidr                         = undef
  $default_gateway_ipv6              = undef
  $icc                               = undef
  $ip_masq                           = true
  $bip                               = undef
  $mtu                               = undef
  $fixed_cidr                        = undef
  $bridge                            = undef
  $default_gateway                   = undef
  $socket_bind                       = 'unix:///var/run/docker.sock'
  $log_level                         = undef
  $log_driver                        = undef
  $log_opt                           = []
  $selinux_enabled                   = undef
  $socket_group_default              = 'docker'
  $labels                            = []
  $service_state                     = running
  $service_enable                    = true
  $manage_service                    = true
  $root_dir                          = undef
  $tmp_dir_config                    = true
  $tmp_dir                           = '/tmp/'
  $dns                               = undef
  $dns_search                        = undef
  $proxy                             = undef
  $no_proxy                          = undef
  $execdriver                        = undef
  $storage_driver                    = undef
  $dm_basesize                       = undef
  $dm_fs                             = undef
  $dm_mkfsarg                        = undef
  $dm_mountopt                       = undef
  $dm_blocksize                      = undef
  $dm_loopdatasize                   = undef
  $dm_loopmetadatasize               = undef
  $dm_datadev                        = undef
  $dm_metadatadev                    = undef
  $dm_thinpooldev                    = undef
  $dm_use_deferred_removal           = undef
  $dm_use_deferred_deletion          = undef
  $dm_blkdiscard                     = undef
  $dm_override_udev_sync_check       = undef
  $overlay2_override_kernel_check    = false
  $manage_package                    = true
  $package_source                    = undef
  if ($::osfamily == 'windows') {
    $docker_command                  = 'docker'
  } else {
    $docker_command                  = 'docker'
  }
  $service_name_default              = 'docker'
  $docker_group_default              = 'docker'
  $storage_devs                      = undef
  $storage_vg                        = undef
  $storage_root_size                 = undef
  $storage_data_size                 = undef
  $storage_min_data_size             = undef
  $storage_chunk_size                = undef
  $storage_growpart                  = undef
  $storage_auto_extend_pool          = undef
  $storage_pool_autoextend_threshold = undef
  $storage_pool_autoextend_percent   = undef
  $storage_config_template           = 'docker/etc/sysconfig/docker-storage.erb'
  $registry_mirror                   = undef
  $os_lc                             = downcase($::operatingsystem)
  $docker_msft_provider_version      = undef
  $nuget_package_provider_version    = undef

  case $::osfamily {
    'Debian' : {
      case $::operatingsystem {
        'Ubuntu' : {
          $package_release = "ubuntu-${::lsbdistcodename}"
          if (versioncmp($::operatingsystemrelease, '15.04') >= 0) {
            $service_provider           = 'systemd'
            $storage_config             = '/etc/default/docker-storage'
            $service_config_template    = 'docker/etc/sysconfig/docker.systemd.erb'
            $service_overrides_template = 'docker/etc/systemd/system/docker.service.d/service-overrides-debian.conf.erb'
            $service_hasstatus          = true
            $service_hasrestart         = true
            include docker::systemd_reload
          } else {
            $service_config_template    = 'docker/etc/default/docker.erb'
            $service_overrides_template = undef
            $service_provider           = 'upstart'
            $service_hasstatus          = true
            $service_hasrestart         = false
            $storage_config             = undef
          }
        }
        default: {
          $package_release = "debian-${::lsbdistcodename}"
          $service_provider           = 'systemd'
          $storage_config             = '/etc/default/docker-storage'
          $service_config_template    = 'docker/etc/sysconfig/docker.systemd.erb'
          $service_overrides_template = 'docker/etc/systemd/system/docker.service.d/service-overrides-debian.conf.erb'
          $service_hasstatus          = true
          $service_hasrestart         = true
          include docker::systemd_reload
        }
      }

      $service_name                  = $service_name_default
      $docker_group                  = $docker_group_default
      $socket_group                  = $socket_group_default
      $use_upstream_package_source   = true
      $pin_upstream_package_source   = true
      $apt_source_pin_level          = 10
      $repo_opt                      = undef
      $service_config                = undef
      $storage_setup_file            = undef

      $package_ce_source_location    = "https://download.docker.com/linux/${os_lc}"
      $package_ce_key_source         = "https://download.docker.com/linux/${os_lc}/gpg"
      $package_ce_key_id             = '9DC858229FC7DD38854AE2D88D81803C0EBFCD88'
      $package_ce_release            = $::lsbdistcodename
      $package_source_location       = 'http://apt.dockerproject.org/repo'
      $package_key_source            = 'https://apt.dockerproject.org/gpg'
      $package_key_check_source      = undef
      $package_key_id                = '58118E89F3A912897C070ADBF76221572C52609D'
      $package_ee_source_location    = $docker_ee_source_location
      $package_ee_key_source         = $docker_ee_key_source
      $package_ee_key_id             = $docker_ee_key_id
      $package_ee_release            = $::lsbdistcodename
      $package_ee_repos              = $docker_ee_repos
      $package_ee_package_name       = $docker_ee_package_name


      if ($service_provider == 'systemd') {
        $detach_service_in_init = false
      } else {
        $detach_service_in_init = true
      }
    }
    'RedHat' : {
      $service_config     = '/etc/sysconfig/docker'
      $storage_config     = '/etc/sysconfig/docker-storage'
      $storage_setup_file = '/etc/sysconfig/docker-storage-setup'
      $service_hasstatus  = true
      $service_hasrestart = true

      $service_provider            = 'systemd'
      $service_config_template     = 'docker/etc/sysconfig/docker.systemd.erb'
      $service_overrides_template  = 'docker/etc/systemd/system/docker.service.d/service-overrides-rhel.conf.erb'
      $use_upstream_package_source = true

      $package_ce_source_location  = "https://download.docker.com/linux/centos/${::operatingsystemmajrelease}/${::architecture}/${docker_ce_channel}"
      $package_ce_key_source       = 'https://download.docker.com/linux/centos/gpg'
      $package_ce_key_id           = undef
      $package_ce_release          = undef
      $package_key_id              = undef
      $package_release             = undef
      $package_source_location     = "https://yum.dockerproject.org/repo/main/centos/${::operatingsystemmajrelease}"
      $package_key_source          = 'https://yum.dockerproject.org/gpg'
      $package_key_check_source    = true
      $package_ee_source_location  = $docker_ee_source_location
      $package_ee_key_source       = $docker_ee_key_source
      $package_ee_key_id           = $docker_ee_key_id
      $package_ee_release          = undef
      $package_ee_repos            = $docker_ee_repos
      $package_ee_package_name     = $docker_ee_package_name
      $pin_upstream_package_source = undef
      $apt_source_pin_level        = undef
      $service_name                = $service_name_default
      $detach_service_in_init      = false

      if $use_upstream_package_source {
        $docker_group = $docker_group_default
        $socket_group = $socket_group_default
      } else {
        $docker_group = 'dockerroot'
        $socket_group = 'dockerroot'
      }

      # repo_opt to specify install_options for docker package
      if $::operatingsystem == 'RedHat' {
        $repo_opt = '--enablerepo=rhel-7-server-extras-rpms'
      } else {
        $repo_opt = undef
      }
    }
    'windows' : {
      $msft_nuget_package_provider_version = $nuget_package_provider_version
      $msft_provider_version               = $docker_msft_provider_version
      $msft_package_version                = $version
      $service_config_template             = 'docker/windows/config/daemon.json.erb'
      $service_config                      = "${::docker_program_data_path}/docker/config/daemon.json"
      $docker_group                        = 'docker'
      $package_ce_source_location          = undef
      $package_ce_key_source               = undef
      $package_ce_key_id                   = undef
      $package_ce_repos                    = undef
      $package_ce_release                  = undef
      $package_key_id                      = undef
      $package_release                     = undef
      $package_source_location             = undef
      $package_key_source                  = undef
      $package_key_check_source            = undef
      $package_ee_source_location          = undef
      $package_ee_package_name             = $docker_ee_package_name
      $package_ee_key_source               = undef
      $package_ee_key_id                   = undef
      $package_ee_repos                    = undef
      $package_ee_release                  = undef
      $use_upstream_package_source         = undef
      $pin_upstream_package_source         = undef
      $apt_source_pin_level                = undef
      $socket_group                        = undef
      $service_name                        = $service_name_default
      $repo_opt                            = undef
      $storage_config                      = undef
      $storage_setup_file                  = undef
      $service_provider                    = undef
      $service_overrides_template          = undef
      $service_hasstatus                   = undef
      $service_hasrestart                  = undef
      $detach_service_in_init              = true
    }
    default: {
      $docker_group                        = $docker_group_default
      $socket_group                        = $socket_group_default
      $package_key_source                  = undef
      $package_key_check_source            = undef
      $package_source_location             = undef
      $package_key_id                      = undef
      $package_repos                       = undef
      $package_release                     = undef
      $package_ce_key_source               = undef
      $package_ce_source_location          = undef
      $package_ce_key_id                   = undef
      $package_ce_repos                    = undef
      $package_ce_release                  = undef
      $package_ee_source_location          = undef
      $package_ee_key_source               = undef
      $package_ee_key_id                   = undef
      $package_ee_release                  = undef
      $package_ee_repos                    = undef
      $package_ee_package_name             = undef
      $use_upstream_package_source         = true
      $service_overrides_template          = undef
      $service_hasstatus                   = undef
      $service_hasrestart                  = undef
      $service_provider                    = undef
      $package_name                        = $docker_ce_package_name
      $service_name                        = $service_name_default
      $detach_service_in_init              = true
      $repo_opt                            = undef
      $nowarn_kernel                       = false
      $service_config                      = undef
      $storage_config                      = undef
      $storage_setup_file                  = undef
      $service_config_template             = undef
      $pin_upstream_package_source         = undef
      $apt_source_pin_level                = undef
    }
  }

  # Special extra packages are required on some OSes.
  # Specifically apparmor is needed for Ubuntu:
  # https://github.com/docker/docker/issues/4734
  $prerequired_packages = $::osfamily ? {
    'Debian' => $::operatingsystem ? {
      'Debian' => ['cgroupfs-mount'],
      'Ubuntu' => ['cgroup-lite', 'apparmor'],
      default  => [],
    },
    'RedHat' => ['device-mapper'],
    default  => [],
  }
  $dependent_packages = ['docker-ce-cli','containerd.io']

}