materials

package
v0.111.0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2024 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CategorySecurityIncidentResponse = "csaf_security_incident_response"
	CategoryInformationalAdvisory    = "csaf_informational_advisory"
	CategorySecurityAdvisory         = "csaf_security_advisory"
	CategoryVEX                      = "csaf_vex"
)

Variables

View Source
var (
	// ErrInvalidMaterialType is returned when the provided material type
	// is not from the kind we are expecting
	ErrInvalidMaterialType = fmt.Errorf("unexpected material type")
	// ErrBaseUploadAndCraft is returned as a base error when the upload and craft of a material fails
	ErrBaseUploadAndCraft = errors.New("upload and craft error")
)

Functions

func Craft

func Craft(ctx context.Context, materialSchema *schemaapi.CraftingSchema_Material, value string, casBackend *casclient.CASBackend, ociAuth authn.Keychain, logger *zerolog.Logger) (*api.Attestation_Material, error)

Types

type ArtifactCrafter

type ArtifactCrafter struct {
	// contains filtered or unexported fields
}

func (*ArtifactCrafter) Craft

func (i *ArtifactCrafter) Craft(ctx context.Context, artifactPath string) (*api.Attestation_Material, error)

Craft will calculate the digest of the artifact, simulate an upload and return the material definition

type AttestationCrafter

type AttestationCrafter struct {
	// contains filtered or unexported fields
}

func NewAttestationCrafter

func NewAttestationCrafter(schema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*AttestationCrafter, error)

NewAttestationCrafter generates a new Attestation material. Attestation materials represent a chainloop attestation submitted in a different workflow. This is useful to link related workflow runs. For instance, the deployment of different microservices coming from a common build workflow.

func (*AttestationCrafter) Craft

func (i *AttestationCrafter) Craft(ctx context.Context, artifactPath string) (*api.Attestation_Material, error)

Craft will calculate the digest of the artifact, simulate an upload and return the material definition

type BlackduckSCAJSONCrafter added in v0.96.14

type BlackduckSCAJSONCrafter struct {
	// contains filtered or unexported fields
}

func NewBlackduckSCAJSONCrafter added in v0.96.14

func NewBlackduckSCAJSONCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*BlackduckSCAJSONCrafter, error)

func (*BlackduckSCAJSONCrafter) Craft added in v0.96.14

type CSAFCrafter

type CSAFCrafter struct {
	// contains filtered or unexported fields
}

CSAFCrafter is a crafter for CSAF VEX, CSAF Informational Advisory, CSAF Security Incident Response, and CSAF Security Advisory material types. It implements the Crafter interface.

func NewCSAFInformationalAdvisoryCrafter

func NewCSAFInformationalAdvisoryCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*CSAFCrafter, error)

NewCSAFInformationalAdvisoryCrafter creates a new CSAF Informational Advisory crafter

func NewCSAFSecurityAdvisoryCrafter

func NewCSAFSecurityAdvisoryCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*CSAFCrafter, error)

NewCSAFSecurityAdvisoryCrafter creates a new CSAF Security Advisory crafter

func NewCSAFSecurityIncidentResponseCrafter

func NewCSAFSecurityIncidentResponseCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*CSAFCrafter, error)

NewCSAFSecurityIncidentResponseCrafter creates a new CSAF Security Incident Response crafter

func NewCSAFVEXCrafter

func NewCSAFVEXCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*CSAFCrafter, error)

NewCSAFVEXCrafter creates a new CSAF VEX crafter

func (*CSAFCrafter) Craft

func (i *CSAFCrafter) Craft(ctx context.Context, filepath string) (*api.Attestation_Material, error)

type Craftable

type Craftable interface {
	Craft(ctx context.Context, value string) (*api.Attestation_Material, error)
}

type CyclonedxJSONCrafter

type CyclonedxJSONCrafter struct {
	// contains filtered or unexported fields
}

func NewCyclonedxJSONCrafter

func NewCyclonedxJSONCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*CyclonedxJSONCrafter, error)

func (*CyclonedxJSONCrafter) Craft

type EvidenceCrafter

type EvidenceCrafter struct {
	// contains filtered or unexported fields
}

func NewEvidenceCrafter

func NewEvidenceCrafter(schema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*EvidenceCrafter, error)

NewEvidenceCrafter generates a new Evidence material. Pieces of evidences represent generic, additional context that don't fit into one of the well known material types. For example, a custom approval report (in json), ...

func (*EvidenceCrafter) Craft

func (i *EvidenceCrafter) Craft(ctx context.Context, artifactPath string) (*api.Attestation_Material, error)

Craft will calculate the digest of the artifact, simulate an upload and return the material definition

type GHASCodeScanCrafter added in v0.97.2

type GHASCodeScanCrafter struct {
	// contains filtered or unexported fields
}

func NewGHASCodeScanCrafter added in v0.97.2

func NewGHASCodeScanCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*GHASCodeScanCrafter, error)

