388 lines
18 KiB
ObjectPascal
388 lines
18 KiB
ObjectPascal
|
# @summary Default parameter values for the docker module
|
||
|
#
|
||
|
class docker::params {
|
||
|
$version = undef
|
||
|
$ensure = present
|
||
|
$docker_ce_start_command = 'dockerd'
|
||
|
$docker_ce_package_name = 'docker-ce'
|
||
|
$docker_ce_cli_package_name = 'docker-ce-cli'
|
||
|
$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_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
|
||
|
$machine_version = '0.16.1'
|
||
|
$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
|
||
|
$compose_version = 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
|
||
|
$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.epp'
|
||
|
$registry_mirror = undef
|
||
|
$curl_ensure = true
|
||
|
$os_lc = downcase($facts['os']['name'])
|
||
|
$docker_msft_provider_version = undef
|
||
|
$nuget_package_provider_version = undef
|
||
|
$docker_command = 'docker'
|
||
|
|
||
|
if ($facts['os']['family'] == 'windows') {
|
||
|
$docker_ee_package_name = 'Docker'
|
||
|
$machine_install_path = "${facts['docker_program_files_path']}/Docker"
|
||
|
$tls_cacert = "${facts['docker_program_data_path']}/docker/certs.d/ca.pem"
|
||
|
$tls_cert = "${facts['docker_program_data_path']}/docker/certs.d/server-cert.pem"
|
||
|
$tls_key = "${facts['docker_program_data_path']}/docker/certs.d/server-key.pem"
|
||
|
} else {
|
||
|
$docker_ee_package_name = 'docker-ee'
|
||
|
$machine_install_path = '/usr/local/bin'
|
||
|
$tls_cacert = '/etc/docker/tls/ca.pem'
|
||
|
$tls_cert = '/etc/docker/tls/cert.pem'
|
||
|
$tls_key = '/etc/docker/tls/key.pem'
|
||
|
}
|
||
|
|
||
|
case $facts['os']['family'] {
|
||
|
'Debian' : {
|
||
|
case $facts['os']['name'] {
|
||
|
'Ubuntu' : {
|
||
|
$package_release = "ubuntu-${facts['os']['distro']['codename']}"
|
||
|
|
||
|
if (versioncmp($facts['os']['release']['full'], '15.04') >= 0) {
|
||
|
$service_after_override = undef
|
||
|
$service_config_template = 'docker/etc/sysconfig/docker.systemd.epp'
|
||
|
$service_hasrestart = true
|
||
|
$service_hasstatus = true
|
||
|
$service_overrides_template = 'docker/etc/systemd/system/docker.service.d/service-overrides-debian.conf.epp'
|
||
|
$service_provider = 'systemd'
|
||
|
$socket_override = false
|
||
|
$socket_overrides_template = 'docker/etc/systemd/system/docker.socket.d/socket-overrides.conf.epp'
|
||
|
$storage_config = '/etc/default/docker-storage'
|
||
|
include docker::systemd_reload
|
||
|
} else {
|
||
|
$service_config_template = 'docker/etc/default/docker.epp'
|
||
|
$service_overrides_template = undef
|
||
|
$socket_overrides_template = undef
|
||
|
$socket_override = false
|
||
|
$service_after_override = undef
|
||
|
$service_provider = 'upstart'
|
||
|
$service_hasstatus = true
|
||
|
$service_hasrestart = false
|
||
|
$storage_config = undef
|
||
|
}
|
||
|
}
|
||
|
default: {
|
||
|
if (versioncmp($facts['facterversion'], '2.4.6') <= 0) {
|
||
|
$package_release = "debian-${facts['os']['lsb']['distcodename']}"
|
||
|
} else {
|
||
|
$package_release = "debian-${facts['os']['distro']['codename']}"
|
||
|
}
|
||
|
$service_provider = 'systemd'
|
||
|
$storage_config = '/etc/default/docker-storage'
|
||
|
$service_config_template = 'docker/etc/sysconfig/docker.systemd.epp'
|
||
|
$service_overrides_template = 'docker/etc/systemd/system/docker.service.d/service-overrides-debian.conf.epp'
|
||
|
$socket_overrides_template = 'docker/etc/systemd/system/docker.socket.d/socket-overrides.conf.epp'
|
||
|
$socket_override = false
|
||
|
$service_after_override = undef
|
||
|
$service_hasstatus = true
|
||
|
$service_hasrestart = true
|
||
|
|
||
|
include docker::systemd_reload
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$apt_source_pin_level = 500
|
||
|
$docker_group = $docker_group_default
|
||
|
$pin_upstream_package_source = true
|
||
|
$repo_opt = undef
|
||
|
$service_config = undef
|
||
|
$service_name = $service_name_default
|
||
|
$socket_group = $socket_group_default
|
||
|
$storage_setup_file = undef
|
||
|
$use_upstream_package_source = true
|
||
|
|
||
|
$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'
|
||
|
if (versioncmp($facts['facterversion'], '2.4.6') <= 0) {
|
||
|
$package_ce_release = $facts['os']['lsb']['distcodename']
|
||
|
} else {
|
||
|
$package_ce_release = $facts['os']['distro']['codename']
|
||
|
}
|
||
|
$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
|
||
|
if (versioncmp($facts['facterversion'], '2.4.6') <= 0) {
|
||
|
$package_ee_release = $facts['os']['lsb']['distcodename']
|
||
|
} else {
|
||
|
$package_ee_release = $facts['os']['distro']['codename']
|
||
|
}
|
||
|
$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_after_override = undef
|
||
|
$service_config = '/etc/sysconfig/docker'
|
||
|
$service_config_template = 'docker/etc/sysconfig/docker.systemd.epp'
|
||
|
$service_hasrestart = true
|
||
|
$service_hasstatus = true
|
||
|
$service_overrides_template = 'docker/etc/systemd/system/docker.service.d/service-overrides-rhel.conf.epp'
|
||
|
$service_provider = 'systemd'
|
||
|
$socket_override = false
|
||
|
$socket_overrides_template = 'docker/etc/systemd/system/docker.socket.d/socket-overrides.conf.epp'
|
||
|
$storage_config = '/etc/sysconfig/docker-storage'
|
||
|
$storage_setup_file = '/etc/sysconfig/docker-storage-setup'
|
||
|
$use_upstream_package_source = true
|
||
|
|
||
|
$apt_source_pin_level = undef
|
||
|
$detach_service_in_init = false
|
||
|
$package_ce_key_id = undef
|
||
|
$package_ce_key_source = 'https://download.docker.com/linux/centos/gpg'
|
||
|
$package_ce_release = undef
|
||
|
$package_ce_source_location = "https://download.docker.com/linux/centos/${facts['os']['release']['major']}/${facts['os']['architecture']}/${docker_ce_channel}"
|
||
|
$package_ee_key_id = $docker_ee_key_id
|
||
|
$package_ee_key_source = $docker_ee_key_source
|
||
|
$package_ee_package_name = $docker_ee_package_name
|
||
|
$package_ee_release = undef
|
||
|
$package_ee_repos = $docker_ee_repos
|
||
|
$package_ee_source_location = $docker_ee_source_location
|
||
|
$package_key_check_source = true
|
||
|
$package_key_id = undef
|
||
|
$package_key_source = 'https://yum.dockerproject.org/gpg'
|
||
|
$package_release = undef
|
||
|
$package_source_location = "https://yum.dockerproject.org/repo/main/centos/${facts['os']['release']['major']}"
|
||
|
$pin_upstream_package_source = undef
|
||
|
$service_name = $service_name_default
|
||
|
|
||
|
if $use_upstream_package_source {
|
||
|
$docker_group = $docker_group_default
|
||
|
$socket_group = $socket_group_default
|
||
|
} else {
|
||
|
$docker_group = 'dockerroot'
|
||
|
$socket_group = 'dockerroot'
|
||
|
}
|
||
|
$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.epp'
|
||
|
$service_config = "${facts['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
|
||
|
$socket_overrides_template = undef
|
||
|
$socket_override = false
|
||
|
$service_after_override = undef
|
||
|
$service_hasstatus = undef
|
||
|
$service_hasrestart = undef
|
||
|
$detach_service_in_init = true
|
||
|
}
|
||
|
'Suse': {
|
||
|
$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
|
||
|
$socket_overrides_template = undef
|
||
|
$socket_override = false
|
||
|
$service_after_override = undef
|
||
|
$service_hasstatus = undef
|
||
|
$service_hasrestart = undef
|
||
|
$service_provider = 'systemd'
|
||
|
$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
|
||
|
}
|
||
|
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
|
||
|
$socket_overrides_template = undef
|
||
|
$socket_override = false
|
||
|
$service_after_override = 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 = $facts['os']['family'] ? {
|
||
|
'Debian' => $facts['os']['name'] ? {
|
||
|
'Debian' => ['cgroupfs-mount',],
|
||
|
'Ubuntu' => ['cgroup-lite', 'apparmor',],
|
||
|
default => [],
|
||
|
},
|
||
|
'RedHat' => ['device-mapper'],
|
||
|
default => [],
|
||
|
}
|
||
|
|
||
|
$dependent_packages = [$docker_ce_cli_package_name, 'containerd.io',]
|
||
|
|
||
|
if($service_provider == 'systemd') {
|
||
|
# systemd v230 adds new StartLimitIntervalSec, StartLimitBurst
|
||
|
if($facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '8') < 0) {
|
||
|
$have_systemd_v230 = false
|
||
|
} elsif($facts['os']['name'] == 'Ubuntu' and versioncmp($facts['os']['release']['major'], '18.04') < 0) {
|
||
|
$have_systemd_v230 = false
|
||
|
} elsif($facts['os']['name'] == 'Debian' and versioncmp($facts['os']['release']['major'], '9') < 0) {
|
||
|
$have_systemd_v230 = false
|
||
|
} else {
|
||
|
$have_systemd_v230 = true
|
||
|
}
|
||
|
} else {
|
||
|
$have_systemd_v230 = false
|
||
|
}
|
||
|
}
|