ateompb

package
v0.0.0 Latest Latest
Warning

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

Go to latest
Published: May 19, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Ateom_RunWorkload_FullMethodName        = "/ateom.Ateom/RunWorkload"
	Ateom_CheckpointWorkload_FullMethodName = "/ateom.Ateom/CheckpointWorkload"
	Ateom_RestoreWorkload_FullMethodName    = "/ateom.Ateom/RestoreWorkload"
)

Variables

View Source
var Ateom_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "ateom.Ateom",
	HandlerType: (*AteomServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "RunWorkload",
			Handler:    _Ateom_RunWorkload_Handler,
		},
		{
			MethodName: "CheckpointWorkload",
			Handler:    _Ateom_CheckpointWorkload_Handler,
		},
		{
			MethodName: "RestoreWorkload",
			Handler:    _Ateom_RestoreWorkload_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "ateom.proto",
}

Ateom_ServiceDesc is the grpc.ServiceDesc for Ateom service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_ateom_proto protoreflect.FileDescriptor

Functions

func RegisterAteomServer

func RegisterAteomServer(s grpc.ServiceRegistrar, srv AteomServer)

Types

type AteomClient

type AteomClient interface {
	// RunWorkload tells ateom to begin running a new workload (one or more
	// containers, potentially with shared filesystems).
	RunWorkload(ctx context.Context, in *RunWorkloadRequest, opts ...grpc.CallOption) (*RunWorkloadResponse, error)
	// CheckpointWorkload tells ateom to save the current state of the running
	// workload to object storage, and then completely reset itself to a blank
	// state (back to "available" state.)
	CheckpointWorkload(ctx context.Context, in *CheckpointWorkloadRequest, opts ...grpc.CallOption) (*CheckpointWorkloadResponse, error)
	// RestoreWorkload restores a workload from checkpoint that was previously
	// written by CheckpointWorkload.  Ateom will handle downloading the correct
	// gVisor / runsc version to match the checkpoint.
	RestoreWorkload(ctx context.Context, in *RestoreWorkloadRequest, opts ...grpc.CallOption) (*RestoreWorkloadResponse, error)
}

AteomClient is the client API for Ateom service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

Ateom is the interface to control a single gVisor (or, in the future microVM) guest inside a worker pod.

Each ateom server has two main states, "available" and "executing".

When the ateom is "available", the substrate control plane is free to either boot a new workload (using RunWorkload), or restore an existing workload from a checkpoint (using RestoreWorkload). These calls move the ateom into "executing" state.

When the ateom is "executing", the substrate control plane can checkpoint the running workload (with CheckpointWorkload). This moves the ateom back to "free" state.

func NewAteomClient

func NewAteomClient(cc grpc.ClientConnInterface) AteomClient

type AteomServer

type AteomServer interface {
	// RunWorkload tells ateom to begin running a new workload (one or more
	// containers, potentially with shared filesystems).
	RunWorkload(context.Context, *RunWorkloadRequest) (*RunWorkloadResponse, error)
	// CheckpointWorkload tells ateom to save the current state of the running
	// workload to object storage, and then completely reset itself to a blank
	// state (back to "available" state.)
	CheckpointWorkload(context.Context, *CheckpointWorkloadRequest) (*CheckpointWorkloadResponse, error)
	// RestoreWorkload restores a workload from checkpoint that was previously
	// written by CheckpointWorkload.  Ateom will handle downloading the correct
	// gVisor / runsc version to match the checkpoint.
	RestoreWorkload(context.Context, *RestoreWorkloadRequest) (*RestoreWorkloadResponse, error)
	// contains filtered or unexported methods
}

AteomServer is the server API for Ateom service. All implementations must embed UnimplementedAteomServer for forward compatibility.

Ateom is the interface to control a single gVisor (or, in the future microVM) guest inside a worker pod.

Each ateom server has two main states, "available" and "executing".

When the ateom is "available", the substrate control plane is free to either boot a new workload (using RunWorkload), or restore an existing workload from a checkpoint (using RestoreWorkload). These calls move the ateom into "executing" state.

When the ateom is "executing", the substrate control plane can checkpoint the running workload (with CheckpointWorkload). This moves the ateom back to "free" state.

type CheckpointWorkloadRequest

type CheckpointWorkloadRequest struct {
	ActorTemplateNamespace string        `` /* 129-byte string literal not displayed */
	ActorTemplateName      string        `protobuf:"bytes,2,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	ActorId                string        `protobuf:"bytes,3,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	RunscPath              string        `protobuf:"bytes,4,opt,name=runsc_path,json=runscPath,proto3" json:"runsc_path,omitempty"`
	Spec                   *WorkloadSpec `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"`
	// An object storage URI prefix below which the checkpoint data will be
	// stored.
	//
	// The structure of the checkpoint should generally be treated as opaque. For
	// gVisor, the checkpoint consists of a checkpoint.img file that contains the
	// memory, sentry state, and filesystem deltas.
	//
	// For example: "gs://bucket/actors/1234/snapshots/5678/"
	SnapshotUriPrefix string `protobuf:"bytes,6,opt,name=snapshot_uri_prefix,json=snapshotUriPrefix,proto3" json:"snapshot_uri_prefix,omitempty"`
	// contains filtered or unexported fields
}

