Documentation
¶
Index ¶
- Constants
- func MarshalDeterministic(m *Manifest) ([]byte, error)
- func Write(path string, m *Manifest) error
- type AuthTenancy
- type AuthTenancySummary
- type BuildOptions
- type Codegen
- type CodegenSummary
- type Database
- type DatabaseSummary
- type DeployImpact
- type Environment
- type EnvironmentVariable
- type HTTPRuntime
- type HostCriticalRoute
- type Manifest
- type ObjectStorage
- type ObjectStorageSummary
- type OperationReadiness
- type Payments
- type PaymentsSummary
- type Process
- type Proof
- type RouteSummary
- type Routes
- type RoutesContract
- type Runtime
- type RuntimeServices
- type Security
- type SecurityCSRF
- type SecurityCookies
- type SecurityOrigins
- type SecurityRuntimePathPreservation
- type SecurityTrustedProxies
- type ServicesSummary
- type SessionRuntime
- type State
- type Surface
- type Toolchain
- type UnsafeConfig
- type UnsafeConfigEntry
- type ValidationOptions
- type ValidationResult
Constants ¶
View Source
const ( SchemaVersion = "vango.host.v1.0" ArtifactKind = "vango_host_manifest" DefaultOutputPath = ".vango/host/vango_host_manifest.json" AuthTenancyContractSchemaVersion = "vango.auth.tenancy.v1.0" )
Variables ¶
This section is empty.
Functions ¶
func MarshalDeterministic ¶
Types ¶
type AuthTenancy ¶
type AuthTenancy struct {
Status string `json:"status"`
ContractRef artifact.ArtifactRef `json:"contract_ref"`
Summary AuthTenancySummary `json:"summary"`
}
type AuthTenancySummary ¶
type BuildOptions ¶
type BuildOptions struct {
ProjectRoot string
Name string
Module string
AppVersion string
ToolVersion string
Commit string
OutputPath string
ArtifactRoot string
Config *config.Config
StateImpact *stateimpact.Impact
RouteContract *routecontract.Contract
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 Codegen ¶
type Codegen struct {
Status string `json:"status"`
ManifestRef artifact.ArtifactRef `json:"manifest_ref"`
Summary CodegenSummary `json:"summary"`
}
type CodegenSummary ¶
type Database ¶
type Database struct {
Mode string `json:"mode"`
ContractRef artifact.ArtifactRef `json:"contract_ref"`
ValidationRef artifact.ArtifactRef `json:"validation_ref"`
ImpactRef artifact.ArtifactRef `json:"impact_ref"`
Summary DatabaseSummary `json:"summary"`
}
type DatabaseSummary ¶
type DeployImpact ¶
type Environment ¶
type Environment struct {
Variables []EnvironmentVariable `json:"variables"`
SecretValuesInManifest bool `json:"secret_values_in_manifest"`
ContractRef artifact.ArtifactRef `json:"contract_ref"`
}
type EnvironmentVariable ¶
type EnvironmentVariable struct {
ID string `json:"id"`
Name string `json:"name"`
Required bool `json:"required"`
Scopes []string `json:"scopes"`
Sensitivity string `json:"sensitivity"`
Origin artifact.Origin `json:"origin"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
SourceRef artifact.SourceRef `json:"source_ref,omitempty"`
}
type HTTPRuntime ¶
type HTTPRuntime struct {
PageRoutesOwnedByVango bool `json:"page_routes_owned_by_vango"`
PublicRuntimePrefix string `json:"public_runtime_prefix"`
RuntimeEndpointPrefix string `json:"runtime_endpoint_prefix"`
LivePath string `json:"live_path"`
ClientScriptPath string `json:"client_script_path"`
LegacyWSPath string `json:"legacy_ws_path"`
MaxHandshakePathBytes int `json:"max_handshake_path_bytes"`
}
type HostCriticalRoute ¶
type Manifest ¶
type Manifest 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"`
Toolchain Toolchain `json:"toolchain"`
Inputs []artifact.ArtifactRef `json:"inputs"`
Runtime Runtime `json:"runtime"`
Routes Routes `json:"routes"`
State State `json:"state"`
DeployImpact DeployImpact `json:"deploy_impact"`
Surfaces []Surface `json:"surfaces"`
RuntimeServices RuntimeServices `json:"runtime_services"`
RoutesContract RoutesContract `json:"routes_contract"`
AuthTenancy AuthTenancy `json:"auth_tenancy"`
Database Database `json:"database"`
ObjectStorage ObjectStorage `json:"object_storage"`
Payments Payments `json:"payments"`
ProviderProfiles []artifact.ProfileFact `json:"provider_profiles"`
ControlProfiles []artifact.ProfileFact `json:"control_profiles"`
Codegen Codegen `json:"codegen"`
Proof Proof `json:"proof"`
OperationReadiness OperationReadiness `json:"operation_readiness"`
Environment Environment `json:"environment"`
Security Security `json:"security"`
UnsafeConfig UnsafeConfig `json:"unsafe_config"`
Outputs []artifact.ArtifactRef `json:"outputs"`
References map[string]artifact.ArtifactRef `json:"references"`
Diagnostics []artifact.Diagnostic `json:"diagnostics"`
}
func Build ¶
func Build(opts BuildOptions) (*Manifest, error)
type ObjectStorage ¶
type ObjectStorage struct {
Status string `json:"status"`
ProfileRef artifact.ArtifactRef `json:"profile_ref"`
Summary ObjectStorageSummary `json:"summary"`
}
type ObjectStorageSummary ¶
type ObjectStorageSummary struct {
Enabled bool `json:"enabled"`
ProviderProfiles []string `json:"provider_profiles"`
UploadFlows int `json:"upload_flows"`
TempCleanupStatus string `json:"temp_cleanup_status,omitempty"`
PromoteStatus string `json:"promote_status,omitempty"`
TenantKeyScopeStatus string `json:"tenant_key_scope_status,omitempty"`
ManualRequired bool `json:"manual_required"`
Blocked bool `json:"blocked"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
}
type OperationReadiness ¶
type OperationReadiness struct {
Status string `json:"status"`
Summary map[artifact.Operation]artifact.ReadinessStatus `json:"summary"`
}
type Payments ¶
type Payments struct {
Status string `json:"status"`
ProfileRef artifact.ArtifactRef `json:"profile_ref"`
Summary PaymentsSummary `json:"summary"`
}
type PaymentsSummary ¶
type PaymentsSummary struct {
Enabled bool `json:"enabled"`
ProviderProfiles []string `json:"provider_profiles"`
Flows []string `json:"flows"`
Webhooks int `json:"webhooks"`
WebhookSignatureStatus string `json:"webhook_signature_status,omitempty"`
WebhookIdempotencyStatus string `json:"webhook_idempotency_status,omitempty"`
FulfillmentStatus string `json:"fulfillment_status,omitempty"`
ReturnVerificationStatus string `json:"return_verification_status,omitempty"`
PricingCatalogStatus string `json:"pricing_catalog_status,omitempty"`
ManualRequired bool `json:"manual_required"`
Blocked bool `json:"blocked"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
}
type Proof ¶
type Proof struct {
Status string `json:"status"`
ProofBundleRef artifact.ArtifactRef `json:"proof_bundle_ref"`
}
type RouteSummary ¶
type Routes ¶
type Routes struct {
RoutesDir string `json:"routes_dir"`
GeneratedFile string `json:"generated_file,omitempty"`
GeneratedDigest string `json:"generated_digest,omitempty"`
Status string `json:"status"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
RouteSummary RouteSummary `json:"route_summary"`
HostCriticalRoutes []HostCriticalRoute `json:"host_critical_routes"`
}
type RoutesContract ¶
type RoutesContract struct {
Status string `json:"status"`
RoutesRef artifact.ArtifactRef `json:"routes_ref"`
Summary RouteSummary `json:"summary"`
}
type Runtime ¶
type Runtime struct {
Processes []Process `json:"processes"`
HTTP HTTPRuntime `json:"http"`
Session SessionRuntime `json:"session"`
}
type RuntimeServices ¶
type RuntimeServices struct {
Status string `json:"status"`
ServicesRef artifact.ArtifactRef `json:"services_ref"`
Summary ServicesSummary `json:"summary"`
RequiredForHostCapabilities map[string][]string `json:"required_for_host_capabilities"`
}
type Security ¶
type Security struct {
Origins SecurityOrigins `json:"origins"`
CSRF SecurityCSRF `json:"csrf"`
Cookies SecurityCookies `json:"cookies"`
TrustedProxies SecurityTrustedProxies `json:"trusted_proxies"`
RuntimePathPreservation SecurityRuntimePathPreservation `json:"runtime_path_preservation"`
}
type SecurityCSRF ¶
type SecurityCookies ¶
type SecurityOrigins ¶
type SecurityTrustedProxies ¶
type ServicesSummary ¶
type SessionRuntime ¶
type State ¶
type State struct {
Enabled bool `json:"enabled"`
Status string `json:"status"`
ManifestPath string `json:"manifest_path,omitempty"`
ManifestDigest string `json:"manifest_digest,omitempty"`
ManifestStatus string `json:"manifest_status,omitempty"`
SchemaPath string `json:"schema_path,omitempty"`
SchemaDigest string `json:"schema_digest,omitempty"`
SchemaStatus string `json:"schema_status,omitempty"`
BindingsGlob string `json:"bindings_glob"`
BindingsStatus string `json:"bindings_status"`
BindingsFileCount int `json:"bindings_file_count"`
PersistedPrimitives int `json:"persisted_primitives"`
SessionKeys int `json:"session_keys"`
GlobalSignals int `json:"global_signals"`
}
type Surface ¶
type Surface struct {
ID string `json:"id"`
Kind string `json:"kind"`
Topology string `json:"topology"`
RuntimeAuthority string `json:"runtime_authority"`
BaseURLRequired bool `json:"base_url_required"`
HostedBaseURL string `json:"hosted_base_url,omitempty"`
AllowedOrigins []string `json:"allowed_origins"`
TrustedSurfaceRequired bool `json:"trusted_surface_required"`
ShellCapabilities []string `json:"shell_capabilities"`
Origin artifact.Origin `json:"origin"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
SourceRef artifact.SourceRef `json:"source_ref,omitempty"`
}
type Toolchain ¶
type Toolchain struct {
VangoVersion string `json:"vango_version"`
ToolVersion string `json:"tool_version"`
GoVersion string `json:"go_version,omitempty"`
RoutesContractSchemaVersion string `json:"routes_contract_schema_version"`
StateImpactSchemaVersion string `json:"state_impact_schema_version"`
RuntimeServicesSchemaVersion string `json:"runtime_services_schema_version"`
SecretEnvContractSchemaVersion string `json:"secret_env_contract_schema_version"`
AuthTenancySchemaVersion string `json:"auth_tenancy_schema_version"`
DatabaseContractSchemaVersion string `json:"database_contract_schema_version"`
DatabaseValidationSchemaVersion string `json:"database_validation_schema_version"`
DatabaseImpactSchemaVersion string `json:"database_impact_schema_version"`
ObjectStorageSchemaVersion string `json:"object_storage_schema_version"`
StripePaymentSchemaVersion string `json:"stripe_payment_schema_version"`
HostManifestSchemaVersion string `json:"host_manifest_schema_version"`
}
type UnsafeConfig ¶
type UnsafeConfig struct {
Entries []UnsafeConfigEntry `json:"entries"`
ProductionSafe bool `json:"production_safe"`
}
type UnsafeConfigEntry ¶
type ValidationOptions ¶
type ValidationResult ¶
type ValidationResult struct {
Valid bool `json:"valid"`
Diagnostics []artifact.Diagnostic `json:"diagnostics"`
}
func Validate ¶
func Validate(m *Manifest, opts ValidationOptions) ValidationResult
Click to show internal directories.
Click to hide internal directories.