Documentation
¶
Index ¶
- Constants
- func ApplyHostBindingValidation(a *Artifact, path string) error
- func MarshalDeterministic(a *Artifact) ([]byte, error)
- func Write(path string, a *Artifact) error
- type Analysis
- type App
- type Artifact
- type BindingValidation
- type BuildOptions
- type DeclaredService
- type HostCapability
- type OperationRequirement
- type Service
- type Toolchain
- type ValidationOptions
- type ValidationResult
Constants ¶
View Source
const ( SchemaVersion = "vango.runtime.services.v1.0" ArtifactKind = "vango_runtime_services" DefaultOutputPath = ".vango/runtime/vango_runtime_services.json" )
Variables ¶
This section is empty.
Functions ¶
func MarshalDeterministic ¶
Types ¶
type Analysis ¶
type Analysis struct {
Mode string `json:"mode"`
Status artifact.AnalysisStatus `json:"status"`
SupportLevel artifact.SupportLevel `json:"support_level"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
RedactionStatus artifact.RedactionStatus `json:"redaction_status,omitempty"`
BindingValidation BindingValidation `json:"binding_validation"`
UnsupportedReason string `json:"unsupported_reason,omitempty"`
}
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"`
Toolchain Toolchain `json:"toolchain"`
App App `json:"app"`
Analysis Analysis `json:"analysis"`
Services []Service `json:"services"`
HostCapabilities []HostCapability `json:"host_capabilities_required"`
OperationRequirements map[string]OperationRequirement `json:"operation_requirements"`
OperationReadiness []artifact.OperationReadiness `json:"operation_readiness"`
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 BindingValidation ¶
type BindingValidation struct {
Supported bool `json:"supported"`
Executed bool `json:"executed"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
MissingServices []string `json:"missing_services,omitempty"`
MissingCapabilities []string `json:"missing_capabilities,omitempty"`
InvalidServices []string `json:"invalid_services,omitempty"`
UnsupportedReason string `json:"unsupported_reason,omitempty"`
}
type BuildOptions ¶
type BuildOptions struct {
ProjectRoot string
Name string
Module string
AppVersion string
ToolVersion string
Commit string
BuildTags []string
GeneratorInputs []string
OutputPath string
SessionResumeWindow string
BlobEnabled bool
BlobProvider string
DeclaredServices []DeclaredService
RouteContract *routecontract.Contract
RouteContractPath string
}
type DeclaredService ¶
type HostCapability ¶
type HostCapability struct {
ID string `json:"id"`
Name string `json:"name"`
Required bool `json:"required"`
RequiredFor []string `json:"required_for"`
Origin artifact.Origin `json:"origin"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
SourceRef artifact.SourceRef `json:"source_ref,omitempty"`
}
type OperationRequirement ¶
type Service ¶
type Service struct {
ID string `json:"id"`
Name string `json:"name"`
Class string `json:"class"`
Required bool `json:"required"`
RequiredFor []string `json:"required_for"`
Scopes []string `json:"scopes"`
EnvRefs []string `json:"env_refs"`
ProviderProfile string `json:"provider_profile,omitempty"`
AcceptableProviders []string `json:"acceptable_providers,omitempty"`
RequiredCapabilities []string `json:"required_capabilities,omitempty"`
Degradation []string `json:"degradation"`
Origin artifact.Origin `json:"origin"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
SourceRef artifact.SourceRef `json:"source_ref,omitempty"`
}
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.