Documentation
¶
Index ¶
- Constants
- func MarshalDeterministic(a *Artifact) ([]byte, error)
- func SharedReadiness(a *Artifact) []artifact.OperationReadiness
- func Write(path string, a *Artifact) error
- type Artifact
- type ArtifactSetEntry
- type AuthorityBoundary
- type BuildOptions
- type ContributingFact
- type Operation
- type Summary
- type ValidationOptions
- type ValidationResult
Constants ¶
View Source
const ( SchemaVersion = "vango.operations.readiness.v1.0" ArtifactKind = "vango_operation_readiness" DefaultOutputPath = ".vango/operations/vango_operation_readiness.json" )
Variables ¶
This section is empty.
Functions ¶
func MarshalDeterministic ¶
func SharedReadiness ¶
func SharedReadiness(a *Artifact) []artifact.OperationReadiness
Types ¶
type Artifact ¶
type Artifact struct {
SchemaVersion string `json:"schema_version"`
ArtifactID string `json:"artifact_id"`
ArtifactKind string `json:"artifact_kind"`
Producer artifact.Producer `json:"producer"`
App artifact.App `json:"app"`
Analysis artifact.Analysis `json:"analysis"`
AuthorityBoundary AuthorityBoundary `json:"authority_boundary"`
ArtifactSet map[string]ArtifactSetEntry `json:"artifact_set"`
Summary Summary `json:"summary"`
Operations []Operation `json:"operations"`
Inputs []artifact.ArtifactRef `json:"inputs"`
Outputs []artifact.ArtifactRef `json:"outputs"`
References map[string]artifact.ArtifactRef `json:"references"`
Diagnostics []artifact.Diagnostic `json:"diagnostics"`
}
func Build ¶
func Build(opts BuildOptions) (*Artifact, error)
type ArtifactSetEntry ¶
type ArtifactSetEntry struct {
Status artifact.ArtifactRefStatus `json:"status"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
Required bool `json:"required"`
Path string `json:"path,omitempty"`
SchemaVersion string `json:"schema_version,omitempty"`
Reason string `json:"reason,omitempty"`
}
type AuthorityBoundary ¶
type BuildOptions ¶
type BuildOptions struct {
ProjectRoot string
ArtifactRoot string
Name string
Module string
AppVersion string
ToolVersion string
Commit string
OutputPath string
HostManifest *hostmanifest.Manifest
RouteContract *routecontract.Contract
StateImpact *stateimpact.Impact
RuntimeServices *runtimeservices.Artifact
EnvContract *envcontract.Contract
AuthContract *authcontract.Contract
DBContract *dbcontract.Contract
DBValidation *dbcontract.Validation
DBImpact *dbcontract.Impact
StorageContract *storagecontract.Contract
PaymentContract *paymentcontract.Contract
}
type ContributingFact ¶
type ContributingFact struct {
Artifact string `json:"artifact"`
EntityID string `json:"entity_id,omitempty"`
Status artifact.ReadinessStatus `json:"status"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
}
type Operation ¶
type Operation struct {
Operation artifact.Operation `json:"operation"`
Status artifact.ReadinessStatus `json:"status"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
Classification string `json:"classification"`
RequiredArtifacts []string `json:"required_artifacts"`
ContributingArtifacts []string `json:"contributing_artifacts"`
ContributingFacts []ContributingFact `json:"contributing_facts"`
BlockingFacts []string `json:"blocking_facts"`
ManualReviewFacts []string `json:"manual_review_facts"`
UnsupportedFacts []string `json:"unsupported_facts"`
NotProvenFacts []string `json:"not_proven_facts"`
Diagnostics []artifact.Diagnostic `json:"diagnostics"`
Repair artifact.Repair `json:"repair,omitempty"`
}
type Summary ¶
type Summary struct {
OperationCount int `json:"operation_count"`
ReadyCount int `json:"ready_count"`
ReadyWithWarningCount int `json:"ready_with_warning_count"`
ManualRequiredCount int `json:"manual_required_count"`
BlockedCount int `json:"blocked_count"`
NotApplicableCount int `json:"not_applicable_count"`
UnknownCount int `json:"unknown_count"`
DiagnosticCount int `json:"diagnostic_count"`
}
type ValidationOptions ¶
type ValidationResult ¶
type ValidationResult struct {
Valid bool `json:"valid"`
Diagnostics []artifact.Diagnostic `json:"diagnostics"`
}
func Validate ¶
func Validate(a *Artifact, opts ValidationOptions) ValidationResult
Click to show internal directories.
Click to hide internal directories.