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