Puppet Class: docker::install
- Defined in:
- manifests/install.pp
Overview
Class: docker
Module to install an up-to-date version of Docker from a package repository. This module works only on Debian and Red Hat based distributions.
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 |
# File 'manifests/install.pp', line 6
class docker::install {
$docker_start_command = $docker::docker_start_command
if $::osfamily {
assert_type(Pattern[/^(Debian|RedHat)$/], $::osfamily) |$a, $b| {
fail translate(('This module only works on Debian or RedHat.'))
}
}
if $docker::version and $docker::ensure != 'absent' {
$ensure = $docker::version
} else {
$ensure = $docker::ensure
}
if $docker::manage_package {
if empty($docker::repo_opt) {
$docker_hash = {}
} else {
$docker_hash = { 'install_options' => $docker::repo_opt }
}
if $docker::package_source {
case $::osfamily {
'Debian' : {
$pk_provider = 'dpkg'
}
'RedHat' : {
$pk_provider = 'rpm'
}
default : {
$pk_provider = undef
}
}
case $docker::package_source {
/docker-engine/ : {
ensure_resource('package', 'docker', merge($docker_hash, {
ensure => $ensure,
provider => $pk_provider,
source => $docker::package_source,
name => $docker::docker_engine_package_name,
}))
}
/docker-ce/ : {
ensure_resource('package', 'docker', merge($docker_hash, {
ensure => $ensure,
provider => $pk_provider,
source => $docker::package_source,
name => $docker::docker_ce_package_name,
}))
}
default : {}
}
} else {
ensure_resource('package', 'docker', merge($docker_hash, {
ensure => $ensure,
name => $docker::docker_package_name,
}))
}
}
}
|