This commit is contained in:
86
packer/goss/goss-package.yaml
Normal file
86
packer/goss/goss-package.yaml
Normal file
@ -0,0 +1,86 @@
|
||||
{{ 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}}
|
Reference in New Issue
Block a user