mirror of
https://github.com/aquasecurity/trivy.git
synced 2025-12-21 23:00:42 -08:00
65 lines
1.7 KiB
Go
65 lines
1.7 KiB
Go
package artifact
|
|
|
|
import (
|
|
"context"
|
|
"sort"
|
|
|
|
"github.com/aquasecurity/trivy/pkg/fanal/analyzer"
|
|
"github.com/aquasecurity/trivy/pkg/fanal/types"
|
|
"github.com/aquasecurity/trivy/pkg/fanal/walker"
|
|
"github.com/aquasecurity/trivy/pkg/misconf"
|
|
)
|
|
|
|
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
|
|
Insecure bool
|
|
Offline bool
|
|
AppDirs []string
|
|
SBOMSources []string
|
|
RekorURL string
|
|
Slow bool // Lower CPU and memory
|
|
AWSRegion string
|
|
FileChecksum bool // For SPDX
|
|
|
|
// Git repositories
|
|
RepoBranch string
|
|
RepoCommit string
|
|
RepoTag string
|
|
|
|
// For image scanning
|
|
ImageOption types.ImageOptions
|
|
|
|
MisconfScannerOption misconf.ScannerOption
|
|
SecretScannerOption analyzer.SecretScannerOption
|
|
LicenseScannerOption analyzer.LicenseScannerOption
|
|
|
|
// File walk
|
|
WalkOption WalkOption
|
|
}
|
|
|
|
// WalkOption is a struct that allows users to define a custom walking behavior.
|
|
// This option is only available when using Trivy as an imported library and not through CLI flags.
|
|
type WalkOption struct {
|
|
ErrorCallback walker.ErrorCallback
|
|
}
|
|
|
|
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
|
|
}
|