mirror of
https://github.com/anchore/syft.git
synced 2026-11-05 00:46:38 +01:00
feat: add support for Bitnami cataloguer (#3341)
* prototype: start bitnami cataloger Bitnami images have spdx SBOMs at predictable paths, and Syft could more accurately identify the software in these images by scanning those SBOMs. Start work on this by forking the sbom-cataloger as a new bitnami-cataloger. Signed-off-by: Will Murphy <willmurphyscode@users.noreply.github.com> * wire up bitnami cataloger to run on images by default Signed-off-by: Will Murphy <willmurphyscode@users.noreply.github.com> * feat: add support for Bitnami cataloguer Signed-off-by: juan131 <jariza@vmware.com> * feat: use a better SPDX sample for unit tests Signed-off-by: juan131 <jariza@vmware.com> * bugfix: only report bitnami pkgs Signed-off-by: juan131 <jariza@vmware.com> * feat: adapt JSON schema, spdxutil and packagemetadata Signed-off-by: juan131 <jariza@vmware.com> * bugfix: integration tests Signed-off-by: juan131 <jariza@vmware.com> * feat: implement FileOwner interface Signed-off-by: juan131 <jariza@vmware.com> * bugfix: update json schema Signed-off-by: juan131 <jariza@vmware.com> * [wip] add bitnami owned files and fix binary package ownership filtering Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * feat: obtain bitnami pkg files based on SPDX relationships tree Signed-off-by: juan131 <jariza@vmware.com> * preserve type switches Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * rename bitnami entry metadata type Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * restrict find main pkg logic Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * add missing graalvm source info Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * bugfix: integration tests Signed-off-by: juan131 <jariza@vmware.com> * bugfix: mod tidy Signed-off-by: juan131 <jariza@vmware.com> --------- Signed-off-by: Will Murphy <willmurphyscode@users.noreply.github.com> Signed-off-by: juan131 <jariza@vmware.com> Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> Co-authored-by: Will Murphy <willmurphyscode@users.noreply.github.com> Co-authored-by: Alex Goodman <wagoodman@users.noreply.github.com>
This commit is contained in:
co-authored by
Will Murphy
Alex Goodman
parent
869908ece1
commit
bffe26bcc5
+21
-14
@@ -13,6 +13,7 @@ const (
|
||||
AlpmPkg Type = "alpm"
|
||||
ApkPkg Type = "apk"
|
||||
BinaryPkg Type = "binary"
|
||||
BitnamiPkg Type = "bitnami"
|
||||
CocoapodsPkg Type = "pod"
|
||||
ConanPkg Type = "conan"
|
||||
DartPubPkg Type = "dart-pub"
|
||||
@@ -53,6 +54,7 @@ var AllPkgs = []Type{
|
||||
AlpmPkg,
|
||||
ApkPkg,
|
||||
BinaryPkg,
|
||||
BitnamiPkg,
|
||||
CocoapodsPkg,
|
||||
ConanPkg,
|
||||
DartPubPkg,
|
||||
@@ -62,6 +64,7 @@ var AllPkgs = []Type{
|
||||
GemPkg,
|
||||
GithubActionPkg,
|
||||
GithubActionWorkflowPkg,
|
||||
GraalVMNativeImagePkg,
|
||||
GoModulePkg,
|
||||
HackagePkg,
|
||||
HexPkg,
|
||||
@@ -96,6 +99,8 @@ func (t Type) PackageURLType() string {
|
||||
return "alpm"
|
||||
case ApkPkg:
|
||||
return packageurl.TypeAlpine
|
||||
case BitnamiPkg:
|
||||
return packageurl.TypeBitnami
|
||||
case CocoapodsPkg:
|
||||
return packageurl.TypeCocoapods
|
||||
case ConanPkg:
|
||||
@@ -177,28 +182,20 @@ func TypeFromPURL(p string) Type {
|
||||
//nolint:funlen,gocyclo
|
||||
func TypeByName(name string) Type {
|
||||
switch name {
|
||||
case packageurl.TypeDebian:
|
||||
return DebPkg
|
||||
case packageurl.TypeRPM:
|
||||
return RpmPkg
|
||||
case packageurl.TypeLuaRocks:
|
||||
return LuaRocksPkg
|
||||
case "alpm":
|
||||
return AlpmPkg
|
||||
case packageurl.TypeAlpine, "alpine":
|
||||
return ApkPkg
|
||||
case packageurl.TypeMaven:
|
||||
return JavaPkg
|
||||
case packageurl.TypeBitnami:
|
||||
return BitnamiPkg
|
||||
case packageurl.TypeDebian:
|
||||
return DebPkg
|
||||
case packageurl.TypeComposer:
|
||||
return PhpComposerPkg
|
||||
case "pecl":
|
||||
return PhpPeclPkg
|
||||
case packageurl.TypeGolang:
|
||||
return GoModulePkg
|
||||
case packageurl.TypeNPM:
|
||||
return NpmPkg
|
||||
case packageurl.TypePyPi:
|
||||
return PythonPkg
|
||||
case packageurl.TypeGem:
|
||||
return GemPkg
|
||||
case "cargo", "crate":
|
||||
@@ -213,10 +210,18 @@ func TypeByName(name string) Type {
|
||||
return ConanPkg
|
||||
case packageurl.TypeHackage:
|
||||
return HackagePkg
|
||||
case "portage":
|
||||
return PortagePkg
|
||||
case packageurl.TypeHex:
|
||||
return HexPkg
|
||||
case packageurl.TypeLuaRocks:
|
||||
return LuaRocksPkg
|
||||
case packageurl.TypeMaven:
|
||||
return JavaPkg
|
||||
case packageurl.TypeNPM:
|
||||
return NpmPkg
|
||||
case packageurl.TypePyPi:
|
||||
return PythonPkg
|
||||
case "portage":
|
||||
return PortagePkg
|
||||
case packageurl.TypeOTP:
|
||||
return ErlangOTPPkg
|
||||
case "linux-kernel":
|
||||
@@ -229,6 +234,8 @@ func TypeByName(name string) Type {
|
||||
return OpamPkg
|
||||
case packageurl.TypeCran:
|
||||
return Rpkg
|
||||
case packageurl.TypeRPM:
|
||||
return RpmPkg
|
||||
case packageurl.TypeSwift:
|
||||
return SwiftPkg
|
||||
case "swiplpack":
|
||||
|
||||
Reference in New Issue
Block a user