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
|
# File 'manifests/params.pp', line 5
class dockerinstall::params {
if $facts['systemd'] {
$service_config_template = 'dockerinstall/docker.systemd.erb'
}
else {
$service_config_template = 'dockerinstall/docker.upstart.erb'
}
$docker_plugins_dir = '/usr/libexec/docker/cli-plugins'
# predefined Docker Compose version - could be overriden with dockerinstall::compose_version
$compose_version = '2.10.2'
$compose_download_source = 'https://github.com/docker/compose/releases/download'
# docker compose project provides binaries only for x86_64 architecture
# for Windows, Linux and Darwin
# see https://github.com/docker/compose/releases
$compose_download_name = 'docker-compose-Linux-x86_64'
$composev2_download_name = 'docker-compose-linux-x86_64'
$compose_checksum_command = 'sha256sum'
$download_tmpdir = '/tmp'
$compose_binary_path = '/usr/local/bin/docker-compose'
$compose_rundir = '/run/compose'
$compose_plugin_path = "${docker_plugins_dir}/docker-compose"
case $facts['os']['family'] {
'Debian': {
case $facts['os']['name'] {
'Ubuntu': {
$repo_os = 'ubuntu'
# case $facts['os']['release']['major'] {
# # Ubuntu 20.04
# '20.04': {
# }
# default: {
# }
# }
}
default: {
$repo_os = 'debian'
}
}
$service_config = '/etc/default/docker'
$storage_config = '/etc/default/docker-storage'
}
# default is RedHat based systems (CentOS)
default: {
$repo_os = $facts['os']['name'] ? {
'Fedora' => 'fedora',
default => 'centos',
}
$service_config = '/etc/sysconfig/docker'
$storage_config = '/etc/sysconfig/docker-storage'
}
}
$compose_libdir = '/var/lib/compose'
# Client authentication
if $facts['puppet_sslpaths'] {
$certdir = $facts['puppet_sslpaths']['certdir']['path']
$privatekeydir = $facts['puppet_sslpaths']['privatekeydir']['path']
}
else {
# fallback to predefined
$certdir = '/etc/puppetlabs/puppet/ssl/certs'
$privatekeydir = '/etc/puppetlabs/puppet/ssl/private_keys'
}
if $facts['clientcert'] {
$certname = $facts['clientcert']
}
else {
# fallback to fqdn
$certname = $facts['fqdn']
}
$localcacert = "${certdir}/ca.pem"
# https://puppet.com/docs/puppet/5.3/lang_facts_and_builtin_vars.html#puppet-agent-facts
$hostcert = "${certdir}/${certname}.pem"
$hostprivkey = "${privatekeydir}/${certname}.pem"
# Swarm data
$swarm = $facts['docker_swarm']
if $swarm {
$swarm_enabled = ($swarm['LocalNodeState'] == 'active')
}
else {
$swarm_enabled = undef
}
if $swarm_enabled {
$is_swarm_manager = $swarm['ControlAvailable']
}
else {
$is_swarm_manager = undef
}
$docker_tlsdir = '/etc/docker/tls'
}
|