v1

package
v0.137.0 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	CraftingSchema_Runner_RunnerType_name = map[int32]string{
		0: "RUNNER_TYPE_UNSPECIFIED",
		1: "GITHUB_ACTION",
		2: "GITLAB_PIPELINE",
		3: "AZURE_PIPELINE",
		4: "JENKINS_JOB",
		5: "CIRCLECI_BUILD",
		6: "DAGGER_PIPELINE",
	}
	CraftingSchema_Runner_RunnerType_value = map[string]int32{
		"RUNNER_TYPE_UNSPECIFIED": 0,
		"GITHUB_ACTION":           1,
		"GITLAB_PIPELINE":         2,
		"AZURE_PIPELINE":          3,
		"JENKINS_JOB":             4,
		"CIRCLECI_BUILD":          5,
		"DAGGER_PIPELINE":         6,
	}
)

Enum value maps for CraftingSchema_Runner_RunnerType.

View Source
var (
	CraftingSchema_Material_MaterialType_name = map[int32]string{
		0:  "MATERIAL_TYPE_UNSPECIFIED",
		1:  "STRING",
		2:  "CONTAINER_IMAGE",
		3:  "ARTIFACT",
		4:  "SBOM_CYCLONEDX_JSON",
		5:  "SBOM_SPDX_JSON",
		6:  "JUNIT_XML",
		7:  "OPENVEX",
		10: "HELM_CHART",
		9:  "SARIF",
		11: "EVIDENCE",
		12: "ATTESTATION",
		8:  "CSAF_VEX",
		13: "CSAF_INFORMATIONAL_ADVISORY",
		14: "CSAF_SECURITY_ADVISORY",
		15: "CSAF_SECURITY_INCIDENT_RESPONSE",
		16: "GITLAB_SECURITY_REPORT",
		17: "ZAP_DAST_ZIP",
		18: "BLACKDUCK_SCA_JSON",
		19: "TWISTCLI_SCAN_JSON",
		20: "GHAS_CODE_SCAN",
		21: "GHAS_SECRET_SCAN",
		22: "GHAS_DEPENDENCY_SCAN",
		23: "JACOCO_XML",
	}
	CraftingSchema_Material_MaterialType_value = map[string]int32{
		"MATERIAL_TYPE_UNSPECIFIED":       0,
		"STRING":                          1,
		"CONTAINER_IMAGE":                 2,
		"ARTIFACT":                        3,
		"SBOM_CYCLONEDX_JSON":             4,
		"SBOM_SPDX_JSON":                  5,
		"JUNIT_XML":                       6,
		"OPENVEX":                         7,
		"HELM_CHART":                      10,
		"SARIF":                           9,
		"EVIDENCE":                        11,
		"ATTESTATION":                     12,
		"CSAF_VEX":                        8,
		"CSAF_INFORMATIONAL_ADVISORY":     13,
		"CSAF_SECURITY_ADVISORY":          14,
		"CSAF_SECURITY_INCIDENT_RESPONSE": 15,
		"GITLAB_SECURITY_REPORT":          16,
		"ZAP_DAST_ZIP":                    17,
		"BLACKDUCK_SCA_JSON":              18,
		"TWISTCLI_SCAN_JSON":              19,
		"GHAS_CODE_SCAN":                  20,
		"GHAS_SECRET_SCAN":                21,
		"GHAS_DEPENDENCY_SCAN":            22,
		"JACOCO_XML":                      23,
	}
)

Enum value maps for CraftingSchema_Material_MaterialType.

CraftingMaterialInValidationOrder all type of CraftingMaterial that are available for automatic detection. The order of the list is important as it defines the order of the detection process. Normally from most common one to the least common one and weaker validation method.

View Source
var File_workflowcontract_v1_crafting_schema_proto protoreflect.FileDescriptor

Functions

func ListAvailableMaterialKind added in v0.89.0

func ListAvailableMaterialKind() []string

ListAvailableMaterialKind returns a list of available material kinds

func ValidatePolicyAttachmentRef added in v0.96.6

func ValidatePolicyAttachmentRef(ref string) error

Types

type Annotation added in v0.15.0

type Annotation struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Single word optionally separated with _
	// This value can be set in the contract or provided during the attestation
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*Annotation) Descriptor deprecated added in v0.15.0

func (*Annotation) Descriptor() ([]byte, []int)

Deprecated: Use Annotation.ProtoReflect.Descriptor instead.

func (*Annotation) GetName added in v0.15.0

func (x *Annotation) GetName() string

func (*Annotation) GetValue added in v0.15.0

func (x *Annotation) GetValue() string

func (*Annotation) ProtoMessage added in v0.15.0

func (*Annotation) ProtoMessage()

func (*Annotation) ProtoReflect added in v0.15.0

func (x *Annotation) ProtoReflect() protoreflect.Message

func (*Annotation) Reset added in v0.15.0

func (x *Annotation) Reset()

func (*Annotation) String added in v0.15.0

func (x *Annotation) String() string

type CraftingSchema

type CraftingSchema struct {

	// Version of the schema, do not confuse with the revision of the content
	SchemaVersion string                     `protobuf:"bytes,1,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"`
	Materials     []*CraftingSchema_Material `protobuf:"bytes,2,rep,name=materials,proto3" json:"materials,omitempty"`
	EnvAllowList  []string                   `protobuf:"bytes,3,rep,name=env_allow_list,json=envAllowList,proto3" json:"env_allow_list,omitempty"`
	Runner        *CraftingSchema_Runner     `protobuf:"bytes,4,opt,name=runner,proto3" json:"runner,omitempty"`
	// List of annotations that can be used to add metadata to the attestation
	// this metadata can be used later on by the integrations engine to filter and interpolate data
	// It works in addition to the annotations defined in the materials and the runner
	Annotations []*Annotation `protobuf:"bytes,5,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Policies to apply to this schema
	Policies *Policies `protobuf:"bytes,6,opt,name=policies,proto3" json:"policies,omitempty"`
	// Policy groups to apply to this schema
	PolicyGroups []*PolicyGroupAttachment `protobuf:"bytes,7,rep,name=policy_groups,json=policyGroups,proto3" json:"policy_groups,omitempty"`
	// contains filtered or unexported fields
}

Schema definition provided by the user to the tool that defines the schema of the workflowRun

func (*CraftingSchema) Descriptor deprecated

func (*CraftingSchema) Descriptor() ([]byte, []int)

Deprecated: Use CraftingSchema.ProtoReflect.Descriptor instead.

func (*CraftingSchema) GetAnnotations added in v0.15.0

func (x *CraftingSchema) GetAnnotations() []*Annotation

func (*CraftingSchema) GetEnvAllowList

func (x *CraftingSchema) GetEnvAllowList() []string

func (*CraftingSchema) GetMaterials

func (x *CraftingSchema) GetMaterials() []*CraftingSchema_Material

func (*CraftingSchema) GetPolicies added in v0.93.4

func (x *CraftingSchema) GetPolicies() *Policies

func (*CraftingSchema) GetPolicyGroups added in v0.96.14

func (x *CraftingSchema) GetPolicyGroups() []*PolicyGroupAttachment

func (*CraftingSchema) GetRunner

func (x *CraftingSchema) GetRunner() *CraftingSchema_Runner

func (*CraftingSchema) GetSchemaVersion

func (x *CraftingSchema) GetSchemaVersion() string

func (*CraftingSchema) ProtoMessage

func (*CraftingSchema) ProtoMessage()

func (*CraftingSchema) ProtoReflect

func (x *CraftingSchema) ProtoReflect() protoreflect.Message

func (*CraftingSchema) Reset

func (x *CraftingSchema) Reset()

func (*CraftingSchema) String

func (x *CraftingSchema) String() string

func (*CraftingSchema) ValidatePolicyAttachments added in v0.96.6

func (schema *CraftingSchema) ValidatePolicyAttachments() error

func (*CraftingSchema) ValidateUniqueMaterialName

func (schema *CraftingSchema) ValidateUniqueMaterialName() error

ValidateUniqueMaterialName validates that only one material definition with the same ID is present in the schema

type CraftingSchema_Material

type CraftingSchema_Material struct {
	Type     CraftingSchema_Material_MaterialType `protobuf:"varint,1,opt,name=type,proto3,enum=workflowcontract.v1.CraftingSchema_Material_MaterialType" json:"type,omitempty"`
	Name     string                               `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Optional bool                                 `protobuf:"varint,3,opt,name=optional,proto3" json:"optional,omitempty"`
	// If a material is set as output it will get added to the subject in the statement
	Output bool `protobuf:"varint,4,opt,name=output,proto3" json:"output,omitempty"`
	// List of annotations that can be used to add metadata to the material
	// this metadata can be used later on by the integrations engine to filter and interpolate data
	Annotations []*Annotation `protobuf:"bytes,5,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// contains filtered or unexported fields
}

func (*CraftingSchema_Material) Descriptor deprecated

func (*CraftingSchema_Material) Descriptor() ([]byte, []int)

Deprecated: Use CraftingSchema_Material.ProtoReflect.Descriptor instead.

func (*CraftingSchema_Material) GetAnnotations added in v0.15.0

func (x *CraftingSchema_Material) GetAnnotations() []*Annotation

func (*CraftingSchema_Material) GetName

func (x *CraftingSchema_Material) GetName() string

func (*CraftingSchema_Material) GetOptional

func (x *CraftingSchema_Material) GetOptional() bool

func (*CraftingSchema_Material) GetOutput

func (x *CraftingSchema_Material) GetOutput() bool

func (*CraftingSchema_Material) GetType

func (*CraftingSchema_Material) ProtoMessage

func (*CraftingSchema_Material) ProtoMessage()

func (*CraftingSchema_Material) ProtoReflect

func (x *CraftingSchema_Material) ProtoReflect() protoreflect.Message

func (*CraftingSchema_Material) Reset

func (x *CraftingSchema_Material) Reset()

func (*CraftingSchema_Material) String

func (x *CraftingSchema_Material) String() string

type CraftingSchema_Material_MaterialType

type CraftingSchema_Material_MaterialType int32
const (
	CraftingSchema_Material_MATERIAL_TYPE_UNSPECIFIED CraftingSchema_Material_MaterialType = 0
	CraftingSchema_Material_STRING                    CraftingSchema_Material_MaterialType = 1
	CraftingSchema_Material_CONTAINER_IMAGE           CraftingSchema_Material_MaterialType = 2
	CraftingSchema_Material_ARTIFACT                  CraftingSchema_Material_MaterialType = 3
	CraftingSchema_Material_SBOM_CYCLONEDX_JSON       CraftingSchema_Material_MaterialType = 4
	CraftingSchema_Material_SBOM_SPDX_JSON            CraftingSchema_Material_MaterialType = 5
	CraftingSchema_Material_JUNIT_XML                 CraftingSchema_Material_MaterialType = 6
	// https://github.com/openvex/spec
	CraftingSchema_Material_OPENVEX CraftingSchema_Material_MaterialType = 7
	// Static analysis output format
	// https://github.com/microsoft/sarif-tutorials/blob/main/docs/1-Introduction.md
	CraftingSchema_Material_HELM_CHART CraftingSchema_Material_MaterialType = 10
	CraftingSchema_Material_SARIF      CraftingSchema_Material_MaterialType = 9
	// 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), ...
	CraftingSchema_Material_EVIDENCE CraftingSchema_Material_MaterialType = 11
	// Chainloop attestation coming from a different workflow.
	CraftingSchema_Material_ATTESTATION CraftingSchema_Material_MaterialType = 12
	// https://docs.oasis-open.org/csaf/csaf/v2.0/cs03/csaf-v2.0-cs03.html
	CraftingSchema_Material_CSAF_VEX                        CraftingSchema_Material_MaterialType = 8
	CraftingSchema_Material_CSAF_INFORMATIONAL_ADVISORY     CraftingSchema_Material_MaterialType = 13
	CraftingSchema_Material_CSAF_SECURITY_ADVISORY          CraftingSchema_Material_MaterialType = 14
	CraftingSchema_Material_CSAF_SECURITY_INCIDENT_RESPONSE CraftingSchema_Material_MaterialType = 15
	// Gitlab Application Security Reports https://docs.gitlab.com/ee/user/application_security/
	CraftingSchema_Material_GITLAB_SECURITY_REPORT CraftingSchema_Material_MaterialType = 16
	CraftingSchema_Material_ZAP_DAST_ZIP           CraftingSchema_Material_MaterialType = 17
	CraftingSchema_Material_BLACKDUCK_SCA_JSON     CraftingSchema_Material_MaterialType = 18
	// Twistcli scan output in json format: https://docs.prismacloud.io/en/compute-edition/30/admin-guide/tools/twistcli-scan-images
	CraftingSchema_Material_TWISTCLI_SCAN_JSON CraftingSchema_Material_MaterialType = 19
	// GitHub Advanced Security API reports
	// https://docs.github.com/en/rest/code-scanning/code-scanning?apiVersion=2022-11-28
	CraftingSchema_Material_GHAS_CODE_SCAN CraftingSchema_Material_MaterialType = 20
	// https://docs.github.com/en/rest/secret-scanning/secret-scanning?apiVersion=2022-11-28
	CraftingSchema_Material_GHAS_SECRET_SCAN CraftingSchema_Material_MaterialType = 21
	// https://docs.github.com/en/rest/dependabot/alerts?apiVersion=2022-11-28
	CraftingSchema_Material_GHAS_DEPENDENCY_SCAN CraftingSchema_Material_MaterialType = 22
	// Jacoco coverage reports https://www.jacoco.org/userdoc/importexport.html
	CraftingSchema_Material_JACOCO_XML CraftingSchema_Material_MaterialType = 23
)

func (CraftingSchema_Material_MaterialType) Descriptor

func (CraftingSchema_Material_MaterialType) Enum

func (CraftingSchema_Material_MaterialType) EnumDescriptor deprecated

func (CraftingSchema_Material_MaterialType) EnumDescriptor() ([]byte, []int)

Deprecated: Use CraftingSchema_Material_MaterialType.Descriptor instead.

func (CraftingSchema_Material_MaterialType) Number

func (CraftingSchema_Material_MaterialType) String

func (CraftingSchema_Material_MaterialType) Type

type CraftingSchema_Runner

type CraftingSchema_Runner struct {
	Type CraftingSchema_Runner_RunnerType `protobuf:"varint,1,opt,name=type,proto3,enum=workflowcontract.v1.CraftingSchema_Runner_RunnerType" json:"type,omitempty"`
	// contains filtered or unexported fields
}

func (*CraftingSchema_Runner) Descriptor deprecated

func (*CraftingSchema_Runner) Descriptor() ([]byte, []int)

Deprecated: Use CraftingSchema_Runner.ProtoReflect.Descriptor instead.

func (*CraftingSchema_Runner) GetType

func (*CraftingSchema_Runner) ProtoMessage

func (*CraftingSchema_Runner) ProtoMessage()

func (*CraftingSchema_Runner) ProtoReflect

func (x *CraftingSchema_Runner) ProtoReflect() protoreflect.Message

func (*CraftingSchema_Runner) Reset

func (x *CraftingSchema_Runner) Reset()

func (*CraftingSchema_Runner) String

func (x *CraftingSchema_Runner) String() string

type CraftingSchema_Runner_RunnerType

type CraftingSchema_Runner_RunnerType int32
const (
	CraftingSchema_Runner_RUNNER_TYPE_UNSPECIFIED CraftingSchema_Runner_RunnerType = 0
	CraftingSchema_Runner_GITHUB_ACTION           CraftingSchema_Runner_RunnerType = 1
	CraftingSchema_Runner_GITLAB_PIPELINE         CraftingSchema_Runner_RunnerType = 2
	CraftingSchema_Runner_AZURE_PIPELINE          CraftingSchema_Runner_RunnerType = 3
	CraftingSchema_Runner_JENKINS_JOB             CraftingSchema_Runner_RunnerType = 4
	CraftingSchema_Runner_CIRCLECI_BUILD          CraftingSchema_Runner_RunnerType = 5
	CraftingSchema_Runner_DAGGER_PIPELINE         CraftingSchema_Runner_RunnerType = 6
)

func (CraftingSchema_Runner_RunnerType) Descriptor

func (CraftingSchema_Runner_RunnerType) Enum

func (CraftingSchema_Runner_RunnerType) EnumDescriptor deprecated

func (CraftingSchema_Runner_RunnerType) EnumDescriptor() ([]byte, []int)

Deprecated: Use CraftingSchema_Runner_RunnerType.Descriptor instead.

func (CraftingSchema_Runner_RunnerType) Number

func (CraftingSchema_Runner_RunnerType) String

func (CraftingSchema_Runner_RunnerType) Type

type Metadata added in v0.93.4

type Metadata struct {

	// the name of the policy
	Name        string            `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Description string            `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	Annotations map[string]string `` /* 163-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Metadata) Descriptor deprecated added in v0.93.4

func (*Metadata) Descriptor() ([]byte, []int)

Deprecated: Use Metadata.ProtoReflect.Descriptor instead.

func (*Metadata) GetAnnotations added in v0.94.3

func (x *Metadata) GetAnnotations() map[string]string

func (*Metadata) GetDescription added in v0.94.3

func (x *Metadata) GetDescription() string

func (*Metadata) GetName added in v0.93.4

func (x *Metadata) GetName() string

func (*Metadata) ProtoMessage added in v0.93.4

func (*Metadata) ProtoMessage()

func (*Metadata) ProtoReflect added in v0.93.4

func (x *Metadata) ProtoReflect() protoreflect.Message

func (*Metadata) Reset added in v0.93.4

func (x *Metadata) Reset()

func (*Metadata) String added in v0.93.4

func (x *Metadata) String() string

type Policies added in v0.93.8

type Policies struct {

	// Policies to be applied to materials
	Materials []*PolicyAttachment `protobuf:"bytes,1,rep,name=materials,proto3" json:"materials,omitempty"`
	// Policies to be applied to attestation metadata
	Attestation []*PolicyAttachment `protobuf:"bytes,2,rep,name=attestation,proto3" json:"attestation,omitempty"`
	// contains filtered or unexported fields
}

func (*Policies) Descriptor deprecated added in v0.93.8

func (*Policies) Descriptor() ([]byte, []int)

Deprecated: Use Policies.ProtoReflect.Descriptor instead.

func (*Policies) GetAttestation added in v0.93.8

func (x *Policies) GetAttestation() []*PolicyAttachment

func (*Policies) GetMaterials added in v0.93.8

func (x *Policies) GetMaterials() []*PolicyAttachment

func (*Policies) ProtoMessage added in v0.93.8

func (*Policies) ProtoMessage()

func (*Policies) ProtoReflect added in v0.93.8

func (x *Policies) ProtoReflect() protoreflect.Message

func (*Policies) Reset added in v0.93.8

func (x *Policies) Reset()

func (*Policies) String added in v0.93.8

func (x *Policies) String() string

type Policy added in v0.93.4

type Policy struct {
	ApiVersion string      `protobuf:"bytes,1,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
	Kind       string      `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"`
	Metadata   *Metadata   `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
	Spec       *PolicySpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"`
	// contains filtered or unexported fields
}

Represents a policy to be applied to a material or attestation

func (*Policy) Descriptor deprecated added in v0.93.4

func (*Policy) Descriptor() ([]byte, []int)

Deprecated: Use Policy.ProtoReflect.Descriptor instead.

func (*Policy) GetApiVersion added in v0.93.4

func (x *Policy) GetApiVersion() string

func (*Policy) GetKind added in v0.93.4

func (x *Policy) GetKind() string

func (*Policy) GetMetadata added in v0.93.4

func (x *Policy) GetMetadata() *Metadata

func (*Policy) GetSpec added in v0.93.4

func (x *Policy) GetSpec() *PolicySpec

func (*Policy) ProtoMessage added in v0.93.4

func (*Policy) ProtoMessage()

func (*Policy) ProtoReflect added in v0.93.4

func (x *Policy) ProtoReflect() protoreflect.Message

func (*Policy) Reset added in v0.93.4

func (x *Policy) Reset()

func (*Policy) String added in v0.93.4

func (x *Policy) String() string

type PolicyAttachment added in v0.93.4

type PolicyAttachment struct {

	// Types that are assignable to Policy:
	//
	//	*PolicyAttachment_Ref
	//	*PolicyAttachment_Embedded
	Policy isPolicyAttachment_Policy `protobuf_oneof:"policy"`
	// rules to select a material or materials to be validated by the policy.
	// If none provided, the whole statement will be injected to the policy
	Selector *PolicyAttachment_MaterialSelector `protobuf:"bytes,3,opt,name=selector,proto3" json:"selector,omitempty"`
	// set to true to disable this rule
	Disabled bool `protobuf:"varint,4,opt,name=disabled,proto3" json:"disabled,omitempty"`
	// optional arguments for policies. Multivalued arguments can be set through multiline strings or comma separated values. It will be
	// parsed and passed as an array value to the policy engine.
	// with:
	//
	//	user: john
	//	users: john, sarah
	//	licenses: |
	//	  AGPL-1.0
	//	  AGPL-3.0
	With map[string]string `` /* 149-byte string literal not displayed */
	// List of requirements this policy contributes to satisfy
	Requirements []string `protobuf:"bytes,6,rep,name=requirements,proto3" json:"requirements,omitempty"`
	// contains filtered or unexported fields
}

