protocol

package
v0.0.0-...-d0045a8 Latest Latest
Warning

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

Go to latest
Published: May 24, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const Version = "compute.v1alpha1"

Variables

This section is empty.

Functions

func CanonicalHash

func CanonicalHash(value any) string

func ProviderPluginRequiresUpstreamClientConformance

func ProviderPluginRequiresUpstreamClientConformance(pluginID string) bool

Types

type AccessPolicy

type AccessPolicy struct {
	ProviderUsageVisibility AccessVisibility `json:"provider_usage_visibility,omitempty"`
	WorkloadVisibility      AccessVisibility `json:"workload_visibility,omitempty"`
	ArtifactVisibility      AccessVisibility `json:"artifact_visibility,omitempty"`
}

func (AccessPolicy) Validate

func (p AccessPolicy) Validate() error

type AccessVisibility

type AccessVisibility string
const (
	AccessVisibilityPrivate AccessVisibility = "private"
	AccessVisibilityNetwork AccessVisibility = "network"
	AccessVisibilityPublic  AccessVisibility = "public"
)

type ContainerRuntimeTool

type ContainerRuntimeTool string
const (
	ContainerRuntimePodman         ContainerRuntimeTool = "podman"
	ContainerRuntimeDocker         ContainerRuntimeTool = "docker"
	ContainerRuntimeNerdctl        ContainerRuntimeTool = "nerdctl"
	ContainerRuntimeAppleContainer ContainerRuntimeTool = "apple-container"
)

type CryptoRewardCustodyMode

type CryptoRewardCustodyMode string
const CryptoRewardCustodyTreasuryThenDistribute CryptoRewardCustodyMode = "treasury_then_distribute"

type CryptoRewardDistributionMode

type CryptoRewardDistributionMode string
const CryptoRewardDistributionContributionShare CryptoRewardDistributionMode = "contribution_share"

type CryptoRewardParticipantWalletSource

type CryptoRewardParticipantWalletSource string
const CryptoRewardParticipantAccountWallet CryptoRewardParticipantWalletSource = "account_wallet"

type CryptoRewardRoutingPolicy

type CryptoRewardRoutingPolicy struct {
	Network                 string                              `json:"network,omitempty"`
	TreasuryAccountID       string                              `json:"treasury_account_id,omitempty"`
	TreasuryWalletRef       string                              `json:"treasury_wallet_ref,omitempty"`
	CustodyMode             CryptoRewardCustodyMode             `json:"custody_mode,omitempty"`
	DistributionMode        CryptoRewardDistributionMode        `json:"distribution_mode,omitempty"`
	ParticipantWalletSource CryptoRewardParticipantWalletSource `json:"participant_wallet_source,omitempty"`
	ManagementFeeBps        int                                 `json:"management_fee_bps,omitempty"`
}

type ExecutionSecurityTier

type ExecutionSecurityTier string
const (
	ExecutionTrustedNative      ExecutionSecurityTier = "trusted-native"
	ExecutionHardenedContainer  ExecutionSecurityTier = "hardened-container"
	ExecutionSandboxedContainer ExecutionSecurityTier = "sandboxed-container"
	ExecutionMicroVM            ExecutionSecurityTier = "microvm"
	ExecutionConfidentialCPU    ExecutionSecurityTier = "confidential-cpu"
	ExecutionConfidentialGPU    ExecutionSecurityTier = "confidential-gpu"
	ExecutionWASMCapability     ExecutionSecurityTier = "wasm-capability"
)

type NetworkMode

type NetworkMode string
const (
	NetworkModeDirect NetworkMode = "direct"
	NetworkModeRelay  NetworkMode = "relay"
)

type NetworkOperatingMode

type NetworkOperatingMode string
const (
	NetworkModeBatch        NetworkOperatingMode = "batch"
	NetworkModeWarmService  NetworkOperatingMode = "warm-service"
	NetworkModeNodeService  NetworkOperatingMode = "node-service"
	NetworkModeInferenceAPI NetworkOperatingMode = "inference-api"
)

type NetworkProduct

type NetworkProduct struct {
	ProtocolVersion      string                    `json:"protocol_version"`
	ID                   string                    `json:"id"`
	DisplayName          string                    `json:"display_name,omitempty"`
	Purpose              string                    `json:"purpose,omitempty"`
	OperatingMode        NetworkOperatingMode      `json:"operating_mode"`
	OrgID                string                    `json:"org_id"`
	PoolID               string                    `json:"pool_id"`
	WorkloadKinds        []string                  `json:"workload_kinds"`
	SecurityFloor        PlacementRequirements     `json:"security_floor"`
	SessionPolicy        SessionPolicy             `json:"session_policy,omitzero"`
	ProviderConfig       ProviderConfig            `json:"provider_config,omitzero"`
	NetworkModes         []NetworkMode             `json:"network_modes"`
	PlacementConstraints PlacementConstraints      `json:"placement_constraints,omitzero"`
	RewardPolicy         string                    `json:"reward_policy"`
	AbusePolicy          string                    `json:"abuse_policy"`
	SettlementAccountID  string                    `json:"settlement_account_id,omitempty"`
	SettlementTarget     SettlementTarget          `json:"settlement_target,omitzero"`
	CryptoRewardRouting  CryptoRewardRoutingPolicy `json:"crypto_reward_routing,omitzero"`
}

func (NetworkProduct) Validate

func (p NetworkProduct) Validate() error

type PlacementConstraints

type PlacementConstraints struct {
	Chain                string          `json:"chain,omitempty"`
	Role                 string          `json:"role,omitempty"`
	MinDiskBytes         int64           `json:"min_disk_bytes,omitempty"`
	MinMemoryBytes       int64           `json:"min_memory_bytes,omitempty"`
	MinBandwidthMbps     int64           `json:"min_bandwidth_mbps,omitempty"`
	RequiresIngress      bool            `json:"requires_ingress,omitempty"`
	RequiredCapabilities []string        `json:"required_capabilities,omitempty"`
	WalletRef            string          `json:"wallet_ref,omitempty"`
	StorageGuidance      StorageGuidance `json:"storage_guidance,omitzero"`
}

type PlacementRequirements

type PlacementRequirements struct {
	ExecutorProvider      string                `json:"executor_provider,omitempty"`
	ExecutionSecurityTier ExecutionSecurityTier `json:"execution_security_tier,omitempty"`
	ProofTier             ProofTier             `json:"proof_tier,omitempty"`
}

type ProofTier

type ProofTier string
const (
	ProofReceiptOnly      ProofTier = "receipt-only"
	ProofArtifactHash     ProofTier = "artifact-hash"
	ProofReplicatedQuorum ProofTier = "replicated-quorum"
	ProofAttestedReceipt  ProofTier = "attested-receipt"
	ProofAttestedQuorum   ProofTier = "attested-quorum"
	ProofZKReplay         ProofTier = "zk-replay"
)

type ProviderArtifactSpec

type ProviderArtifactSpec struct {
	Name             string `json:"name"`
	Required         bool   `json:"required,omitempty"`
	ContentType      string `json:"content_type,omitempty"`
	MaxBytes         int64  `json:"max_bytes,omitempty"`
	RetentionSeconds int    `json:"retention_seconds,omitempty"`
	Forwardable      bool   `json:"forwardable,omitempty"`
}

type ProviderConfig

type ProviderConfig struct {
	PluginID     string `json:"plugin_id,omitempty"`
	ProviderID   string `json:"provider_id,omitempty"`
	ContractID   string `json:"contract_id,omitempty"`
	Version      string `json:"version,omitempty"`
	ConfigRef    string `json:"config_ref,omitempty"`
	ConfigDigest string `json:"config_digest,omitempty"`
}

type ProviderConformanceEvidence

type ProviderConformanceEvidence struct {
	ProtocolVersion       string    `json:"protocol_version"`
	ID                    string    `json:"id"`
	PluginID              string    `json:"plugin_id"`
	ProviderID            string    `json:"provider_id"`
	ContractID            string    `json:"contract_id"`
	Version               string    `json:"version"`
	RuntimeProfileID      string    `json:"runtime_profile_id"`
	ConformanceProfile    string    `json:"conformance_profile"`
	UpstreamClientName    string    `json:"upstream_client_name"`
	UpstreamClientVersion string    `json:"upstream_client_version"`
	EvidenceRef           string    `json:"evidence_ref"`
	EvidenceDigest        string    `json:"evidence_digest"`
	ObservedAt            time.Time `json:"observed_at"`
	CreatedAt             time.Time `json:"created_at,omitempty"`
}

func (ProviderConformanceEvidence) Validate

func (e ProviderConformanceEvidence) Validate() error

type ProviderContract

type ProviderContract struct {
	ProtocolVersion        string                  `json:"protocol_version"`
	ID                     string                  `json:"id"`
	PluginID               string                  `json:"plugin_id"`
	ProviderID             string                  `json:"provider_id"`
	ContractID             string                  `json:"contract_id"`
	Version                string                  `json:"version"`
	DisplayName            string                  `json:"display_name,omitempty"`
	OrgID                  string                  `json:"org_id,omitempty"`
	PoolID                 string                  `json:"pool_id,omitempty"`
	AccessPolicy           AccessPolicy            `json:"access_policy,omitzero"`
	ConfigSchemaRef        string                  `json:"config_schema_ref"`
	ConfigSchemaDigest     string                  `json:"config_schema_digest"`
	OperatingModes         []NetworkOperatingMode  `json:"operating_modes"`
	WorkloadKinds          []string                `json:"workload_kinds"`
	ExecutorProviders      []string                `json:"executor_providers"`
	ExecutionSecurityTiers []ExecutionSecurityTier `json:"execution_security_tiers"`
	ProofTiers             []ProofTier             `json:"proof_tiers"`
	NetworkModes           []NetworkMode           `json:"network_modes"`
	Operations             []ProviderOperation     `json:"operations,omitempty"`
	RuntimeContract        ProviderRuntimeContract `json:"runtime_contract"`
	CreatedAt              time.Time               `json:"created_at,omitempty"`
}

func (ProviderContract) Matches

func (c ProviderContract) Matches(config ProviderConfig) bool

func (ProviderContract) SupportsOperation

func (c ProviderContract) SupportsOperation(operation string) bool

func (ProviderContract) SupportsProduct

func (c ProviderContract) SupportsProduct(product NetworkProduct) error

func (ProviderContract) Validate

func (c ProviderContract) Validate() error

type ProviderOperation

type ProviderOperation struct {
	ID                 string                 `json:"id"`
	InputSchemaRef     string                 `json:"input_schema_ref"`
	InputSchemaDigest  string                 `json:"input_schema_digest"`
	OutputSchemaRef    string                 `json:"output_schema_ref"`
	OutputSchemaDigest string                 `json:"output_schema_digest"`
	Artifacts          []string               `json:"artifacts,omitempty"`
	ArtifactSpecs      []ProviderArtifactSpec `json:"artifact_specs,omitempty"`
}

func (ProviderOperation) NormalizedArtifactSpecs

func (o ProviderOperation) NormalizedArtifactSpecs() []ProviderArtifactSpec

func (ProviderOperation) Validate

func (o ProviderOperation) Validate() error

type ProviderRuntimeContract

type ProviderRuntimeContract struct {
	Profiles []ProviderRuntimeProfile `json:"profiles"`
}

func (ProviderRuntimeContract) SupportsProduct

func (c ProviderRuntimeContract) SupportsProduct(product NetworkProduct) bool

func (ProviderRuntimeContract) Validate

func (c ProviderRuntimeContract) Validate() error

type ProviderRuntimeProfile

type ProviderRuntimeProfile struct {
	ID                           string                    `json:"id"`
	RuntimeProfile               RuntimeProfile            `json:"runtime_profile"`
	ExecutorProvider             string                    `json:"executor_provider"`
	ExecutionSecurityTier        ExecutionSecurityTier     `json:"execution_security_tier"`
	ProofTier                    ProofTier                 `json:"proof_tier"`
	AllowedRuntimeTools          []ContainerRuntimeTool    `json:"allowed_runtime_tools,omitempty"`
	ImageDigestRequired          bool                      `json:"image_digest_required"`
	RootFSDigestRequired         bool                      `json:"rootfs_digest_required"`
	AllowedMountRefs             []string                  `json:"allowed_mount_refs,omitempty"`
	WritablePaths                []string                  `json:"writable_paths,omitempty"`
	WritableRootFS               RuntimePermission         `json:"writable_rootfs"`
	Privileged                   RuntimePermission         `json:"privileged"`
	HostNamespaces               RuntimePermission         `json:"host_namespaces"`
	HostSocket                   RuntimePermission         `json:"host_socket"`
	SeccompDisable               RuntimePermission         `json:"seccomp_disable"`
	NoNewPrivilegesDisable       RuntimePermission         `json:"no_new_privileges_disable"`
	AllowedCapabilities          []string                  `json:"allowed_capabilities,omitempty"`
	ConformanceProfiles          []string                  `json:"conformance_profiles,omitempty"`
	UpstreamClientConformance    UpstreamClientConformance `json:"upstream_client_conformance,omitempty"`
	UpstreamClientEvidenceRef    string                    `json:"upstream_client_evidence_ref,omitempty"`
	UpstreamClientEvidenceDigest string                    `json:"upstream_client_evidence_digest,omitempty"`
	HostWorkspaceSupported       bool                      `json:"host_workspace_supported,omitempty"`
	ResiduePolicy                ResiduePolicy             `json:"residue_policy,omitzero"`
	WASM                         WASMRuntimeContract       `json:"wasm,omitzero"`
}

