mirror of
https://github.com/yannh/kubeconform.git
synced 2026-02-20 10:27:02 +00:00
fix bug - cache was not being used
This commit is contained in:
parent
6657ae9fd1
commit
cee6971ee9
1 changed files with 28 additions and 26 deletions
54
main.go
54
main.go
|
|
@ -95,7 +95,7 @@ func ValidateStream(r io.Reader, regs []registry.Registry, k8sVersion string, c
|
||||||
cacheKey := ""
|
cacheKey := ""
|
||||||
|
|
||||||
if c != nil {
|
if c != nil {
|
||||||
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 {
|
||||||
|
|
@ -156,6 +156,23 @@ func skipKindsMap(skipKindsCSV string) map[string]bool {
|
||||||
return skipKinds
|
return skipKinds
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func processResults(o output.Output, validationResults chan []validationResult, result chan<- bool ) {
|
||||||
|
success := true
|
||||||
|
for results := range validationResults {
|
||||||
|
for _, result := range results {
|
||||||
|
if result.err != nil {
|
||||||
|
success = false
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := o.Write(result.filename, result.kind, result.version, result.err, result.skipped); err != nil {
|
||||||
|
fmt.Fprint(os.Stderr, "failed writing log\n")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
result <- success
|
||||||
|
}
|
||||||
|
|
||||||
func realMain() int {
|
func realMain() int {
|
||||||
var files, dirs, schemas arrayParam
|
var files, dirs, schemas arrayParam
|
||||||
var skipKindsCSV, k8sVersion, outputFormat string
|
var skipKindsCSV, k8sVersion, outputFormat string
|
||||||
|
|
@ -175,12 +192,6 @@ func realMain() int {
|
||||||
flag.BoolVar(&verbose, "verbose", false, "print results for all resources")
|
flag.BoolVar(&verbose, "verbose", false, "print results for all resources")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
var o output.Output
|
|
||||||
if o, err = getLogger(outputFormat, summary, verbose); err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
skipKinds := skipKindsMap(skipKindsCSV)
|
skipKinds := skipKindsMap(skipKindsCSV)
|
||||||
|
|
||||||
filter := func(signature resource.Signature) bool {
|
filter := func(signature resource.Signature) bool {
|
||||||
|
|
@ -213,25 +224,16 @@ func realMain() int {
|
||||||
close(fileBatches)
|
close(fileBatches)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|
||||||
|
var o output.Output
|
||||||
|
if o, err = getLogger(outputFormat, summary, verbose); err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
res := make (chan bool)
|
||||||
validationResults := make(chan []validationResult)
|
validationResults := make(chan []validationResult)
|
||||||
var logWG sync.WaitGroup
|
go processResults(o, validationResults, res)
|
||||||
logWG.Add(1)
|
|
||||||
|
|
||||||
success := true
|
|
||||||
go func() {
|
|
||||||
defer logWG.Done()
|
|
||||||
for results := range validationResults {
|
|
||||||
for _, result := range results {
|
|
||||||
if result.err != nil {
|
|
||||||
success = false
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = o.Write(result.filename, result.kind, result.version, result.err, result.skipped); err != nil {
|
|
||||||
fmt.Fprint(os.Stderr, "failed writing log\n")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
c := cache.New()
|
c := cache.New()
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
|
|
@ -262,7 +264,7 @@ func realMain() int {
|
||||||
|
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
close(validationResults)
|
close(validationResults)
|
||||||
logWG.Wait()
|
success := <-res
|
||||||
if err = o.Flush(); err != nil {
|
if err = o.Flush(); err != nil {
|
||||||
fmt.Fprint(os.Stderr, "failed flushing output")
|
fmt.Fprint(os.Stderr, "failed flushing output")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue