Puppet Class: kubeinstall::repos::crio

Inherits:
kubeinstall::params
Defined in:
manifests/repos/crio.pp

Summary

CRI-O repository setup

Overview

CRI-O repository setup

Examples:

include kubeinstall::repos::crio

Parameters:

  • kuberel (Kubeinstall::Release) (defaults to: $kubeinstall::kubernetes_release)


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/repos/crio.pp', line 7

class kubeinstall::repos::crio (
  Kubeinstall::Release
          $kuberel = $kubeinstall::kubernetes_release,
) inherits kubeinstall::params
{
  # https://kubernetes.io/docs/setup/production-environment/container-runtimes/#cri-o
  $osname = $facts['os']['name']
  $osmaj  = $facts['os']['release']['major']
  $centos_stream = $kubeinstall::params::centos_stream

  if $osname == 'CentOS' {
    if $centos_stream {
      $os = "${osname}_${osmaj}_Stream"
    }
    else {
      $os = "${osname}_${osmaj}"
    }

    yumrepo { 'devel_kubic_libcontainers_stable':
      ensure   => 'present',
      baseurl  => "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/${os}/",
      descr    => "Stable Releases of Upstream github.com/containers packages (${os})",
      enabled  => '1',
      gpgcheck => '1',
      gpgkey   => "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/${os}/repodata/repomd.xml.key",
    }

    yumrepo { "devel_kubic_libcontainers_stable_cri-o_${kuberel}":
      ensure   => 'present',
      baseurl  => "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/${kuberel}/${os}/",
      descr    => "devel:kubic:libcontainers:stable:cri-o:${kuberel} (${os})",
      enabled  => '1',
      gpgcheck => '1',
      gpgkey   => "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/${kuberel}/${os}/repodata/repomd.xml.key",
    }
  }
  elsif $osname == 'Ubuntu' {
    $os = "x${osname}_${osmaj}"

    # https://github.com/cri-o/cri-o/blob/main/install.md#apt-based-operating-systems
    apt::source { 'devel:kubic:libcontainers:stable':
      comment  => 'packaged versions of CRI-O',
      location => "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/${os}/",
      repos    => '/',
      key      => {
        id     => '2472D6D0D2F66AF87ABA8DA34D64390375060AA4',
        source => "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/${os}/Release.key",
      }
    }

    apt::source { "devel:kubic:libcontainers:stable:cri-o:${kuberel}":
      comment  => "packaged versions of CRI-O for Kubernetes ${kuberel}",
      location => "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/${kuberel}/${os}/",
      repos    => '/',
      key      => {
        id     => '2472D6D0D2F66AF87ABA8DA34D64390375060AA4',
        source => "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/${os}/Release.key",
      }
    }
  }
}