Documentation
¶
Index ¶
- Constants
- func EvidenceRefs(result *Result) []string
- func ValidateProvenanceJSON(payload []byte) error
- type Candidate
- type Context
- type ControlMetadata
- type Provenance
- type ProvenanceActor
- type ProvenanceBranchProtection
- type ProvenanceCheck
- type ProvenanceDeployment
- type ProvenanceEnvironmentGate
- type Result
Constants ¶
View Source
const ( SourceLocalGit = "local_git" ConfidenceHigh = "high" ConfidenceLow = "low" )
View Source
const ( SourceProviderProvenance = "provider_pr_mr_provenance" SourceGitHubEvent = "github_event_payload" SourceGitLabEvent = "gitlab_merge_request_event" SourceSidecar = "source_metadata" )
Variables ¶
This section is empty.
Functions ¶
func EvidenceRefs ¶ added in v1.6.0
func ValidateProvenanceJSON ¶ added in v1.6.0
Types ¶
type Context ¶ added in v1.4.0
type Context struct {
RepoRoot string
Candidates []Candidate
ControlMetadata map[string]ControlMetadata
}
func LoadContext ¶ added in v1.4.0
type ControlMetadata ¶ added in v1.6.0
type ControlMetadata struct {
Path string `json:"path"`
Owner string `json:"owner,omitempty"`
OwnerSource string `json:"owner_source,omitempty"`
ControlResolutionState string `json:"control_resolution_state,omitempty"`
ControlResolutionReasons []string `json:"control_resolution_reasons,omitempty"`
ControlEvidenceRefs []string `json:"control_evidence_refs,omitempty"`
ConstraintEvidenceClasses []string `json:"constraint_evidence_classes,omitempty"`
ConstraintEvidenceRefs []string `json:"constraint_evidence_refs,omitempty"`
ConstraintEvidenceStatus string `json:"constraint_evidence_status,omitempty"`
ApprovalEvidenceState string `json:"approval_evidence_state,omitempty"`
OwnerEvidenceState string `json:"owner_evidence_state,omitempty"`
ProofEvidenceState string `json:"proof_evidence_state,omitempty"`
RuntimeEvidenceState string `json:"runtime_evidence_state,omitempty"`
TargetEvidenceState string `json:"target_evidence_state,omitempty"`
CredentialEvidenceState string `json:"credential_evidence_state,omitempty"`
ExternalReferences []string `json:"external_references,omitempty"`
TargetClass string `json:"target_class,omitempty"`
TargetClassReasons []string `json:"target_class_reasons,omitempty"`
TargetClassEvidenceRefs []string `json:"target_class_evidence_refs,omitempty"`
EvidenceDecisions []evidencepolicy.Decision `json:"evidence_decisions,omitempty"`
}
func ResolveControlMetadata ¶ added in v1.6.0
func ResolveControlMetadata(byPath map[string]ControlMetadata, location string) (ControlMetadata, bool)
type Provenance ¶ added in v1.6.0
type Provenance struct {
Provider string `json:"provider,omitempty"`
Kind string `json:"kind,omitempty"`
Reference string `json:"reference,omitempty"`
Number int `json:"number,omitempty"`
Title string `json:"title,omitempty"`
ProviderURL string `json:"provider_url,omitempty"`
HeadSHA string `json:"head_sha,omitempty"`
MergeCommitSHA string `json:"merge_commit_sha,omitempty"`
Author string `json:"author,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
BaseBranch string `json:"base_branch,omitempty"`
HeadBranch string `json:"head_branch,omitempty"`
MergedBy string `json:"merged_by,omitempty"`
MergeMethod string `json:"merge_method,omitempty"`
MergeState string `json:"merge_state,omitempty"`
ChangedFiles []string `json:"changed_files,omitempty"`
Reviewers []ProvenanceActor `json:"reviewers,omitempty"`
Approvals []ProvenanceActor `json:"approvals,omitempty"`
Checks []ProvenanceCheck `json:"checks,omitempty"`
Deployments []ProvenanceDeployment `json:"deployments,omitempty"`
BranchProtections []ProvenanceBranchProtection `json:"branch_protections,omitempty"`
EnvironmentGates []ProvenanceEnvironmentGate `json:"environment_gates,omitempty"`
ConflictState string `json:"conflict_state,omitempty"`
MissingEvidence []string `json:"missing_evidence,omitempty"`
EvidenceRefs []string `json:"evidence_refs,omitempty"`
AIAssisted bool `json:"ai_assisted,omitempty"`
AutomationAssisted bool `json:"automation_assisted,omitempty"`
}
func CloneProvenance ¶ added in v1.6.0
func CloneProvenance(in *Provenance) *Provenance
func NormalizeProvenance ¶ added in v1.6.0
func NormalizeProvenance(in *Provenance) *Provenance
type ProvenanceActor ¶ added in v1.6.0
type ProvenanceBranchProtection ¶ added in v1.6.0
type ProvenanceCheck ¶ added in v1.6.0
type ProvenanceCheck struct {
Name string `json:"name,omitempty"`
Status string `json:"status,omitempty"`
Conclusion string `json:"conclusion,omitempty"`
Category string `json:"category,omitempty"`
ObservedAt string `json:"observed_at,omitempty"`
ProviderURL string `json:"provider_url,omitempty"`
Required bool `json:"required,omitempty"`
}
type ProvenanceDeployment ¶ added in v1.6.0
type ProvenanceEnvironmentGate ¶ added in v1.6.0
type Result ¶
type Result struct {
Source string `json:"source"`
Confidence string `json:"confidence"`
MissingReason string `json:"missing_reason,omitempty"`
Provider string `json:"provider,omitempty"`
Reference string `json:"reference,omitempty"`
PRNumber int `json:"pr_number,omitempty"`
CommitSHA string `json:"commit_sha,omitempty"`
Author string `json:"author,omitempty"`
Timestamp string `json:"timestamp,omitempty"`
ChangedFile string `json:"changed_file,omitempty"`
LineRange *model.LocationRange `json:"line_range,omitempty"`
ProviderURL string `json:"provider_url,omitempty"`
Provenance *Provenance `json:"provenance,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.