@@ -98,26 +98,27 @@ func ValidateStream(r io.Reader, regs []registry.Registry, k8sVersion string, c
9898 cacheKey = cache .Key (sig .Kind , sig .Version , k8sVersion )
9999 schema , ok = c .Get (cacheKey )
100100 }
101+
101102 if ! ok {
102103 schema , err = downloadSchema (regs , sig .Kind , sig .Version , k8sVersion )
103104 if err != nil {
104105 validationResults = append (validationResults , validationResult {kind : sig .Kind , version : sig .Version , err : err , skipped : false })
105106 continue
106- } else if schema == nil { // skip if no schema was found, but there was no error TODO: Fail by default, provide a -skip-missing-schema
107- if ignoreMissingSchemas {
108- validationResults = append (validationResults , validationResult {kind : sig .Kind , version : sig .Version , err : nil , skipped : true })
109- } else {
110- validationResults = append (validationResults , validationResult {kind : sig .Kind , version : sig .Version , err : fmt .Errorf ("could not find schema for %s" , sig .Kind ), skipped : false })
111- }
112- if c != nil {
113- c .Set (cacheKey , nil )
114- }
115- continue
116- } else if c != nil {
107+ }
108+
109+ if c != nil {
117110 c .Set (cacheKey , schema )
118111 }
119112 }
120113
114+ if schema == nil {
115+ if ignoreMissingSchemas {
116+ validationResults = append (validationResults , validationResult {kind : sig .Kind , version : sig .Version , err : nil , skipped : true })
117+ } else {
118+ validationResults = append (validationResults , validationResult {kind : sig .Kind , version : sig .Version , err : fmt .Errorf ("could not find schema for %s" , sig .Kind ), skipped : false })
119+ }
120+ }
121+
121122 err = validator .Validate (rawResource , schema )
122123 validationResults = append (validationResults , validationResult {kind : sig .Kind , version : sig .Version , err : err })
123124 }
0 commit comments