Files
aquasecurity-trivy/pkg/fanal/artifact/artifact.go
2022-09-15 20:16:39 +03:00

46 lines
1.1 KiB
Go

package artifact
import (
"context"
"sort"
"github.com/aquasecurity/trivy/pkg/fanal/analyzer"
misconf "github.com/aquasecurity/trivy/pkg/fanal/analyzer/config"
"github.com/aquasecurity/trivy/pkg/fanal/types"
)
type Option struct {
AnalyzerGroup analyzer.Group // It is empty in OSS
DisabledAnalyzers []analyzer.Type
DisabledHandlers []types.HandlerType
SkipFiles []string
SkipDirs []string
FilePatterns []string
NoProgress bool
Offline bool
InsecureSkipTLS bool
AppDirs []string
RepoBranch string
RepoCommit string
RepoTag string
SBOMSources []string
RekorURL string
MisconfScannerOption misconf.ScannerOption
SecretScannerOption analyzer.SecretScannerOption
}
func (o *Option) Sort() {
sort.Slice(o.DisabledAnalyzers, func(i, j int) bool {
return o.DisabledAnalyzers[i] < o.DisabledAnalyzers[j]
})
sort.Strings(o.SkipFiles)
sort.Strings(o.SkipDirs)
sort.Strings(o.FilePatterns)
}
type Artifact interface {
Inspect(ctx context.Context) (reference types.ArtifactReference, err error)
Clean(reference types.ArtifactReference) error
}