network

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProviderCatalogVersion = "network-provider-contracts.v1"
	SidecarProtocolVersion = "compute-network-sidecar.v1"
)

Variables

This section is empty.

Functions

func VerifyProviderConformance

func VerifyProviderConformance(spec ConformanceSpec) error

Types

type ConformanceSpec

type ConformanceSpec struct {
	Descriptor            ProviderDescriptor     `json:"descriptor"`
	PrepareRequest        SidecarPrepareRequest  `json:"prepare_request"`
	PrepareResponse       SidecarPrepareResponse `json:"prepare_response"`
	CloseRequest          SidecarCloseRequest    `json:"close_request"`
	CloseResponse         SidecarCloseResponse   `json:"close_response"`
	ExpectedMode          core.NetworkMode       `json:"expected_mode"`
	ExpectedContentRefs   []string               `json:"expected_content_refs,omitempty"`
	RequireSupported      bool                   `json:"require_supported,omitempty"`
	RequireLifecycleAudit bool                   `json:"require_lifecycle_audit,omitempty"`
	RequireUrgentTeardown bool                   `json:"require_urgent_teardown,omitempty"`
	ObservedAt            time.Time              `json:"observed_at,omitempty"`
}

type ContentPeer

type ContentPeer struct {
	PeerID         string   `json:"peer_id"`
	BaseURL        string   `json:"base_url"`
	ContentRefs    []string `json:"content_refs,omitempty"`
	IdentitySHA256 string   `json:"identity_sha256,omitempty"`
}

func (ContentPeer) Validate

func (p ContentPeer) Validate() error

type LifecycleEvent

type LifecycleEvent struct {
	Event      string    `json:"event"`
	ObservedAt time.Time `json:"observed_at"`
	DetailRef  string    `json:"detail_ref,omitempty"`
}

func (LifecycleEvent) Validate

func (e LifecycleEvent) Validate() error

type ProviderCatalog

type ProviderCatalog struct {
	Version   string               `json:"version"`
	Providers []ProviderDescriptor `json:"providers"`
}

func (ProviderCatalog) Validate

func (c ProviderCatalog) Validate() error

type ProviderDescriptor

type ProviderDescriptor 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"`
	DisplayName            string             `json:"display_name,omitempty"`
	Modes                  []core.NetworkMode `json:"modes"`
	SidecarProtocol        string             `json:"sidecar_protocol"`
	EvidenceSchemaRef      string             `json:"evidence_schema_ref"`
	RequiresDaemon         bool               `json:"requires_daemon"`
	SupportsIngress        bool               `json:"supports_ingress"`
	SupportsContent        bool               `json:"supports_content"`
	ManagedPackageRequired bool               `json:"managed_package_required"`
}

func (ProviderDescriptor) SupportsMode

func (d ProviderDescriptor) SupportsMode(mode core.NetworkMode) bool

func (ProviderDescriptor) Validate

func (d ProviderDescriptor) Validate() error

type ProviderEvidence

type ProviderEvidence struct {
	ProtocolVersion   string            `json:"protocol_version"`
	ProviderID        string            `json:"provider_id"`
	ProviderVersion   string            `json:"provider_version"`
	Mode              core.NetworkMode  `json:"mode"`
	Status            ProviderStatus    `json:"status"`
	OS                string            `json:"os,omitempty"`
	Arch              string            `json:"arch,omitempty"`
	NATPosture        string            `json:"nat_posture,omitempty"`
	DiscoverySource   string            `json:"discovery_source,omitempty"`
	KeyExchange       string            `json:"key_exchange,omitempty"`
	PeerCount         int               `json:"peer_count,omitempty"`
	BytesTx           int64             `json:"bytes_tx,omitempty"`
	BytesRx           int64             `json:"bytes_rx,omitempty"`
	Lifecycle         []LifecycleEvent  `json:"lifecycle,omitempty"`
	UrgentTeardown    *TeardownEvidence `json:"urgent_teardown,omitempty"`
	UnsupportedReason string            `json:"unsupported_reason,omitempty"`
	ArtifactDigest    string            `json:"artifact_digest,omitempty"`
}