A policy to be applied to this contract

func (*PolicyAttachment) Descriptor deprecated added in v0.93.4

func (*PolicyAttachment) Descriptor() ([]byte, []int)

Deprecated: Use PolicyAttachment.ProtoReflect.Descriptor instead.

func (*PolicyAttachment) GetDisabled added in v0.93.4

func (x *PolicyAttachment) GetDisabled() bool

func (*PolicyAttachment) GetEmbedded added in v0.93.8

func (x *PolicyAttachment) GetEmbedded() *Policy

func (*PolicyAttachment) GetPolicy added in v0.93.4

func (m *PolicyAttachment) GetPolicy() isPolicyAttachment_Policy

func (*PolicyAttachment) GetRef added in v0.93.4

func (x *PolicyAttachment) GetRef() string

func (*PolicyAttachment) GetRequirements added in v0.112.0

func (x *PolicyAttachment) GetRequirements() []string

func (*PolicyAttachment) GetSelector added in v0.93.4

func (*PolicyAttachment) GetWith added in v0.93.4

func (x *PolicyAttachment) GetWith() map[string]string

func (*PolicyAttachment) ProtoMessage added in v0.93.4

func (*PolicyAttachment) ProtoMessage()

func (*PolicyAttachment) ProtoReflect added in v0.93.4

