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
# 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'
  $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
  $tls_cacert                        = '/etc/docker/tls/ca.pem'
  $tls_cert                          = '/etc/docker/tls/cert.pem'
  $tls_key                           = '/etc/docker/tls/key.pem'
  $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
  $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
  $compose_version                   = '1.9.0'
  $compose_install_path              = '/usr/local/bin'
  $os_lc                             = downcase($::operatingsystem)

  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'
      } elsif $::operatingsystem == 'CentOS' {
        $repo_opt = '--enablerepo=extras'
      } else {
        $repo_opt = undef
      }
    }
    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  => [],
  }

}