readiness

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: May 14, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Index

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 MarshalDeterministic(a *Artifact) ([]byte, error)

func SharedReadiness

func SharedReadiness(a *Artifact) []artifact.OperationReadiness

func Write

func Write(path string, a *Artifact) error

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 AuthorityBoundary struct {
	VangoApprovesProduction bool     `json:"vango_approves_production"`
	HostPolicyRequired      bool     `json:"host_policy_required"`
	PolicyOwner             string   `json:"policy_owner"`
	ManualApprovalRequired  []string `json:"manual_approval_required"`
}

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 ValidationOptions struct {
	ProjectRoot      string
	RequireArtifacts bool
}

type ValidationResult

type ValidationResult struct {
	Valid       bool                  `json:"valid"`
	Diagnostics []artifact.Diagnostic `json:"diagnostics"`
}

func Validate

func Validate(a *Artifact, opts ValidationOptions) ValidationResult

Jump to

Keyboard shortcuts

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