Left: | ||
Right: |
OLD | NEW |
---|---|
(Empty) | |
1 # == Class: docker | |
2 # | |
3 # Install docker (https://www.docker.com/) | |
4 # | |
5 # == Parameters: | |
6 # | |
7 # [*source*] | |
8 # Overwrite the default apt::source used (given Class['apt'] is defined). | |
9 # | |
10 # [*package*] | |
11 # Overwrite the default package options, to fine-tune the target version (i.e. | |
12 # ensure => 'latest') or remove Fluentd (ensure => 'absent' or 'purged') | |
f.nicolaisen
2017/01/06 14:37:47
copy paste waste
f.lopez
2017/01/06 14:46:23
Acknowledged.
| |
13 # | |
14 # === Examples: | |
15 # | |
16 # class {'docker': | |
17 # package => { | |
18 # ensure => 'latest', | |
19 # }, | |
20 # source => { | |
21 # location => 'https://apt.dockerproject.org/repo', | |
22 # release => downcase("$::osfamily-$::lsbdistcodename"), | |
23 # include_src => false, | |
24 # key => '58118E89F3A912897C070ADBF76221572C52609D', | |
25 # key_server => 'hkp://ha.pool.sks-keyservers.net:80', | |
26 # } | |
27 # } | |
28 # | |
29 class docker( | |
30 $source = hiera('docker::source', {}), | |
31 $package = hiera('docker::package', {}), | |
32 ) { | |
33 | |
34 include stdlib | |
35 | |
36 ensure_resource('package', $title, merge({ | |
37 name => 'docker-engine', | |
38 }, $package)) | |
39 | |
40 # Used as default $ensure parameter for most resources below | |
41 $ensure = getparam(Package[$title], 'ensure') ? { | |
42 /^(absent|purged|held)$/ => 'absent', | |
43 default => 'present', | |
44 } | |
45 | |
46 # Using ensure_*state functions | |
47 if ensure_state($ensure) { | |
48 | |
49 service {'docker': | |
50 ensure => running, | |
51 require => Package['docker-engine'], | |
52 } | |
53 | |
54 } | |
55 | |
56 # The only package provider recognized implicitly | |
57 if getparam(Package[$title], 'provider') == 'apt' { | |
58 | |
59 ensure_resource('apt::source', $title, merge({ | |
60 before => Package['docker-engine'], | |
61 location => 'https://apt.dockerproject.org/repo', | |
62 release => downcase("$::osfamily-$::lsbdistcodename"), | |
63 include_src => false, | |
64 key => '58118E89F3A912897C070ADBF76221572C52609D', | |
65 key_server => 'hkp://ha.pool.sks-keyservers.net:80', | |
66 }, $source)) | |
67 | |
68 Apt::Source[$title] -> Package[$title] | |
69 } | |
70 } | |
71 | |
OLD | NEW |