Documentation
¶
Index ¶
- Constants
- func CanonicalHash(value any) string
- type ContainerRuntimeTool
- type CryptoRewardCustodyMode
- type CryptoRewardDistributionMode
- type CryptoRewardParticipantWalletSource
- type CryptoRewardRoutingPolicy
- type ExecutionSecurityTier
- type NetworkMode
- type NetworkOperatingMode
- type NetworkProduct
- type PlacementConstraints
- type PlacementRequirements
- type ProofTier
- type ProviderConfig
- type ProviderContract
- type ProviderRuntimeContract
- type ProviderRuntimeProfile
- type ProviderUpstreamClientRequirement
- type ProviderUpstreamImagePolicy
- type ResidueMode
- type ResiduePolicy
- type ResiduePolicyValidation
- type RuntimePermission
- type RuntimeProfile
- type SessionPolicy
- type SettlementTarget
- type SettlementTargetKind
- type StorageGuidance
- type UpstreamClientConformance
- type WASMRuntimeContract
- type WorkloadKind
Constants ¶
View Source
const Version = "compute.v1alpha1"
Variables ¶
This section is empty.
Functions ¶
func CanonicalHash ¶
Types ¶
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 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" 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 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 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"`
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 ¶
func (r ProviderUpstreamClientRequirement) Validate() error
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 ¶
func (p ResiduePolicy) Validate(v ResiduePolicyValidation) error
type ResiduePolicyValidation ¶
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 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" )
Click to show internal directories.
Click to hide internal directories.