func (x *PolicyAttachment) ProtoReflect() protoreflect.Message

func (*PolicyAttachment) Reset added in v0.93.4

func (x *PolicyAttachment) Reset()

func (*PolicyAttachment) String added in v0.93.4

func (x *PolicyAttachment) String() string

type PolicyAttachment_Embedded added in v0.93.8

type PolicyAttachment_Embedded struct {
	// meant to be used to embed the policy in the contract
	Embedded *Policy `protobuf:"bytes,2,opt,name=embedded,proto3,oneof"`
}

type PolicyAttachment_MaterialSelector added in v0.93.4

type PolicyAttachment_MaterialSelector struct {

	// material name
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*PolicyAttachment_MaterialSelector) Descriptor deprecated added in v0.93.4

func (*PolicyAttachment_MaterialSelector) Descriptor() ([]byte, []int)

Deprecated: Use PolicyAttachment_MaterialSelector.ProtoReflect.Descriptor instead.

func (*PolicyAttachment_MaterialSelector) GetName added in v0.93.4

func (*PolicyAttachment_MaterialSelector) ProtoMessage added in v0.93.4

func (*PolicyAttachment_MaterialSelector) ProtoMessage()

func (*PolicyAttachment_MaterialSelector) ProtoReflect added in v0.93.4

func (*PolicyAttachment_MaterialSelector) Reset added in v0.93.4

func (*PolicyAttachment_MaterialSelector) String added in v0.93.4

type PolicyAttachment_Ref added in v0.93.4

type PolicyAttachment_Ref struct {
	// policy reference, it might be in URI format.
	Ref string `protobuf:"bytes,1,opt,name=ref,proto3,oneof"`
}

type PolicyGroup added in v0.96.14

