ClusterAPI.imageBuilder/packer/goss/goss-package.yaml
Danny Bessems f2b0a5e7c7
Some checks failed
continuous-integration/drone Build is failing
Test dependencies
2023-02-22 21:24:42 +01:00

87 lines
2.3 KiB
YAML

{{ 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}}