{{ if ne .Vars.OS "windows"}} kubernetes_version: &kubernetes_version versions: or: - contain-element: match-regexp: "^\\Q{{ .Vars.kubernetes_deb_version }}\\E$" - contain-element: match-regexp: "^\\Q{{ .Vars.kubernetes_rpm_version }}\\E$" kubernetes_cni_version: &kubernetes_cni_version versions: or: - contain-element: match-regexp: "^\\Q{{ .Vars.kubernetes_cni_deb_version }}\\E$" - contain-element: match-regexp: "^\\Q{{ .Vars.kubernetes_cni_rpm_version }}\\E$" package: # Flatcar uses Ignition instead of cloud-init {{if ne .Vars.OS "flatcar"}} cloud-init: installed: true {{end}} ntp: installed: false {{if eq .Vars.kubernetes_source_type "pkg"}} kubeadm: installed: true <<: *kubernetes_version kubelet: installed: true <<: *kubernetes_version kubectl: installed: true <<: *kubernetes_version {{end}} {{if eq .Vars.kubernetes_cni_source_type "pkg"}} kubernetes-cni: installed: true <<: *kubernetes_cni_version {{end}} # Looping over common packages for an OS {{range $name, $vers := index .Vars .Vars.OS "common-package"}} {{$name}}: installed: true {{range $key, $val := $vers}} {{$key}}: {{$val}} {{end}} {{end}} # Looping over provider specific packages for an OS {{range $name, $vers := index .Vars .Vars.OS .Vars.PROVIDER "package"}} {{$name}}: installed: true {{range $key, $val := $vers}} {{$key}}: {{$val}} {{end}} {{end}} # Iterate thru different OS Versions like RHEL7/8, Photon 3/4(future) etc. {{$distro_version := .Vars.OS_VERSION}} {{range $component := index .Vars .Vars.OS .Vars.PROVIDER "os_version"}} {{if eq $distro_version (index $component "distro_version")}} {{ range $name, $vers := index $component "package"}} {{$name}}: installed: true {{range $key, $val := $vers}} {{$key}}: {{$val}} {{end}} {{end}} {{end}} {{end}} {{end}} {{ if eq .Vars.OS "windows"}} # Windows # Workaround until windows features are added to goss command: {{range $name, $vers := index .Vars .Vars.OS "common-windows-features"}} "Windows Feature - {{ $name }}": exec: powershell -command "(Get-WindowsFeature {{ $name }} | select *)" exit-status: 0 stdout: {{range $vers.expected}} - {{.}} timeout: 60000 {{end}} {{end}} {{end}}