attestation

package
v1.3.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 27, 2021 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// CosignCustomProvenanceV01 specifies the type of the Predicate.
	CosignCustomProvenanceV01 = "cosign.sigstore.dev/attestation/v1"

	// CosignVulnProvenanceV01 specifies the type of VulnerabilityScan Predicate
	CosignVulnProvenanceV01 = "cosign.sigstore.dev/attestation/vuln/v1"
)

Variables

This section is empty.

Functions

func GenerateStatement

func GenerateStatement(opts GenerateOpts) (interface{}, error)

GenerateStatement returns an in-toto statement based on the provided predicate type (custom|slsaprovenance|spdx|link).

Types

type CosignPredicate

type CosignPredicate struct {
	Data      interface{}
	Timestamp string
}

CosignPredicate specifies the format of the Custom Predicate.

type CosignVulnPredicate

type CosignVulnPredicate struct {
	Invocation Invocation `json:"invocation"`
	Scanners   []Scanner  `json:"scanners"`
	Metadata   Metadata   `json:"metadata"`
}

VulnPredicate specifies the format of the Vulnerability Scan Predicate

type DB

type DB struct {
	URI     string `json:"uri"`
	Version string `json:"version"`
}

type GenerateOpts

type GenerateOpts struct {
	// Predicate is the source of bytes (e.g. a file) to use as the statement's predicate.
	Predicate io.Reader
	// Type is the pre-defined enums (provenance|link|spdx).
	// default: custom
	Type string
	// Digest of the Image reference.
	Digest string
	// Repo context of the reference.
	Repo string

	// Function to return the time to set
	Time func() time.Time
}

GenerateOpts specifies the options of the Statement generator.

type Invocation

type Invocation struct {
	Parameters interface{} `json:"parameters"`
	URI        string      `json:"uri"`
	EventID    string      `json:"event_id"`
	BuilderID  string      `json:"builder.id"`
}

type Metadata

type Metadata struct {
	ScanStartedOn  time.Time `json:"scanStartedOn"`
	ScanFinishedOn time.Time `json:"scanFinishedOn"`
}

type Scanner

type Scanner struct {
	URI     string                 `json:"uri"`
	Version string                 `json:"version"`
	DB      DB                     `json:"db"`
	Result  map[string]interface{} `json:"result"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL