mirror of
https://github.com/yannh/kubeconform.git
synced 2026-02-11 14:09:21 +00:00
* feat: add pretty output format --------- Co-authored-by: William Yardley <wyardley@users.noreply.github.com>
32 lines
817 B
Go
32 lines
817 B
Go
package output
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/yannh/kubeconform/pkg/validator"
|
|
)
|
|
|
|
type Output interface {
|
|
Write(validator.Result) error
|
|
Flush() error
|
|
}
|
|
|
|
func New(outputFormat string, printSummary, isStdin, verbose bool) (Output, error) {
|
|
w := os.Stdout
|
|
|
|
switch {
|
|
case outputFormat == "json":
|
|
return jsonOutput(w, printSummary, isStdin, verbose), nil
|
|
case outputFormat == "junit":
|
|
return junitOutput(w, printSummary, isStdin, verbose), nil
|
|
case outputFormat == "pretty":
|
|
return prettyOutput(w, printSummary, isStdin, verbose), nil
|
|
case outputFormat == "tap":
|
|
return tapOutput(w, printSummary, isStdin, verbose), nil
|
|
case outputFormat == "text":
|
|
return textOutput(w, printSummary, isStdin, verbose), nil
|
|
default:
|
|
return nil, fmt.Errorf("`outputFormat` must be 'json', 'tap' or 'text'")
|
|
}
|
|
}
|