type PolicyGroup struct {
	ApiVersion string                       `protobuf:"bytes,1,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
	Kind       string                       `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"`
	Metadata   *Metadata                    `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
	Spec       *PolicyGroup_PolicyGroupSpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"`
	// contains filtered or unexported fields
}

Represents a group or policies

func (*PolicyGroup) Descriptor deprecated added in v0.96.14

func (*PolicyGroup) Descriptor() ([]byte, []int)

Deprecated: Use PolicyGroup.ProtoReflect.Descriptor instead.

func (*PolicyGroup) GetApiVersion added in v0.96.14

func (x *PolicyGroup) GetApiVersion() string

func (*PolicyGroup) GetKind added in v0.96.14

func (x *PolicyGroup) GetKind() string

func (*PolicyGroup) GetMetadata added in v0.96.14

func (x *PolicyGroup) GetMetadata() *Metadata

func (*PolicyGroup) GetSpec added in v0.96.14

func (*PolicyGroup) ProtoMessage added in v0.96.14

func (*PolicyGroup) ProtoMessage()

func (*PolicyGroup) ProtoReflect added in v0.96.14

func (x *PolicyGroup) ProtoReflect() protoreflect.Message

func (*PolicyGroup) Reset added in v0.96.14

func (x *PolicyGroup) Reset()

func (*PolicyGroup) String added in v0.96.14

func (x *PolicyGroup) String() string

type PolicyGroupAttachment added in v0.96.14

type PolicyGroupAttachment struct {

	// Group reference, it might be an URL or a provider reference
	Ref string `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
	// group arguments
	With map[string]string `` /* 149-byte string literal not displayed */
	// contains filtered or unexported fields
}

Represents a group attachment in a contract

func (*PolicyGroupAttachment) Descriptor deprecated added in v0.96.14

func (*PolicyGroupAttachment) Descriptor() ([]byte, []int)

Deprecated: Use PolicyGroupAttachment.ProtoReflect.Descriptor instead.

func (*PolicyGroupAttachment) GetRef added in v0.96.14

func (x *PolicyGroupAttachment) GetRef() string

func (*PolicyGroupAttachment) GetWith added in v0.100.0

func (x *PolicyGroupAttachment) GetWith() map[string]string

func (*PolicyGroupAttachment) ProtoMessage added in v0.96.14

func (*PolicyGroupAttachment) ProtoMessage()

func (*PolicyGroupAttachment) ProtoReflect added in v0.96.14

func (x *PolicyGroupAttachment) ProtoReflect() protoreflect.Message

func (*PolicyGroupAttachment) Reset added in v0.96.14

func (x *PolicyGroupAttachment) Reset()

func (*PolicyGroupAttachment) String added in v0.96.14

func (x *PolicyGroupAttachment) String() string

type PolicyGroup_Material added in v0.104.0

type PolicyGroup_Material struct {
	Type CraftingSchema_Material_MaterialType `protobuf:"varint,1,opt,name=type,proto3,enum=workflowcontract.v1.CraftingSchema_Material_MaterialType" json:"type,omitempty"`
	// Free form name, as we support placeholders eg `{{ inputs.input_name }}`
	// If no name is provided, material won't be enforced and will apply policies if `type` matches
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Optional bool   `protobuf:"varint,3,opt,name=optional,proto3" json:"optional,omitempty"`
	// Policies to be applied to this material
	Policies []*PolicyAttachment `protobuf:"bytes,6,rep,name=policies,proto3" json:"policies,omitempty"`
	// contains filtered or unexported fields
}

Policy group materials

func (*PolicyGroup_Material) Descriptor deprecated added in v0.104.0

func (*PolicyGroup_Material) Descriptor() ([]byte, []int)

Deprecated: Use PolicyGroup_Material.ProtoReflect.Descriptor instead.

func (*PolicyGroup_Material) GetName added in v0.104.0

func (x *PolicyGroup_Material) GetName() string

func (*PolicyGroup_Material) GetOptional added in v0.104.0

func (x *PolicyGroup_Material) GetOptional() bool

func (*PolicyGroup_Material) GetPolicies added in v0.104.0

func (x *PolicyGroup_Material) GetPolicies() []*PolicyAttachment

func (*PolicyGroup_Material) GetType added in v0.104.0

func (*PolicyGroup_Material) ProtoMessage added in v0.104.0

func (*PolicyGroup_Material) ProtoMessage()

func (*PolicyGroup_Material) ProtoReflect added in v0.104.0

func (x *PolicyGroup_Material) ProtoReflect() protoreflect.Message

func (*PolicyGroup_Material) Reset added in v0.104.0

func (x *PolicyGroup_Material) Reset()

func (*PolicyGroup_Material) String added in v0.104.0

func (x *PolicyGroup_Material) String() string

type PolicyGroup_PolicyGroupPolicies added in v0.96.14

type PolicyGroup_PolicyGroupPolicies struct {
	Materials   []*PolicyGroup_Material `protobuf:"bytes,1,rep,name=materials,proto3" json:"materials,omitempty"`
	Attestation []*PolicyAttachment     `protobuf:"bytes,2,rep,name=attestation,proto3" json:"attestation,omitempty"`
	// contains filtered or unexported fields
}

func (*PolicyGroup_PolicyGroupPolicies) Descriptor deprecated added in v0.96.14

func (*PolicyGroup_PolicyGroupPolicies) Descriptor() ([]byte, []int)

Deprecated: Use PolicyGroup_PolicyGroupPolicies.ProtoReflect.Descriptor instead.

func (*PolicyGroup_PolicyGroupPolicies) GetAttestation added in v0.96.14

func (x *PolicyGroup_PolicyGroupPolicies) GetAttestation() []*PolicyAttachment

func (*PolicyGroup_PolicyGroupPolicies) GetMaterials added in v0.96.14

func (*PolicyGroup_PolicyGroupPolicies) ProtoMessage added in v0.96.14

func (*PolicyGroup_PolicyGroupPolicies) ProtoMessage()

func (*PolicyGroup_PolicyGroupPolicies) ProtoReflect added in v0.96.14

func (*PolicyGroup_PolicyGroupPolicies) Reset added in v0.96.14

func (*PolicyGroup_PolicyGroupPolicies) String added in v0.96.14

type PolicyGroup_PolicyGroupSpec added in v0.96.14

type PolicyGroup_PolicyGroupSpec struct {
	Policies *PolicyGroup_PolicyGroupPolicies `protobuf:"bytes,1,opt,name=policies,proto3" json:"policies,omitempty"`
	Inputs   []*PolicyInput                   `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
	// contains filtered or unexported fields
}

