mirror of
https://github.com/anchore/syft.git
synced 2025-11-17 08:23:15 +01:00
* add squash all layers resolver Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * add squash with all layers logic Signed-off-by: tomersein <tomersein@gmail.com> * add squash with all layers logic Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squashed all layers Signed-off-by: tomersein <tomersein@gmail.com> * squash with all layers Signed-off-by: tomersein <tomersein@gmail.com> * squash with all layers Signed-off-by: tomersein <tomersein@gmail.com> * adjust resolver to strictly return squash paths only Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * show all packages have locations + primary evidence Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * fix race condition in test Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> * consider access paths Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> --------- Signed-off-by: tomersein <tomersein@gmail.com> Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> Co-authored-by: Alex Goodman <wagoodman@users.noreply.github.com>
42 lines
1.4 KiB
Go
42 lines
1.4 KiB
Go
package source
|
|
|
|
import "strings"
|
|
|
|
// Scope indicates "how" or from "which perspectives" the source object should be cataloged from.
|
|
type Scope string
|
|
|
|
const (
|
|
// UnknownScope is the default scope
|
|
UnknownScope Scope = "unknown-scope"
|
|
// SquashedScope indicates to only catalog content visible from the squashed filesystem representation (what can be seen only within the container at runtime)
|
|
SquashedScope Scope = "squashed"
|
|
// AllLayersScope indicates to catalog content on all layers, regardless if it is visible from the container at runtime.
|
|
AllLayersScope Scope = "all-layers"
|
|
// DeepSquashedScope indicates to catalog content on all layers, but only include content visible from the squashed filesystem representation.
|
|
DeepSquashedScope Scope = "deep-squashed"
|
|
)
|
|
|
|
// AllScopes is a slice containing all possible scope options
|
|
var AllScopes = []Scope{
|
|
SquashedScope,
|
|
AllLayersScope,
|
|
DeepSquashedScope,
|
|
}
|
|
|
|
// ParseScope returns a scope as indicated from the given string.
|
|
func ParseScope(userStr string) Scope {
|
|
switch strings.ToLower(userStr) {
|
|
case SquashedScope.String():
|
|
return SquashedScope
|
|
case "all", "alllayers", AllLayersScope.String():
|
|
return AllLayersScope
|
|
case "deepsquashed", "squasheddeep", "squashed-deep", "deep-squash", "deepsquash", strings.ToLower(DeepSquashedScope.String()):
|
|
return DeepSquashedScope
|
|
}
|
|
return UnknownScope
|
|
}
|
|
|
|
func (o Scope) String() string {
|
|
return string(o)
|
|
}
|