Documentation ¶
Index ¶
- Constants
- Variables
- type Artifacts
- type Decoder
- type Descriptor
- type Encoder
- type Format
- type FormatID
- type SBOM
- func (s SBOM) AllCoordinates() []source.Coordinates
- func (s SBOM) CoordinatesForPackage(p pkg.Package, rt ...artifact.RelationshipType) []source.Coordinates
- func (s SBOM) RelationshipsForPackage(p pkg.Package, rt ...artifact.RelationshipType) []artifact.Relationship
- func (s SBOM) RelationshipsSorted() []artifact.Relationship
- type Validator
- type Writer
- type WriterOption
Constants ¶
const AnyVersion = ""
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Artifacts ¶
type Artifacts struct { PackageCatalog *pkg.Collection FileMetadata map[source.Coordinates]source.FileMetadata FileDigests map[source.Coordinates][]file.Digest FileContents map[source.Coordinates]string Secrets map[source.Coordinates][]file.SearchResult LinuxDistribution *linux.Release }
type Decoder ¶
Decoder is a function that can convert an SBOM document of a specific format from a reader into sbom native objects.
type Descriptor ¶
type Encoder ¶
Encoder is a function that can transform sbom native objects into an SBOM document of a specific format written to the given writer.
type Format ¶
type SBOM ¶
type SBOM struct { Artifacts Artifacts Relationships []artifact.Relationship Source source.Metadata Descriptor Descriptor }
func (SBOM) AllCoordinates ¶
func (s SBOM) AllCoordinates() []source.Coordinates
func (SBOM) CoordinatesForPackage ¶
func (s SBOM) CoordinatesForPackage(p pkg.Package, rt ...artifact.RelationshipType) []source.Coordinates
CoordinatesForPackage returns all coordinates for the provided package for provided relationship types If no types are provided, all relationship types are considered.
func (SBOM) RelationshipsForPackage ¶
func (s SBOM) RelationshipsForPackage(p pkg.Package, rt ...artifact.RelationshipType) []artifact.Relationship
RelationshipsForPackage returns all relationships for the provided types. If no types are provided, all relationships for the package are returned.
func (SBOM) RelationshipsSorted ¶
func (s SBOM) RelationshipsSorted() []artifact.Relationship
type Validator ¶
Validator reads the SBOM from the given reader and assesses whether the document conforms to the specific SBOM format. The validator should positively confirm if the SBOM is not only the format but also has the minimal set of values that the format requires. For example, all sbomjson formatted documents have a schema section which should have "nextlinux/sbom" within the version --if this isn't found then the validator should raise an error. These active assertions protect against "simple" format decoding validations that may lead to false positives (e.g. I decoded json successfully therefore this must be the target format, however, all values are their default zero-value and really represent a different format that also uses json)
type Writer ¶
type Writer interface { // Write writes the provided SBOM Write(SBOM) error // Bytes returns the bytes of the SBOM that would be written Bytes(SBOM) ([]byte, error) // Closer a resource cleanup hook which will be called after SBOM // is written or if an error occurs before Write is called io.Closer }
Writer an interface to write SBOMs
func NewWriter ¶
func NewWriter(options ...WriterOption) (_ Writer, err error)
NewWriter create all report writers from input options; if a file is not specified, os.Stdout is used
type WriterOption ¶
WriterOption Format and path strings used to create sbom.Writer
func NewWriterOption ¶
func NewWriterOption(f Format, p string) WriterOption