func (*PolicyGroup_PolicyGroupSpec) Descriptor deprecated added in v0.96.14

func (*PolicyGroup_PolicyGroupSpec) Descriptor() ([]byte, []int)

Deprecated: Use PolicyGroup_PolicyGroupSpec.ProtoReflect.Descriptor instead.

func (*PolicyGroup_PolicyGroupSpec) GetInputs added in v0.100.0

func (x *PolicyGroup_PolicyGroupSpec) GetInputs() []*PolicyInput

func (*PolicyGroup_PolicyGroupSpec) GetPolicies added in v0.96.14

func (*PolicyGroup_PolicyGroupSpec) ProtoMessage added in v0.96.14

func (*PolicyGroup_PolicyGroupSpec) ProtoMessage()

func (*PolicyGroup_PolicyGroupSpec) ProtoReflect added in v0.96.14

func (*PolicyGroup_PolicyGroupSpec) Reset added in v0.96.14

func (x *PolicyGroup_PolicyGroupSpec) Reset()

func (*PolicyGroup_PolicyGroupSpec) String added in v0.96.14

func (x *PolicyGroup_PolicyGroupSpec) String() string

type PolicyInput added in v0.100.0

type PolicyInput struct {
	Name        string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	Required    bool   `protobuf:"varint,3,opt,name=required,proto3" json:"required,omitempty"`
	Default     string `protobuf:"bytes,4,opt,name=default,proto3" json:"default,omitempty"`
	// contains filtered or unexported fields
}

func (*PolicyInput) Descriptor deprecated added in v0.100.0

func (*PolicyInput) Descriptor() ([]byte, []int)

Deprecated: Use PolicyInput.ProtoReflect.Descriptor instead.

func (*PolicyInput) GetDefault added in v0.100.0

func (x *PolicyInput) GetDefault() string

func (*PolicyInput) GetDescription added in v0.100.0

func (x *PolicyInput) GetDescription() string

func (*PolicyInput) GetName added in v0.100.0

func (x *PolicyInput) GetName() string

func (*PolicyInput) GetRequired added in v0.100.0

func (x *PolicyInput) GetRequired() bool

func (*PolicyInput) ProtoMessage added in v0.100.0

func (*PolicyInput) ProtoMessage()

func (*PolicyInput) ProtoReflect added in v0.100.0

func (x *PolicyInput) ProtoReflect() protoreflect.Message

func (*PolicyInput) Reset added in v0.100.0

func (x *PolicyInput) Reset()

func (*PolicyInput) String added in v0.100.0

func (x *PolicyInput) String() string

type PolicySpec added in v0.93.4

type PolicySpec struct {

	// Types that are assignable to Source:
	//
	//	*PolicySpec_Path
	//	*PolicySpec_Embedded
	Source isPolicySpec_Source `protobuf_oneof:"source"`
	// if set, it will match any material supported by Chainloop
	// except those not having a direct schema (STRING, ARTIFACT, EVIDENCE), since their format cannot be guessed by the crafter.
	// CONTAINER, HELM_CHART are also excluded, but we might implement custom policies for them in the future.
	//
	// Deprecated: Marked as deprecated in workflowcontract/v1/crafting_schema.proto.
	Type     CraftingSchema_Material_MaterialType `protobuf:"varint,3,opt,name=type,proto3,enum=workflowcontract.v1.CraftingSchema_Material_MaterialType" json:"type,omitempty"`
	Policies []*PolicySpecV2                      `protobuf:"bytes,4,rep,name=policies,proto3" json:"policies,omitempty"`
	// Describe the supported inputs
	Inputs []*PolicyInput `protobuf:"bytes,5,rep,name=inputs,proto3" json:"inputs,omitempty"`
	// contains filtered or unexported fields
}

