github.com/anchore/syft@v1.38.2/syft/cataloging/pkgcataloging/config.go (about) 1 package pkgcataloging 2 3 import ( 4 "github.com/anchore/syft/syft/pkg/cataloger/binary" 5 "github.com/anchore/syft/syft/pkg/cataloger/dotnet" 6 "github.com/anchore/syft/syft/pkg/cataloger/golang" 7 "github.com/anchore/syft/syft/pkg/cataloger/java" 8 "github.com/anchore/syft/syft/pkg/cataloger/javascript" 9 "github.com/anchore/syft/syft/pkg/cataloger/kernel" 10 "github.com/anchore/syft/syft/pkg/cataloger/nix" 11 "github.com/anchore/syft/syft/pkg/cataloger/python" 12 ) 13 14 type Config struct { 15 Binary binary.ClassifierCatalogerConfig `yaml:"binary" json:"binary" mapstructure:"binary"` 16 Dotnet dotnet.CatalogerConfig `yaml:"dotnet" json:"dotnet" mapstructure:"dotnet"` 17 Golang golang.CatalogerConfig `yaml:"golang" json:"golang" mapstructure:"golang"` 18 JavaArchive java.ArchiveCatalogerConfig `yaml:"java-archive" json:"java-archive" mapstructure:"java-archive"` 19 JavaScript javascript.CatalogerConfig `yaml:"javascript" json:"javascript" mapstructure:"javascript"` 20 LinuxKernel kernel.LinuxKernelCatalogerConfig `yaml:"linux-kernel" json:"linux-kernel" mapstructure:"linux-kernel"` 21 Nix nix.Config `yaml:"nix" json:"nix" mapstructure:"nix"` 22 Python python.CatalogerConfig `yaml:"python" json:"python" mapstructure:"python"` 23 } 24 25 func DefaultConfig() Config { 26 return Config{ 27 Binary: binary.DefaultClassifierCatalogerConfig(), 28 Dotnet: dotnet.DefaultCatalogerConfig(), 29 Golang: golang.DefaultCatalogerConfig(), 30 JavaArchive: java.DefaultArchiveCatalogerConfig(), 31 LinuxKernel: kernel.DefaultLinuxKernelCatalogerConfig(), 32 Nix: nix.DefaultConfig(), 33 Python: python.DefaultCatalogerConfig(), 34 } 35 } 36 37 func (c Config) WithNixConfig(cfg nix.Config) Config { 38 c.Nix = cfg 39 return c 40 } 41 42 func (c Config) WithBinaryConfig(cfg binary.ClassifierCatalogerConfig) Config { 43 c.Binary = cfg 44 return c 45 } 46 47 func (c Config) WithDotnetConfig(cfg dotnet.CatalogerConfig) Config { 48 c.Dotnet = cfg 49 return c 50 } 51 52 func (c Config) WithGolangConfig(cfg golang.CatalogerConfig) Config { 53 c.Golang = cfg 54 return c 55 } 56 57 func (c Config) WithJavascriptConfig(cfg javascript.CatalogerConfig) Config { 58 c.JavaScript = cfg 59 return c 60 } 61 62 func (c Config) WithLinuxKernelConfig(cfg kernel.LinuxKernelCatalogerConfig) Config { 63 c.LinuxKernel = cfg 64 return c 65 } 66 67 func (c Config) WithPythonConfig(cfg python.CatalogerConfig) Config { 68 c.Python = cfg 69 return c 70 } 71 72 func (c Config) WithJavaArchiveConfig(cfg java.ArchiveCatalogerConfig) Config { 73 c.JavaArchive = cfg 74 return c 75 }