1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'manifests/image.pp', line 1
define docker::image(
$ensure = 'present',
$image = $title,
$tagImage = undef
) {
if $ensure == "absent" {
if $tag {
$rmi = "/usr/bin/docker rmi -f ${image}:${tagImage}"
$findImage = "/usr/bin/docker images | egrep '^(docker.io/)?${image} ' | awk '{ print \$2 }' | grep ^${tagImage}$"
} else {
$rmi = "/usr/bin/docker rmi -f ${image}"
$findImage = "/usr/bin/docker images | cut -d ' ' -f 1 | egrep '^(docker\\.io/)?${image}$'"
}
exec { $rmi:
path => ['/bin', '/usr/bin'],
onlyif => $findImage,
timeout => 0,
}
} elsif $ensure == "present" {
exec { 'docker-pull':
command => "/usr/bin/docker pull ${image}:${tagImage}"
}
}
}
|