Documentation ¶
Index ¶
- Constants
- Variables
- func Craft(ctx context.Context, materialSchema *schemaapi.CraftingSchema_Material, ...) (*api.Attestation_Material, error)
- func LoadJSONBytes(rawData []byte, extension string) ([]byte, error)
- type ArtifactCrafter
- type AttestationCrafter
- type CSAFCrafter
- func NewCSAFInformationalAdvisoryCrafter(materialSchema *schemaapi.CraftingSchema_Material, ...) (*CSAFCrafter, error)
- func NewCSAFSecurityAdvisoryCrafter(materialSchema *schemaapi.CraftingSchema_Material, ...) (*CSAFCrafter, error)
- func NewCSAFSecurityIncidentResponseCrafter(materialSchema *schemaapi.CraftingSchema_Material, ...) (*CSAFCrafter, error)
- func NewCSAFVEXCrafter(materialSchema *schemaapi.CraftingSchema_Material, ...) (*CSAFCrafter, error)
- type Craftable
- type CyclonedxJSONCrafter
- type EvidenceCrafter
- type HelmChartCrafter
- type JUnitXMLCrafter
- type OCIImageCrafter
- type OpenVEXCrafter
- type SARIFCrafter
- type SPDXJSONCrafter
- type StringCrafter
Constants ¶
const ( CategorySecurityIncidentResponse = "csaf_security_incident_response" CategoryInformationalAdvisory = "csaf_informational_advisory" CategorySecurityAdvisory = "csaf_security_advisory" CategoryVEX = "csaf_vex" )
Variables ¶
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 ¶
Types ¶
type ArtifactCrafter ¶
type ArtifactCrafter struct {
// contains filtered or unexported fields
}
func NewArtifactCrafter ¶
func NewArtifactCrafter(schema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*ArtifactCrafter, error)
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 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 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 ¶
func (i *CyclonedxJSONCrafter) Craft(ctx context.Context, filePath string) (*api.Attestation_Material, error)
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 HelmChartCrafter ¶
type HelmChartCrafter struct {
// contains filtered or unexported fields
}
func NewHelmChartCrafter ¶
func NewHelmChartCrafter(materialSchema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*HelmChartCrafter, error)
func (*HelmChartCrafter) Craft ¶
func (c *HelmChartCrafter) Craft(ctx context.Context, filepath string) (*api.Attestation_Material, error)
type JUnitXMLCrafter ¶
type JUnitXMLCrafter struct {
// contains filtered or unexported fields
}
func NewJUnitXMLCrafter ¶
func NewJUnitXMLCrafter(schema *schemaapi.CraftingSchema_Material, backend *casclient.CASBackend, l *zerolog.Logger) (*JUnitXMLCrafter, error)
func (*JUnitXMLCrafter) Craft ¶
func (i *JUnitXMLCrafter) Craft(ctx context.Context, filePath string) (*api.Attestation_Material, error)
type OCIImageCrafter ¶
type OCIImageCrafter struct {
// contains filtered or unexported fields
}
func NewOCIImageCrafter ¶
func NewOCIImageCrafter(schema *schemaapi.CraftingSchema_Material, ociAuth authn.Keychain, l *zerolog.Logger) (*OCIImageCrafter, error)
func (*OCIImageCrafter) Craft ¶
func (i *OCIImageCrafter) Craft(_ context.Context, imageRef string) (*api.Attestation_Material, error)
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 ¶
func (i *StringCrafter) Craft(_ context.Context, value string) (*api.Attestation_Material, error)