func (*CheckpointWorkloadRequest) Descriptor deprecated

func (*CheckpointWorkloadRequest) Descriptor() ([]byte, []int)

Deprecated: Use CheckpointWorkloadRequest.ProtoReflect.Descriptor instead.

func (*CheckpointWorkloadRequest) GetActorId

func (x *CheckpointWorkloadRequest) GetActorId() string

func (*CheckpointWorkloadRequest) GetActorTemplateName

func (x *CheckpointWorkloadRequest) GetActorTemplateName() string

func (*CheckpointWorkloadRequest) GetActorTemplateNamespace

func (x *CheckpointWorkloadRequest) GetActorTemplateNamespace() string

func (*CheckpointWorkloadRequest) GetRunscPath

func (x *CheckpointWorkloadRequest) GetRunscPath() string

func (*CheckpointWorkloadRequest) GetSnapshotUriPrefix

func (x *CheckpointWorkloadRequest) GetSnapshotUriPrefix() string

func (*CheckpointWorkloadRequest) GetSpec

func (*CheckpointWorkloadRequest) ProtoMessage

func (*CheckpointWorkloadRequest) ProtoMessage()

func (*CheckpointWorkloadRequest) ProtoReflect

func (*CheckpointWorkloadRequest) Reset

func (x *CheckpointWorkloadRequest) Reset()

func (*CheckpointWorkloadRequest) String

func (x *CheckpointWorkloadRequest) String() string

type CheckpointWorkloadResponse

type CheckpointWorkloadResponse struct {
	// contains filtered or unexported fields
}

func (*CheckpointWorkloadResponse) Descriptor deprecated

func (*CheckpointWorkloadResponse) Descriptor() ([]byte, []int)

Deprecated: Use CheckpointWorkloadResponse.ProtoReflect.Descriptor instead.

func (*CheckpointWorkloadResponse) ProtoMessage

func (*CheckpointWorkloadResponse) ProtoMessage()

func (*CheckpointWorkloadResponse) ProtoReflect

func (*CheckpointWorkloadResponse) Reset

func (x *CheckpointWorkloadResponse) Reset()

func (*CheckpointWorkloadResponse) String

func (x *CheckpointWorkloadResponse) String() string

type Container

type Container struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*Container) Descriptor deprecated

func (*Container) Descriptor() ([]byte, []int)

Deprecated: Use Container.ProtoReflect.Descriptor instead.

func (*Container) GetName

func (x *Container) GetName() string

func (*Container) ProtoMessage

func (*Container) ProtoMessage()

func (*Container) ProtoReflect

func (x *Container) ProtoReflect() protoreflect.Message

func (*Container) Reset

func (x *Container) Reset()

func (*Container) String

func (x *Container) String() string

type RestoreWorkloadRequest

type RestoreWorkloadRequest struct {
	ActorTemplateNamespace string        `` /* 129-byte string literal not displayed */
	ActorTemplateName      string        `protobuf:"bytes,2,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	ActorId                string        `protobuf:"bytes,3,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	RunscPath              string        `protobuf:"bytes,4,opt,name=runsc_path,json=runscPath,proto3" json:"runsc_path,omitempty"`
	Spec                   *WorkloadSpec `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"`
	// The object storage URI prefix of the snapshot to restore.
	SnapshotUriPrefix string `protobuf:"bytes,6,opt,name=snapshot_uri_prefix,json=snapshotUriPrefix,proto3" json:"snapshot_uri_prefix,omitempty"`
	// contains filtered or unexported fields
}

func (*RestoreWorkloadRequest) Descriptor deprecated

func (*RestoreWorkloadRequest) Descriptor() ([]byte, []int)

Deprecated: Use RestoreWorkloadRequest.ProtoReflect.Descriptor instead.

func (*RestoreWorkloadRequest) GetActorId

func (x *RestoreWorkloadRequest) GetActorId() string

func (*RestoreWorkloadRequest) GetActorTemplateName

func (x *RestoreWorkloadRequest) GetActorTemplateName() string

func (*RestoreWorkloadRequest) GetActorTemplateNamespace

func (x *RestoreWorkloadRequest) GetActorTemplateNamespace() string

func (*RestoreWorkloadRequest) GetRunscPath

func (x *RestoreWorkloadRequest) GetRunscPath() string

func (*RestoreWorkloadRequest) GetSnapshotUriPrefix

func (x *RestoreWorkloadRequest) GetSnapshotUriPrefix() string

func (*RestoreWorkloadRequest) GetSpec

func (x *RestoreWorkloadRequest) GetSpec() *WorkloadSpec

func (*RestoreWorkloadRequest) ProtoMessage

func (*RestoreWorkloadRequest) ProtoMessage()

func (*RestoreWorkloadRequest) ProtoReflect

func (x *RestoreWorkloadRequest) ProtoReflect() protoreflect.Message

func (*RestoreWorkloadRequest) Reset

func (x *RestoreWorkloadRequest) Reset()

func (*RestoreWorkloadRequest) String

func (x *RestoreWorkloadRequest) String() string

type RestoreWorkloadResponse

type RestoreWorkloadResponse struct {
	// contains filtered or unexported fields
}

func (*RestoreWorkloadResponse) Descriptor deprecated

func (*RestoreWorkloadResponse) Descriptor() ([]byte, []int)

Deprecated: Use RestoreWorkloadResponse.ProtoReflect.Descriptor instead.

func (*RestoreWorkloadResponse) ProtoMessage

func (*RestoreWorkloadResponse) ProtoMessage()

func (*RestoreWorkloadResponse) ProtoReflect

func (x *RestoreWorkloadResponse) ProtoReflect() protoreflect.Message

func (*RestoreWorkloadResponse) Reset

func (x *RestoreWorkloadResponse) Reset()

func (*RestoreWorkloadResponse) String

func (x *RestoreWorkloadResponse) String() string

type RunWorkloadRequest

type RunWorkloadRequest struct {
	ActorTemplateNamespace string        `` /* 129-byte string literal not displayed */
	ActorTemplateName      string        `protobuf:"bytes,2,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	ActorId                string        `protobuf:"bytes,3,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	RunscPath              string        `protobuf:"bytes,4,opt,name=runsc_path,json=runscPath,proto3" json:"runsc_path,omitempty"`
	Spec                   *WorkloadSpec `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"`
	// contains filtered or unexported fields
}

func (*RunWorkloadRequest) Descriptor deprecated

func (*RunWorkloadRequest) Descriptor() ([]byte, []int)

Deprecated: Use RunWorkloadRequest.ProtoReflect.Descriptor instead.

func (*RunWorkloadRequest) GetActorId

func (x *RunWorkloadRequest) GetActorId() string

func (*RunWorkloadRequest) GetActorTemplateName

func (x *RunWorkloadRequest) GetActorTemplateName() string

func (*RunWorkloadRequest) GetActorTemplateNamespace

func (x *RunWorkloadRequest) GetActorTemplateNamespace() string

func (*RunWorkloadRequest) GetRunscPath

func (x *RunWorkloadRequest) GetRunscPath() string

func (*RunWorkloadRequest) GetSpec

func (x *RunWorkloadRequest) GetSpec() *WorkloadSpec

func (*RunWorkloadRequest) ProtoMessage

func (*RunWorkloadRequest) ProtoMessage()

func (*RunWorkloadRequest) ProtoReflect

func (x *RunWorkloadRequest) ProtoReflect() protoreflect.Message

func (*RunWorkloadRequest) Reset

func (x *RunWorkloadRequest) Reset()

func (*RunWorkloadRequest) String

func (x *RunWorkloadRequest) String() string

type RunWorkloadResponse

type RunWorkloadResponse struct {
	// contains filtered or unexported fields
}

func (*RunWorkloadResponse) Descriptor deprecated

func (*RunWorkloadResponse) Descriptor() ([]byte, []int)

Deprecated: Use RunWorkloadResponse.ProtoReflect.Descriptor instead.

func (*RunWorkloadResponse) ProtoMessage

func (*RunWorkloadResponse) ProtoMessage()

func (*RunWorkloadResponse) ProtoReflect

func (x *RunWorkloadResponse) ProtoReflect() protoreflect.Message

func (*RunWorkloadResponse) Reset

func (x *RunWorkloadResponse) Reset()

func (*RunWorkloadResponse) String

func (x *RunWorkloadResponse) String() string

type UnimplementedAteomServer

type UnimplementedAteomServer struct{}

UnimplementedAteomServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedAteomServer) RestoreWorkload

func (UnimplementedAteomServer) RunWorkload

type UnsafeAteomServer

type UnsafeAteomServer interface {
	// contains filtered or unexported methods
}

UnsafeAteomServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AteomServer will result in compilation errors.

type WorkloadSpec

type WorkloadSpec struct {
	Containers []*Container `protobuf:"bytes,1,rep,name=containers,proto3" json:"containers,omitempty"`
	// contains filtered or unexported fields
}

WorkloadSpec parallels Pod, but with far fewer configurable fields.

func (*WorkloadSpec) Descriptor deprecated

func (*WorkloadSpec) Descriptor() ([]byte, []int)

Deprecated: Use WorkloadSpec.ProtoReflect.Descriptor instead.

func (*WorkloadSpec) GetContainers

func (x *WorkloadSpec) GetContainers() []*Container

func (*WorkloadSpec) ProtoMessage

func (*WorkloadSpec) ProtoMessage()

func (*WorkloadSpec) ProtoReflect

func (x *WorkloadSpec) ProtoReflect() protoreflect.Message

func (*WorkloadSpec) Reset

func (x *WorkloadSpec) Reset()

func (*WorkloadSpec) String

func (x *WorkloadSpec) String() string

Jump to

Keyboard shortcuts

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