func (ProviderEvidence) Validate

func (e ProviderEvidence) Validate() error

type ProviderStatus

type ProviderStatus string
const (
	ProviderStatusSupported   ProviderStatus = "supported"
	ProviderStatusDegraded    ProviderStatus = "degraded"
	ProviderStatusUnsupported ProviderStatus = "unsupported"
)

type SidecarCloseRequest

type SidecarCloseRequest struct {
	ProtocolVersion string           `json:"protocol_version"`
	RequestID       string           `json:"request_id"`
	SessionID       string           `json:"session_id"`
	ProviderID      string           `json:"provider_id"`
	Mode            core.NetworkMode `json:"mode"`
	Urgent          bool             `json:"urgent,omitempty"`
	Reason          string           `json:"reason,omitempty"`
}

func (SidecarCloseRequest) Validate

func (r SidecarCloseRequest) Validate() error

type SidecarCloseResponse

type SidecarCloseResponse struct {
	ProtocolVersion string           `json:"protocol_version"`
	RequestID       string           `json:"request_id"`
	SessionID       string           `json:"session_id"`
	ProviderID      string           `json:"provider_id"`
	Mode            core.NetworkMode `json:"mode"`
	Closed          bool             `json:"closed"`
	Evidence        ProviderEvidence `json:"evidence"`
}

func (SidecarCloseResponse) ValidateAgainst

func (r SidecarCloseResponse) ValidateAgainst(req SidecarCloseRequest) error

type SidecarPrepareRequest

type SidecarPrepareRequest struct {
	ProtocolVersion  string                 `json:"protocol_version"`
	RequestID        string                 `json:"request_id"`
	Descriptor       ProviderDescriptor     `json:"descriptor"`
	WorkerID         string                 `json:"worker_id"`
	TaskID           string                 `json:"task_id"`
	LeaseID          string                 `json:"lease_id"`
	OrgID            string                 `json:"org_id"`
	PoolID           string                 `json:"pool_id"`
	RequestedMode    core.NetworkMode       `json:"requested_mode"`
	NetworkPolicy    core.NetworkPolicy     `json:"network_policy"`
	P2PSessionPolicy *core.P2PSessionPolicy `json:"p2p_session_policy,omitempty"`
	AllowedProtocols []string               `json:"allowed_protocols,omitempty"`
}

func (SidecarPrepareRequest) Validate

func (r SidecarPrepareRequest) Validate(now time.Time) error

type SidecarPrepareResponse

type SidecarPrepareResponse struct {
	ProtocolVersion      string                    `json:"protocol_version"`
	RequestID            string                    `json:"request_id"`
	SessionID            string                    `json:"session_id"`
	ProviderID           string                    `json:"provider_id"`
	Mode                 core.NetworkMode          `json:"mode"`
	WorkerID             string                    `json:"worker_id"`
	PeerIDs              []string                  `json:"peer_ids,omitempty"`
	PeerIdentitiesSHA256 map[string]string         `json:"peer_identities_sha256,omitempty"`
	BoundDestinations    []core.NetworkDestination `json:"bound_destinations,omitempty"`
	ContentPeers         []ContentPeer             `json:"content_peers,omitempty"`
	Evidence             ProviderEvidence          `json:"evidence"`
}

func (SidecarPrepareResponse) ValidateAgainst

func (r SidecarPrepareResponse) ValidateAgainst(req SidecarPrepareRequest, now time.Time) error

type TeardownEvidence

type TeardownEvidence struct {
	Completed      bool      `json:"completed"`
	ObservedAt     time.Time `json:"observed_at"`
	ProcessStopped bool      `json:"process_stopped"`
	WorkspaceClean bool      `json:"workspace_clean"`
	OpenPeers      int       `json:"open_peers,omitempty"`
	OpenSockets    int       `json:"open_sockets,omitempty"`
}

func (TeardownEvidence) Validate

func (e TeardownEvidence) Validate() error

Jump to

Keyboard shortcuts

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