|  | 
| 3 | 3 | # @param container_runtime | 
| 4 | 4 | #   This is the runtime that the Kubernetes cluster will use. | 
| 5 | 5 | #   It can only be set to "cri_containerd" or "docker". Defaults to cri_containerd | 
|  | 6 | +# @param kubernetes_version | 
|  | 7 | +#   The version of Kubernetes. Defaults to 1.10.2 | 
| 6 | 8 | # @param kubernetes_apt_location | 
| 7 | 9 | #   The APT repo URL for the Kubernetes packages. Defaults to https://apt.kubernetes.io | 
| 8 | 10 | # @param kubernetes_apt_release | 
|  | 
| 40 | 42 | # | 
| 41 | 43 | class kubernetes::repos ( | 
| 42 | 44 |   String $container_runtime                   = $kubernetes::container_runtime, | 
|  | 45 | +  Optional[String] $kubernetes_version        = $kubernetes::kubernetes_version, | 
| 43 | 46 |   Optional[String] $kubernetes_apt_location   = $kubernetes::kubernetes_apt_location, | 
| 44 | 47 |   Optional[String] $kubernetes_apt_release    = $kubernetes::kubernetes_apt_release, | 
| 45 | 48 |   Optional[String] $kubernetes_apt_repos      = $kubernetes::kubernetes_apt_repos, | 
|  | 
| 60 | 63 | 
 | 
| 61 | 64 | ) { | 
| 62 | 65 |   if $create_repos { | 
|  | 66 | +    $parts = split($kubernetes_version, '[.]') | 
|  | 67 | +    $minor_version = "${parts[0]}.${parts[1]}" | 
| 63 | 68 |     case $facts['os']['family'] { | 
| 64 | 69 |       'Debian': { | 
| 65 | 70 |         $codename = fact('os.distro.codename') | 
| 66 | 71 |         apt::source { 'kubernetes': | 
| 67 |  | -          location => pick($kubernetes_apt_location,'https://apt.kubernetes.io'), | 
| 68 |  | -          repos    => pick($kubernetes_apt_repos,'main'), | 
| 69 |  | -          release  => pick($kubernetes_apt_release,'kubernetes-xenial'), | 
|  | 72 | +          location => pick($kubernetes_apt_location,"https://pkgs.k8s.io/core:/stable:/v${minor_version}/deb"), | 
|  | 73 | +          repos    => '', | 
|  | 74 | +          release  => pick($kubernetes_apt_release,'/'), | 
| 70 | 75 |           key      => { | 
| 71 |  | -            'id'     => pick($kubernetes_key_id,'A362B822F6DEDC652817EA46B53DC80D13EDEF05'), | 
| 72 |  | -            'source' => pick($kubernetes_key_source,'https://packages.cloud.google.com/apt/doc/apt-key.gpg'), | 
|  | 76 | +            'id'     => pick($kubernetes_key_id,'DE15B14486CD377B9E876E1A234654DA9A296436'), | 
|  | 77 | +            'source' => pick($kubernetes_key_source,"https://pkgs.k8s.io/core:/stable:/v${minor_version}/deb/Release.key"), | 
| 73 | 78 |           }, | 
| 74 | 79 |         } | 
| 75 | 80 | 
 | 
|  | 
0 commit comments