mirror of
https://github.com/yannh/kubeconform.git
synced 2026-02-24 04:07:02 +00:00
fix validation logic - only first resource with a missing schema was reported
This commit is contained in:
parent
f7b7d9c3b0
commit
6655204442
1 changed files with 12 additions and 11 deletions
23
main.go
23
main.go
|
|
@ -98,26 +98,27 @@ func ValidateStream(r io.Reader, regs []registry.Registry, k8sVersion string, c
|
||||||
cacheKey = cache.Key(sig.Kind, sig.Version, k8sVersion)
|
cacheKey = cache.Key(sig.Kind, sig.Version, k8sVersion)
|
||||||
schema, ok = c.Get(cacheKey)
|
schema, ok = c.Get(cacheKey)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !ok {
|
if !ok {
|
||||||
schema, err = downloadSchema(regs, sig.Kind, sig.Version, k8sVersion)
|
schema, err = downloadSchema(regs, sig.Kind, sig.Version, k8sVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
validationResults = append(validationResults, validationResult{kind: sig.Kind, version: sig.Version, err: err, skipped: false})
|
validationResults = append(validationResults, validationResult{kind: sig.Kind, version: sig.Version, err: err, skipped: false})
|
||||||
continue
|
continue
|
||||||
} else if schema == nil { // skip if no schema was found, but there was no error TODO: Fail by default, provide a -skip-missing-schema
|
}
|
||||||
if ignoreMissingSchemas {
|
|
||||||
validationResults = append(validationResults, validationResult{kind: sig.Kind, version: sig.Version, err: nil, skipped: true})
|
if c != nil {
|
||||||
} else {
|
|
||||||
validationResults = append(validationResults, validationResult{kind: sig.Kind, version: sig.Version, err: fmt.Errorf("could not find schema for %s", sig.Kind), skipped: false})
|
|
||||||
}
|
|
||||||
if c != nil {
|
|
||||||
c.Set(cacheKey, nil)
|
|
||||||
}
|
|
||||||
continue
|
|
||||||
} else if c != nil {
|
|
||||||
c.Set(cacheKey, schema)
|
c.Set(cacheKey, schema)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if schema == nil {
|
||||||
|
if ignoreMissingSchemas {
|
||||||
|
validationResults = append(validationResults, validationResult{kind: sig.Kind, version: sig.Version, err: nil, skipped: true})
|
||||||
|
} else {
|
||||||
|
validationResults = append(validationResults, validationResult{kind: sig.Kind, version: sig.Version, err: fmt.Errorf("could not find schema for %s", sig.Kind), skipped: false})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
err = validator.Validate(rawResource, schema)
|
err = validator.Validate(rawResource, schema)
|
||||||
validationResults = append(validationResults, validationResult{kind: sig.Kind, version: sig.Version, err: err})
|
validationResults = append(validationResults, validationResult{kind: sig.Kind, version: sig.Version, err: err})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue