protocol

package
v0.0.0-...-6589b50 Latest Latest
Warning

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

Go to latest
Published: May 24, 2026 License: MIT Imports: 6 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

Types

type ContainerRuntimeTool

type ContainerRuntimeTool string
const (
	ContainerRuntimePodman  ContainerRuntimeTool = "podman"
	ContainerRuntimeDocker  ContainerRuntimeTool = "docker"
	ContainerRuntimeNerdctl ContainerRuntimeTool = "nerdctl"
)

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 ExecutionSandboxedContainer ExecutionSecurityTier = "sandboxed-container"

type NetworkMode

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

type NetworkOperatingMode

type NetworkOperatingMode string
const NetworkModeNodeService NetworkOperatingMode = "node-service"

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 ProofArtifactHash ProofTier = "artifact-hash"

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"`
}

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"`
	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"`
	RuntimeContract        ProviderRuntimeContract `json:"runtime_contract"`
}

func (ProviderContract) SupportsProduct

func (c ProviderContract) SupportsProduct(product NetworkProduct) error

func (ProviderContract) Validate

func (c ProviderContract) Validate() error

type ProviderRuntimeContract

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

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"`
	ConformanceProfiles       []string                  `json:"conformance_profiles,omitempty"`
	UpstreamClientConformance UpstreamClientConformance `json:"upstream_client_conformance,omitempty"`
	HostWorkspaceSupported    bool                      `json:"host_workspace_supported,omitempty"`
}

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 RuntimePermission

type RuntimePermission string
const RuntimePermissionForbidden RuntimePermission = "forbidden"

type RuntimeProfile

type RuntimeProfile string
const RuntimeProfileServiceOCI RuntimeProfile = "service-oci-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"
)

Jump to

Keyboard shortcuts

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