func DefaultProviderRuntimeProfile

func DefaultProviderRuntimeProfile(executorProvider string, tier ExecutionSecurityTier, proof ProofTier) ProviderRuntimeProfile

func (ProviderRuntimeProfile) Validate

func (p ProviderRuntimeProfile) Validate() error

type ProviderUpstreamClientRequirement

type ProviderUpstreamClientRequirement struct {
	ProtocolVersion       string                      `json:"protocol_version"`
	PluginID              string                      `json:"plugin_id"`
	ProviderID            string                      `json:"provider_id"`
	ContractID            string                      `json:"contract_id"`
	Version               string                      `json:"version"`
	RuntimeProfileID      string                      `json:"runtime_profile_id"`
	ConformanceProfile    string                      `json:"conformance_profile"`
	DefaultConformance    UpstreamClientConformance   `json:"default_conformance"`
	RealClientConformance UpstreamClientConformance   `json:"real_client_conformance"`
	UpstreamClientName    string                      `json:"upstream_client_name"`
	VersionProbeCommand   []string                    `json:"version_probe_command,omitempty"`
	ImagePolicy           ProviderUpstreamImagePolicy `json:"image_policy"`
	RequiredEvidence      []string                    `json:"required_evidence,omitempty"`
	Notes                 []string                    `json:"notes,omitempty"`
}

func (ProviderUpstreamClientRequirement) Validate

type ProviderUpstreamImagePolicy

type ProviderUpstreamImagePolicy struct {
	DigestPinnedImageRequired     bool     `json:"digest_pinned_image_required"`
	OperatorSuppliedImageRequired bool     `json:"operator_supplied_image_required,omitempty"`
	RecommendedImageRef           string   `json:"recommended_image_ref,omitempty"`
	KnownImageRefs                []string `json:"known_image_refs,omitempty"`
}

func (ProviderUpstreamImagePolicy) Validate

func (p ProviderUpstreamImagePolicy) Validate() error

type ResidueMode

type ResidueMode string
const (
	ResidueModeIsolated      ResidueMode = "isolated"
	ResidueModeNone          ResidueMode = "none"
	ResidueModeProviderBound ResidueMode = "provider-bound"
	ResidueModeWorkerBound   ResidueMode = "worker-bound"
	ResidueModeSessionBound  ResidueMode = "session-bound"
)

type ResiduePolicy

type ResiduePolicy struct {
	Mode                ResidueMode   `json:"mode,omitempty"`
	AllowedModes        []ResidueMode `json:"allowed_modes,omitempty"`
	SessionKey          string        `json:"session_key,omitempty"`
	PolicyHash          string        `json:"policy_hash,omitempty"`
	MaxAgeSeconds       int           `json:"max_age_seconds,omitempty"`
	MaxReuseCount       int           `json:"max_reuse_count,omitempty"`
	WipeOnFailure       bool          `json:"wipe_on_failure,omitempty"`
	ExplicitWorkerBound bool          `json:"explicit_worker_bound,omitempty"`
}

func (ResiduePolicy) IsZero

func (p ResiduePolicy) IsZero() bool

func (ResiduePolicy) UsesReusableWorkspace

func (p ResiduePolicy) UsesReusableWorkspace() bool

func (ResiduePolicy) Validate

type ResiduePolicyValidation

type ResiduePolicyValidation struct {
	NoWorkspaceAllowed         bool
	RequireSessionKey          bool
	RequireExplicitWorkerBound bool
	RequirePolicyHash          bool
}

type RuntimePermission

type RuntimePermission string
const (
	RuntimePermissionForbidden RuntimePermission = "forbidden"
	RuntimePermissionExplicit  RuntimePermission = "explicit"
	RuntimePermissionAllowed   RuntimePermission = "allowed"
)

type RuntimeProfile

type RuntimeProfile string
const (
	RuntimeProfileSandboxedOCI   RuntimeProfile = "sandboxed-oci-v1"
	RuntimeProfileContainerBuild RuntimeProfile = "container-build-v1"
	RuntimeProfileServiceOCI     RuntimeProfile = "service-oci-v1"
	RuntimeProfileWASMComponent  RuntimeProfile = "wasm-component-v1"
	RuntimeProfileBrowserWorker  RuntimeProfile = "browser-worker-wasm-v1"
)

type SessionPolicy

type SessionPolicy struct {
	WarmSeconds      int `json:"warm_seconds,omitempty"`
	MinRenewals      int `json:"min_renewals,omitempty"`
	MaxBatchRequests int `json:"max_batch_requests,omitempty"`
}

type SettlementTarget

type SettlementTarget struct {
	Kind      SettlementTargetKind `json:"kind,omitempty"`
	AccountID string               `json:"account_id,omitempty"`
	Network   string               `json:"network,omitempty"`
	WalletRef string               `json:"wallet_ref,omitempty"`
}

type SettlementTargetKind

type SettlementTargetKind string
const SettlementTargetTreasuryWallet SettlementTargetKind = "treasury_wallet"

type StorageGuidance

type StorageGuidance struct {
	Mode                         string `json:"mode,omitempty"`
	MinDiskBytes                 int64  `json:"min_disk_bytes,omitempty"`
	MinDiskDisplay               string `json:"min_disk_display,omitempty"`
	RecommendedDiskBytes         int64  `json:"recommended_disk_bytes,omitempty"`
	RecommendedDiskDisplay       string `json:"recommended_disk_display,omitempty"`
	GrowthMarginBytes            int64  `json:"growth_margin_bytes,omitempty"`
	GrowthMarginDisplay          string `json:"growth_margin_display,omitempty"`
	DurableVolumeRequired        bool   `json:"durable_volume_required,omitempty"`
	PreserveOnUpdate             bool   `json:"preserve_on_update,omitempty"`
	PreserveOnUninstall          bool   `json:"preserve_on_uninstall,omitempty"`
	PruningSupported             bool   `json:"pruning_supported,omitempty"`
	SnapshotVerificationRequired bool   `json:"snapshot_verification_required,omitempty"`
}

type UpstreamClientConformance

type UpstreamClientConformance string
const (
	UpstreamClientConformanceShapeOnly  UpstreamClientConformance = "shape-only"
	UpstreamClientConformanceRealClient UpstreamClientConformance = "real-client"
)

type WASMRuntimeContract

type WASMRuntimeContract struct {
	ABI               string            `json:"abi"`
	ComponentRef      string            `json:"component_ref"`
	ComponentDigest   string            `json:"component_digest"`
	Features          []string          `json:"features,omitempty"`
	MaxMemoryBytes    int64             `json:"max_memory_bytes,omitempty"`
	MaxRuntimeSeconds int               `json:"max_runtime_seconds,omitempty"`
	Filesystem        RuntimePermission `json:"filesystem"`
	Network           RuntimePermission `json:"network"`
	NativeHostUpdates RuntimePermission `json:"native_host_updates,omitempty"`
	BrowserWorker     bool              `json:"browser_worker,omitempty"`
}

func (WASMRuntimeContract) Validate

func (w WASMRuntimeContract) Validate(profile RuntimeProfile) error

type WorkloadKind

type WorkloadKind string
const (
	WorkloadCommand            WorkloadKind = "command"
	WorkloadContainerBuild     WorkloadKind = "container-build"
	WorkloadDockerComposeBuild WorkloadKind = "docker-compose-build"
	WorkloadBenchmark          WorkloadKind = "benchmark"
	WorkloadTraining           WorkloadKind = "training"
	WorkloadService            WorkloadKind = "service"
	WorkloadNodeService        WorkloadKind = "node-service"
	WorkloadContentCache       WorkloadKind = "content-cache"
	WorkloadSupervisor         WorkloadKind = "supervisor"
	WorkloadProductCapture     WorkloadKind = "product-capture"
	WorkloadProvider           WorkloadKind = "provider"
	WorkloadWASMComponent      WorkloadKind = "wasm-component"
)

Jump to

Keyboard shortcuts

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