github.com/anchore/syft@v1.38.2/syft/pkg/snap.go (about)

     1  package pkg
     2  
     3  const (
     4  	SnapTypeBase   = "base"
     5  	SnapTypeKernel = "kernel"
     6  	SnapTypeApp    = "app"
     7  	SnapTypeGadget = "gadget"
     8  	SnapTypeSnapd  = "snapd"
     9  )
    10  
    11  // SnapEntry represents metadata for a Snap package extracted from snap.yaml or snapcraft.yaml files.
    12  type SnapEntry struct {
    13  	// SnapType indicates the snap type (base, kernel, app, gadget, or snapd).
    14  	SnapType string `json:"snapType" yaml:"snapType"` // base, kernel, system, gadget, snapd
    15  
    16  	// Base is the base snap name that this snap depends on (e.g., "core20", "core22").
    17  	Base string `json:"base" yaml:"base"` // base snap name (e.g., core20, core22)
    18  
    19  	// SnapName is the snap package name.
    20  	SnapName string `json:"snapName" yaml:"snapName"` // name of the snap
    21  
    22  	// SnapVersion is the snap package version.
    23  	SnapVersion string `json:"snapVersion" yaml:"snapVersion"` // version of the snap
    24  
    25  	// Architecture is the target CPU architecture (e.g., "amd64", "arm64").
    26  	Architecture string `json:"architecture" yaml:"architecture"` // architecture (amd64, arm64, etc.)
    27  
    28  }