func (*GHASCodeScanCrafter) Craft added in v0.97.2

Craft will validate the CodeScan alerts report and craft the material

type GHASDependencyScanCrafter added in v0.97.2

type GHASDependencyScanCrafter struct {
	// contains filtered or unexported fields
}

func NewGHASDependencyScanCrafter added in v0.97.2

func NewGHASDependencyScanCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*GHASDependencyScanCrafter, error)

func (*GHASDependencyScanCrafter) Craft added in v0.97.2

Craft will validate the CodeScan alerts report and craft the material

type GHASSecretScanCrafter added in v0.97.2

type GHASSecretScanCrafter struct {
	// contains filtered or unexported fields
}

func NewGHASSecretScanCrafter added in v0.97.2

func NewGHASSecretScanCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*GHASSecretScanCrafter, error)

func (*GHASSecretScanCrafter) Craft added in v0.97.2

Craft will validate the CodeScan alerts report and craft the material

type GitlabCrafter added in v0.96.10

type GitlabCrafter struct {
	// contains filtered or unexported fields
}

func NewGitlabCrafter added in v0.96.10

func NewGitlabCrafter(schema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*GitlabCrafter, error)

func (*GitlabCrafter) Craft added in v0.96.10

func (i *GitlabCrafter) Craft(ctx context.Context, filePath string) (*api.Attestation_Material, error)

type HelmChartCrafter

type HelmChartCrafter struct {
	// contains filtered or unexported fields
}

func NewHelmChartCrafter

func NewHelmChartCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, ociAuth authn.Keychain,
	l *zerolog.Logger) (*HelmChartCrafter, error)

func (*HelmChartCrafter) Craft

func (c *HelmChartCrafter) Craft(ctx context.Context, helmChartRef string) (*api.Attestation_Material, error)

type JUnitXMLCrafter

type JUnitXMLCrafter struct {
	// contains filtered or unexported fields
}

func (*JUnitXMLCrafter) Craft

func (i *JUnitXMLCrafter) Craft(ctx context.Context, filePath string) (*api.Attestation_Material, error)

type OCICraftOpt added in v0.100.0

type OCICraftOpt func(*OCIImageCrafter)

func WithArtifactTypeValidation added in v0.100.0

func WithArtifactTypeValidation(artifactTypeValidation string) OCICraftOpt

type OCIImageCrafter

type OCIImageCrafter struct {
	// contains filtered or unexported fields
}

func NewOCIImageCrafter

func NewOCIImageCrafter(schema *schemaapi.CraftingSchema_Material, ociAuth authn.Keychain, l *zerolog.Logger, opts ...OCICraftOpt) (*OCIImageCrafter, error)

func (*OCIImageCrafter) Craft

type OpenVEXCrafter

type OpenVEXCrafter struct {
	// contains filtered or unexported fields
}

func NewOpenVEXCrafter

func NewOpenVEXCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*OpenVEXCrafter, error)

func (*OpenVEXCrafter) Craft

func (i *OpenVEXCrafter) Craft(ctx context.Context, filePath string) (*api.Attestation_Material, error)

type SARIFCrafter

type SARIFCrafter struct {
	// contains filtered or unexported fields
}

func NewSARIFCrafter

func NewSARIFCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*SARIFCrafter, error)

func (*SARIFCrafter) Craft

func (i *SARIFCrafter) Craft(ctx context.Context, filepath string) (*api.Attestation_Material, error)

type SPDXJSONCrafter

type SPDXJSONCrafter struct {
	// contains filtered or unexported fields
}

func NewSPDXJSONCrafter

func NewSPDXJSONCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*SPDXJSONCrafter, error)

func (*SPDXJSONCrafter) Craft

func (i *SPDXJSONCrafter) Craft(ctx context.Context, filePath string) (*api.Attestation_Material, error)

type StringCrafter

type StringCrafter struct {
	// contains filtered or unexported fields
}

func NewStringCrafter

func NewStringCrafter(materialSchema *schemaapi.CraftingSchema_Material) (*StringCrafter, error)

func (*StringCrafter) Craft

type TwistCLIScanCrafter added in v0.96.14

type TwistCLIScanCrafter struct {
	// contains filtered or unexported fields
}

func NewTwistCLIScanCrafter added in v0.96.14

func NewTwistCLIScanCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*TwistCLIScanCrafter, error)

func (*TwistCLIScanCrafter) Craft added in v0.96.14

type ZAPCrafter added in v0.96.14

type ZAPCrafter struct {
	// contains filtered or unexported fields
}

func NewZAPCrafter added in v0.96.14

func NewZAPCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*ZAPCrafter, error)

func (*ZAPCrafter) Craft added in v0.96.14

func (i *ZAPCrafter) Craft(ctx context.Context, filePath string) (*api.Attestation_Material, error)

Craft will extract the ZAP JSON report from the zip file and upload it to the CAS

Jump to

Keyboard shortcuts

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