func (*PolicySpec) Descriptor deprecated added in v0.93.4

func (*PolicySpec) Descriptor() ([]byte, []int)

Deprecated: Use PolicySpec.ProtoReflect.Descriptor instead.

func (*PolicySpec) GetEmbedded deprecated added in v0.93.4

func (x *PolicySpec) GetEmbedded() string

Deprecated: Marked as deprecated in workflowcontract/v1/crafting_schema.proto.

func (*PolicySpec) GetInputs added in v0.100.0

func (x *PolicySpec) GetInputs() []*PolicyInput

func (*PolicySpec) GetPath deprecated added in v0.93.4

func (x *PolicySpec) GetPath() string

Deprecated: Marked as deprecated in workflowcontract/v1/crafting_schema.proto.

func (*PolicySpec) GetPolicies added in v0.96.9

func (x *PolicySpec) GetPolicies() []*PolicySpecV2

func (*PolicySpec) GetSource added in v0.93.4

func (m *PolicySpec) GetSource() isPolicySpec_Source

func (*PolicySpec) GetType deprecated added in v0.93.8

Deprecated: Marked as deprecated in workflowcontract/v1/crafting_schema.proto.

func (*PolicySpec) ProtoMessage added in v0.93.4

func (*PolicySpec) ProtoMessage()

func (*PolicySpec) ProtoReflect added in v0.93.4

func (x *PolicySpec) ProtoReflect() protoreflect.Message

func (*PolicySpec) Reset added in v0.93.4

func (x *PolicySpec) Reset()

func (*PolicySpec) String added in v0.93.4

func (x *PolicySpec) String() string

type PolicySpecV2 added in v0.96.9

type PolicySpecV2 struct {

	// Types that are assignable to Source:
	//
	//	*PolicySpecV2_Path
	//	*PolicySpecV2_Embedded
	Source isPolicySpecV2_Source `protobuf_oneof:"source"`
	// if set, it will match any material supported by Chainloop
	// except those not having a direct schema (STRING, ARTIFACT, EVIDENCE), since their format cannot be guessed by the crafter.
	// CONTAINER, HELM_CHART are also excluded, but we might implement custom policies for them in the future.
	Kind CraftingSchema_Material_MaterialType `protobuf:"varint,3,opt,name=kind,proto3,enum=workflowcontract.v1.CraftingSchema_Material_MaterialType" json:"kind,omitempty"`
	// contains filtered or unexported fields
}

func (*PolicySpecV2) Descriptor deprecated added in v0.96.9

func (*PolicySpecV2) Descriptor() ([]byte, []int)

Deprecated: Use PolicySpecV2.ProtoReflect.Descriptor instead.

func (*PolicySpecV2) GetEmbedded added in v0.96.9

func (x *PolicySpecV2) GetEmbedded() string

func (*PolicySpecV2) GetKind added in v0.96.9

func (*PolicySpecV2) GetPath added in v0.96.9

func (x *PolicySpecV2) GetPath() string

func (*PolicySpecV2) GetSource added in v0.96.9

func (m *PolicySpecV2) GetSource() isPolicySpecV2_Source

func (*PolicySpecV2) ProtoMessage added in v0.96.9

func (*PolicySpecV2) ProtoMessage()

func (*PolicySpecV2) ProtoReflect added in v0.96.9

func (x *PolicySpecV2) ProtoReflect() protoreflect.Message

func (*PolicySpecV2) Reset added in v0.96.9

func (x *PolicySpecV2) Reset()

func (*PolicySpecV2) String added in v0.96.9

func (x *PolicySpecV2) String() string

type PolicySpecV2_Embedded added in v0.96.9

type PolicySpecV2_Embedded struct {
	// embedded source code (only Rego supported currently)
	Embedded string `protobuf:"bytes,2,opt,name=embedded,proto3,oneof"`
}

type PolicySpecV2_Path added in v0.96.9

type PolicySpecV2_Path struct {
	// path to a policy script. It might consist of a URI reference
	Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
}

type PolicySpec_Embedded added in v0.93.4

type PolicySpec_Embedded struct {
	// embedded source code (only Rego supported currently)
	//
	// Deprecated: Marked as deprecated in workflowcontract/v1/crafting_schema.proto.
	Embedded string `protobuf:"bytes,2,opt,name=embedded,proto3,oneof"`
}

type PolicySpec_Path added in v0.93.4

type PolicySpec_Path struct {
	// path to a policy script. It might consist of a URI reference
	//
	// Deprecated: Marked as deprecated in workflowcontract/v1/crafting_schema.proto.
	Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
}

Jump to

Keyboard shortcuts

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