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
105
106
107
108
109
110
111
|
# File 'manifests/repos.pp', line 41
class kubernetes::repos (
String $container_runtime = $kubernetes::container_runtime,
Optional[String] $kubernetes_apt_location = $kubernetes::kubernetes_apt_location,
Optional[String] $kubernetes_apt_release = $kubernetes::kubernetes_apt_release,
Optional[String] $kubernetes_apt_repos = $kubernetes::kubernetes_apt_repos,
Optional[String] $kubernetes_key_id = $kubernetes::kubernetes_key_id,
Optional[String] $kubernetes_key_source = $kubernetes::kubernetes_key_source,
Optional[String] $kubernetes_yum_baseurl = $kubernetes::kubernetes_yum_baseurl,
Optional[String] $kubernetes_yum_gpgkey = $kubernetes::kubernetes_yum_gpgkey,
Optional[String] $docker_apt_location = $kubernetes::docker_apt_location,
Optional[String] $docker_apt_release = $kubernetes::docker_apt_release,
Optional[String] $docker_apt_repos = $kubernetes::docker_apt_repos,
Optional[String] $docker_yum_baseurl = $kubernetes::docker_yum_baseurl,
Optional[String] $docker_yum_gpgkey = $kubernetes::docker_yum_gpgkey,
Optional[String] $docker_key_id = $kubernetes::docker_key_id,
Optional[String] $docker_key_source = $kubernetes::docker_key_source,
Optional[String] $containerd_install_method = $kubernetes::containerd_install_method,
Boolean $manage_docker = $kubernetes::manage_docker,
Boolean $create_repos = $kubernetes::create_repos,
) {
if $create_repos {
case $facts['os']['family'] {
'Debian': {
$codename = fact('os.distro.codename')
apt::source { 'kubernetes':
location => pick($kubernetes_apt_location,'https://apt.kubernetes.io'),
repos => pick($kubernetes_apt_repos,'main'),
release => pick($kubernetes_apt_release,'kubernetes-xenial'),
key => {
'id' => pick($kubernetes_key_id,'A362B822F6DEDC652817EA46B53DC80D13EDEF05'),
'source' => pick($kubernetes_key_source,'https://packages.cloud.google.com/apt/doc/apt-key.gpg'),
},
}
if ($container_runtime == 'docker' and $manage_docker == true) or
($container_runtime == 'cri_containerd' and $containerd_install_method == 'package') {
apt::source { 'docker':
location => pick($docker_apt_location,'https://download.docker.com/linux/ubuntu/'),
repos => pick($docker_apt_repos,'stable'),
release => pick($docker_apt_release,$codename),
key => {
'id' => pick($docker_key_id,'9DC858229FC7DD38854AE2D88D81803C0EBFCD88'),
'source' => pick($docker_key_source,'https://download.docker.com/linux/ubuntu/gpg'),
},
}
}
}
'RedHat': {
if ($container_runtime == 'docker' and $manage_docker == true) or
($container_runtime == 'cri_containerd' and $containerd_install_method == 'package') {
yumrepo { 'docker':
descr => 'docker',
baseurl => pick($docker_yum_baseurl,'https://download.docker.com/linux/centos/7/x86_64/stable'),
gpgkey => pick($docker_yum_gpgkey,'https://download.docker.com/linux/centos/gpg'),
gpgcheck => true,
}
}
yumrepo { 'kubernetes':
descr => 'Kubernetes',
baseurl => pick($kubernetes_yum_baseurl,'https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64'),
gpgkey => pick($kubernetes_yum_gpgkey,'https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg'),
gpgcheck => true,
}
}
default: { notify { "The OS family ${facts['os']['family']} is not supported by this module": } }
}
}
}
|