ateompb

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 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"
	Ateom_GetWorkloadStats_FullMethodName       = "/ateom.Ateom/GetWorkloadStats"
	Ateom_GetActiveWorkloadStats_FullMethodName = "/ateom.Ateom/GetActiveWorkloadStats"
	Ateom_TerminateWorkload_FullMethodName      = "/ateom.Ateom/TerminateWorkload"
)

Variables

View Source
var (
	SnapshotScope_name = map[int32]string{
		0: "SNAPSHOT_SCOPE_UNSPECIFIED",
		1: "SNAPSHOT_SCOPE_FULL",
		2: "SNAPSHOT_SCOPE_DATA",
		3: "SNAPSHOT_SCOPE_DATA_ON_GOLDEN",
	}
	SnapshotScope_value = map[string]int32{
		"SNAPSHOT_SCOPE_UNSPECIFIED":    0,
		"SNAPSHOT_SCOPE_FULL":           1,
		"SNAPSHOT_SCOPE_DATA":           2,
		"SNAPSHOT_SCOPE_DATA_ON_GOLDEN": 3,
	}
)

Enum value maps for SnapshotScope.

View Source
var (
	SandboxClass_name = map[int32]string{
		0: "SANDBOX_CLASS_UNSPECIFIED",
		1: "SANDBOX_CLASS_GVISOR",
		2: "SANDBOX_CLASS_MICROVM",
	}
	SandboxClass_value = map[string]int32{
		"SANDBOX_CLASS_UNSPECIFIED": 0,
		"SANDBOX_CLASS_GVISOR":      1,
		"SANDBOX_CLASS_MICROVM":     2,
	}
)

Enum value maps for SandboxClass.

View Source
var (
	StatsSource_name = map[int32]string{
		0: "STATS_SOURCE_UNSPECIFIED",
		1: "STATS_SOURCE_CGROUP",
		2: "STATS_SOURCE_GUEST_AGENT",
	}
	StatsSource_value = map[string]int32{
		"STATS_SOURCE_UNSPECIFIED": 0,
		"STATS_SOURCE_CGROUP":      1,
		"STATS_SOURCE_GUEST_AGENT": 2,
	}
)

Enum value maps for StatsSource.

View Source
var (
	NoSampleReason_name = map[int32]string{
		0: "NO_SAMPLE_REASON_UNSPECIFIED",
		1: "NO_SAMPLE_REASON_NO_WORKLOAD",
		2: "NO_SAMPLE_REASON_NOT_MEASURABLE_YET",
	}
	NoSampleReason_value = map[string]int32{
		"NO_SAMPLE_REASON_UNSPECIFIED":        0,
		"NO_SAMPLE_REASON_NO_WORKLOAD":        1,
		"NO_SAMPLE_REASON_NOT_MEASURABLE_YET": 2,
	}
)

Enum value maps for NoSampleReason.

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,
		},
		{
			MethodName: "GetWorkloadStats",
			Handler:    _Ateom_GetWorkloadStats_Handler,
		},
		{
			MethodName: "GetActiveWorkloadStats",
			Handler:    _Ateom_GetActiveWorkloadStats_Handler,
		},
		{
			MethodName: "TerminateWorkload",
			Handler:    _Ateom_TerminateWorkload_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)
	// GetWorkloadStats returns a point-in-time resource-usage sample for the
	// workload this ateom is currently executing.
	//
	// It is a pure read: unlike the three calls above it does not move the ateom
	// between "available" and "executing", so it is safe to call on a timer for
	// the whole lifetime of a workload. It also does not wait on them. Those
	// three serialize on a mutex an ateom holds for a whole boot, restore, or
	// checkpoint; this call reads its state from outside that mutex, so a poll
	// landing in the middle of one answers immediately instead of going quiet for
	// the duration -- which would silence the poller during exactly the phases
	// whose usage is most interesting.
	//
	// Two ways it declines to give a sample, and they ask different things of the
	// caller:
	//
	//   * NOT_FOUND -- this ateom is not executing the actor in the request. It
	//     may be "available", or a recycled worker may have moved on to a
	//     different actor. Retrying on the same timer will not change the answer:
	//     the caller's worker-to-actor mapping is stale and wants re-resolving.
	//
	//   * FAILED_PRECONDITION -- this ateom is executing the requested actor but
	//     has no sample to give yet. It accepts an actor before the sandbox it
	//     will measure exists, so a poll landing in the boot lands here. Read it
	//     as "no numbers right now", not as "the actor is gone": it is transient,
	//     and the caller should skip this sample and take the next one.
	//
	// The split is worth the two codes because the identity is retained from the
	// moment the ateom accepts the actor, on both runtimes. That is what makes
	// "booting" distinguishable from "not here" at all, and it means a workload
	// that dies during boot is attributable rather than anonymous.
	GetWorkloadStats(ctx context.Context, in *GetWorkloadStatsRequest, opts ...grpc.CallOption) (*GetWorkloadStatsResponse, error)
	// GetActiveWorkloadStats samples whatever this ateom is currently
	// executing, without asserting an identity. It is the discovery read for a
	// scraper that enumerates ateoms and holds no worker-to-actor mapping;
	// GetWorkloadStats above is the verified read for a caller that must be
	// answered about a specific actor.
	//
	// Every state a blind caller can find is a normal answer here, never an
	// error: the response is either a sample or the NoSampleReason there is
	// none -- nothing to measure ("available"), or nothing to measure YET (a
	// poll landing in a boot or a restore). Error codes are reserved for real
	// failures reading a sandbox that should be measurable. This is deliberately
	// unlike GetWorkloadStats, whose caller asserts knowledge the codes then
	// answer.
	//
	// Consumers MUST attribute each sample solely from the identity echoed
	// inside it, never from a mapping they hold: without an asserted uid, the
	// response is the only statement of who was measured. Like GetWorkloadStats
	// it is a pure read, safe on a timer, and does not touch the lifecycle
	// mutex.
	GetActiveWorkloadStats(ctx context.Context, in *GetActiveWorkloadStatsRequest, opts ...grpc.CallOption) (*GetActiveWorkloadStatsResponse, error)
	// TerminateWorkload stops and deletes container workloads and cleans up
	// network and bundle overlays on ateom.
	TerminateWorkload(ctx context.Context, in *TerminateWorkloadRequest, opts ...grpc.CallOption) (*TerminateWorkloadResponse, 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)
	// GetWorkloadStats returns a point-in-time resource-usage sample for the
	// workload this ateom is currently executing.
	//
	// It is a pure read: unlike the three calls above it does not move the ateom
	// between "available" and "executing", so it is safe to call on a timer for
	// the whole lifetime of a workload. It also does not wait on them. Those
	// three serialize on a mutex an ateom holds for a whole boot, restore, or
	// checkpoint; this call reads its state from outside that mutex, so a poll
	// landing in the middle of one answers immediately instead of going quiet for
	// the duration -- which would silence the poller during exactly the phases
	// whose usage is most interesting.
	//
	// Two ways it declines to give a sample, and they ask different things of the
	// caller:
	//
	//   * NOT_FOUND -- this ateom is not executing the actor in the request. It
	//     may be "available", or a recycled worker may have moved on to a
	//     different actor. Retrying on the same timer will not change the answer:
	//     the caller's worker-to-actor mapping is stale and wants re-resolving.
	//
	//   * FAILED_PRECONDITION -- this ateom is executing the requested actor but
	//     has no sample to give yet. It accepts an actor before the sandbox it
	//     will measure exists, so a poll landing in the boot lands here. Read it
	//     as "no numbers right now", not as "the actor is gone": it is transient,
	//     and the caller should skip this sample and take the next one.
	//
	// The split is worth the two codes because the identity is retained from the
	// moment the ateom accepts the actor, on both runtimes. That is what makes
	// "booting" distinguishable from "not here" at all, and it means a workload
	// that dies during boot is attributable rather than anonymous.
	GetWorkloadStats(context.Context, *GetWorkloadStatsRequest) (*GetWorkloadStatsResponse, error)
	// GetActiveWorkloadStats samples whatever this ateom is currently
	// executing, without asserting an identity. It is the discovery read for a
	// scraper that enumerates ateoms and holds no worker-to-actor mapping;
	// GetWorkloadStats above is the verified read for a caller that must be
	// answered about a specific actor.
	//
	// Every state a blind caller can find is a normal answer here, never an
	// error: the response is either a sample or the NoSampleReason there is
	// none -- nothing to measure ("available"), or nothing to measure YET (a
	// poll landing in a boot or a restore). Error codes are reserved for real
	// failures reading a sandbox that should be measurable. This is deliberately
	// unlike GetWorkloadStats, whose caller asserts knowledge the codes then
	// answer.
	//
	// Consumers MUST attribute each sample solely from the identity echoed
	// inside it, never from a mapping they hold: without an asserted uid, the
	// response is the only statement of who was measured. Like GetWorkloadStats
	// it is a pure read, safe on a timer, and does not touch the lifecycle
	// mutex.
	GetActiveWorkloadStats(context.Context, *GetActiveWorkloadStatsRequest) (*GetActiveWorkloadStatsResponse, error)
	// TerminateWorkload stops and deletes container workloads and cleans up
	// network and bundle overlays on ateom.
	TerminateWorkload(context.Context, *TerminateWorkloadRequest) (*TerminateWorkloadResponse, 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 {
	Atespace              string        `protobuf:"bytes,1,opt,name=atespace,proto3" json:"atespace,omitempty"`
	ActorName             string        `protobuf:"bytes,2,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	ActorUid              string        `protobuf:"bytes,3,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	ActorTemplateAtespace string        `` /* 126-byte string literal not displayed */
	ActorTemplateName     string        `protobuf:"bytes,5,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	RunscPath             string        `protobuf:"bytes,6,opt,name=runsc_path,json=runscPath,proto3" json:"runsc_path,omitempty"`
	Spec                  *WorkloadSpec `protobuf:"bytes,7,opt,name=spec,proto3" json:"spec,omitempty"`
	// The object storage URI of the snapshot to write. Object names are appended
	// to it, so it addresses the snapshot as a whole rather than any one object.
	//
	// 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.
	//
	// The control plane sends an ActorSnapshot's snapshot_uri, which sits under
	// the prefix of the resource that owns the snapshot. For example:
	// "gs://bucket/root/atespaces/team-a/actors/<actor uid>/snapshots/5678".
	SnapshotUri string `protobuf:"bytes,8,opt,name=snapshot_uri,json=snapshotUri,proto3" json:"snapshot_uri,omitempty"`
	// runtime_asset_paths maps a runtime asset name to the local on-disk path
	// atelet fetched it to (see RunWorkloadRequest). Empty for gVisor.
	RuntimeAssetPaths map[string]string `` /* 188-byte string literal not displayed */
	// What content to include in the checkpoint.
	Scope SnapshotScope `protobuf:"varint,10,opt,name=scope,proto3,enum=ateom.SnapshotScope" json:"scope,omitempty"`
	// contains filtered or unexported fields
}

func (*CheckpointWorkloadRequest) Descriptor deprecated

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

Deprecated: Use CheckpointWorkloadRequest.ProtoReflect.Descriptor instead.

func (*CheckpointWorkloadRequest) GetActorName

func (x *CheckpointWorkloadRequest) GetActorName() string

func (*CheckpointWorkloadRequest) GetActorTemplateAtespace

func (x *CheckpointWorkloadRequest) GetActorTemplateAtespace() string

func (*CheckpointWorkloadRequest) GetActorTemplateName

func (x *CheckpointWorkloadRequest) GetActorTemplateName() string

func (*CheckpointWorkloadRequest) GetActorUid

func (x *CheckpointWorkloadRequest) GetActorUid() string

func (*CheckpointWorkloadRequest) GetAtespace

func (x *CheckpointWorkloadRequest) GetAtespace() string

func (*CheckpointWorkloadRequest) GetRunscPath

func (x *CheckpointWorkloadRequest) GetRunscPath() string

func (*CheckpointWorkloadRequest) GetRuntimeAssetPaths

func (x *CheckpointWorkloadRequest) GetRuntimeAssetPaths() map[string]string

func (*CheckpointWorkloadRequest) GetScope

func (*CheckpointWorkloadRequest) GetSnapshotUri

func (x *CheckpointWorkloadRequest) GetSnapshotUri() 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 {

	// snapshot_files lists the files ateom wrote into the checkpoint directory
	// (relative names) for atelet to ship to object storage. Each runtime reports
	// its own set (gVisor's image files, cloud-hypervisor's snapshot set, ...).
	SnapshotFiles []string `protobuf:"bytes,1,rep,name=snapshot_files,json=snapshotFiles,proto3" json:"snapshot_files,omitempty"`
	// contains filtered or unexported fields
}

func (*CheckpointWorkloadResponse) Descriptor deprecated

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

Deprecated: Use CheckpointWorkloadResponse.ProtoReflect.Descriptor instead.

func (*CheckpointWorkloadResponse) GetSnapshotFiles

func (x *CheckpointWorkloadResponse) GetSnapshotFiles() []string

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"`
	Readyz *Readyz `protobuf:"bytes,2,opt,name=readyz,proto3" json:"readyz,omitempty"`
	// durable_dir_volume_mounts are the durable-dir volumes this container
	// mounts, if any.
	DurableDirVolumeMounts []*DurableDirVolumeMount `` /* 131-byte string literal not displayed */
	// csi_volume_mounts are the CSI volumes this container mounts, if any.
	CsiVolumeMounts []*VolumeMount `protobuf:"bytes,5,rep,name=csi_volume_mounts,json=csiVolumeMounts,proto3" json:"csi_volume_mounts,omitempty"`
	// system_info_volume_mounts are the system-info volumes this container
	// mounts, if any. Contents are generated by atelet on the host; the
	// container sees them read-only.
	SystemInfoVolumeMounts []*SystemInfoVolumeMount `` /* 131-byte string literal not displayed */
	// image_volume_mounts are the image volumes this container mounts, if any.
	ImageVolumeMounts []*ImageVolumeMount `protobuf:"bytes,7,rep,name=image_volume_mounts,json=imageVolumeMounts,proto3" json:"image_volume_mounts,omitempty"`
	// contains filtered or unexported fields
}

func (*Container) Descriptor deprecated

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

Deprecated: Use Container.ProtoReflect.Descriptor instead.

func (*Container) GetCsiVolumeMounts

func (x *Container) GetCsiVolumeMounts() []*VolumeMount

func (*Container) GetDurableDirVolumeMounts

func (x *Container) GetDurableDirVolumeMounts() []*DurableDirVolumeMount

func (*Container) GetImageVolumeMounts

func (x *Container) GetImageVolumeMounts() []*ImageVolumeMount

func (*Container) GetName

func (x *Container) GetName() string

func (*Container) GetReadyz

func (x *Container) GetReadyz() *Readyz

func (*Container) GetSystemInfoVolumeMounts

func (x *Container) GetSystemInfoVolumeMounts() []*SystemInfoVolumeMount

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 DurableDirVolumeMount

type DurableDirVolumeMount struct {

	// volume_name is the name the ActorTemplate gave the volume. It selects the
	// per-volume directory atelet prepared for the actor on the host.
	VolumeName string `protobuf:"bytes,1,opt,name=volume_name,json=volumeName,proto3" json:"volume_name,omitempty"`
	// mount_path is where the container sees the volume.
	MountPath string `protobuf:"bytes,2,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"`
	// contains filtered or unexported fields
}

DurableDirVolumeMount is one durable-dir volume mounted into a container.

func (*DurableDirVolumeMount) Descriptor deprecated

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

Deprecated: Use DurableDirVolumeMount.ProtoReflect.Descriptor instead.

func (*DurableDirVolumeMount) GetMountPath

func (x *DurableDirVolumeMount) GetMountPath() string

func (*DurableDirVolumeMount) GetVolumeName

func (x *DurableDirVolumeMount) GetVolumeName() string

func (*DurableDirVolumeMount) ProtoMessage

func (*DurableDirVolumeMount) ProtoMessage()

func (*DurableDirVolumeMount) ProtoReflect

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

func (*DurableDirVolumeMount) Reset

func (x *DurableDirVolumeMount) Reset()

func (*DurableDirVolumeMount) String

func (x *DurableDirVolumeMount) String() string

type EgressGateway

type EgressGateway struct {

	// address is required and identifies the remote gateway as an IP address or
	// DNS name followed by its port.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

EgressGateway configures tunneled egress for one actor activation.

func (*EgressGateway) Descriptor deprecated

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

Deprecated: Use EgressGateway.ProtoReflect.Descriptor instead.

func (*EgressGateway) GetAddress

func (x *EgressGateway) GetAddress() string

func (*EgressGateway) ProtoMessage

func (*EgressGateway) ProtoMessage()

func (*EgressGateway) ProtoReflect

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

func (*EgressGateway) Reset

func (x *EgressGateway) Reset()

func (*EgressGateway) String

func (x *EgressGateway) String() string

type GetActiveWorkloadStatsRequest

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

func (*GetActiveWorkloadStatsRequest) Descriptor deprecated

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

Deprecated: Use GetActiveWorkloadStatsRequest.ProtoReflect.Descriptor instead.

func (*GetActiveWorkloadStatsRequest) ProtoMessage

func (*GetActiveWorkloadStatsRequest) ProtoMessage()

func (*GetActiveWorkloadStatsRequest) ProtoReflect

func (*GetActiveWorkloadStatsRequest) Reset

func (x *GetActiveWorkloadStatsRequest) Reset()

func (*GetActiveWorkloadStatsRequest) String

type GetActiveWorkloadStatsResponse

type GetActiveWorkloadStatsResponse struct {

	// Exactly one of the two is set: either a measurement, or the reason there
	// is none. An ateom serves one actor at a time, so the sample slot is
	// singular; the sample is self-describing (see the attribution rule on the
	// rpc), and a sample being present is itself the statement that a workload
	// is executing.
	//
	// Types that are valid to be assigned to Result:
	//
	//	*GetActiveWorkloadStatsResponse_Sample
	//	*GetActiveWorkloadStatsResponse_NoSampleReason
	Result isGetActiveWorkloadStatsResponse_Result `protobuf_oneof:"result"`
	// contains filtered or unexported fields
}

func (*GetActiveWorkloadStatsResponse) Descriptor deprecated

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

Deprecated: Use GetActiveWorkloadStatsResponse.ProtoReflect.Descriptor instead.

func (*GetActiveWorkloadStatsResponse) GetNoSampleReason

func (x *GetActiveWorkloadStatsResponse) GetNoSampleReason() NoSampleReason

func (*GetActiveWorkloadStatsResponse) GetResult

func (x *GetActiveWorkloadStatsResponse) GetResult() isGetActiveWorkloadStatsResponse_Result

func (*GetActiveWorkloadStatsResponse) GetSample

func (*GetActiveWorkloadStatsResponse) ProtoMessage

func (*GetActiveWorkloadStatsResponse) ProtoMessage()

func (*GetActiveWorkloadStatsResponse) ProtoReflect

func (*GetActiveWorkloadStatsResponse) Reset

func (x *GetActiveWorkloadStatsResponse) Reset()

func (*GetActiveWorkloadStatsResponse) String

type GetActiveWorkloadStatsResponse_NoSampleReason

type GetActiveWorkloadStatsResponse_NoSampleReason struct {
	NoSampleReason NoSampleReason `protobuf:"varint,2,opt,name=no_sample_reason,json=noSampleReason,proto3,enum=ateom.NoSampleReason,oneof"`
}

type GetActiveWorkloadStatsResponse_Sample

type GetActiveWorkloadStatsResponse_Sample struct {
	Sample *WorkloadStatsSample `protobuf:"bytes,1,opt,name=sample,proto3,oneof"`
}

type GetWorkloadStatsRequest

type GetWorkloadStatsRequest struct {

	// The actor the caller believes is executing here. A worker can be recycled
	// between the caller's view of the world and this call, so ateom answers
	// NOT_FOUND on a mismatch rather than reporting a different actor's numbers
	// under the requested actor's identity.
	ActorUid string `protobuf:"bytes,1,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	// contains filtered or unexported fields
}

func (*GetWorkloadStatsRequest) Descriptor deprecated

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

Deprecated: Use GetWorkloadStatsRequest.ProtoReflect.Descriptor instead.

func (*GetWorkloadStatsRequest) GetActorUid

func (x *GetWorkloadStatsRequest) GetActorUid() string

func (*GetWorkloadStatsRequest) ProtoMessage

func (*GetWorkloadStatsRequest) ProtoMessage()

func (*GetWorkloadStatsRequest) ProtoReflect

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

func (*GetWorkloadStatsRequest) Reset

func (x *GetWorkloadStatsRequest) Reset()

func (*GetWorkloadStatsRequest) String

func (x *GetWorkloadStatsRequest) String() string

type GetWorkloadStatsResponse

type GetWorkloadStatsResponse struct {
	Sample *WorkloadStatsSample `protobuf:"bytes,1,opt,name=sample,proto3" json:"sample,omitempty"`
	// contains filtered or unexported fields
}

func (*GetWorkloadStatsResponse) Descriptor deprecated

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

Deprecated: Use GetWorkloadStatsResponse.ProtoReflect.Descriptor instead.

func (*GetWorkloadStatsResponse) GetSample

func (*GetWorkloadStatsResponse) ProtoMessage

func (*GetWorkloadStatsResponse) ProtoMessage()

func (*GetWorkloadStatsResponse) ProtoReflect

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

func (*GetWorkloadStatsResponse) Reset

func (x *GetWorkloadStatsResponse) Reset()

func (*GetWorkloadStatsResponse) String

func (x *GetWorkloadStatsResponse) String() string

type HTTPGetAction

type HTTPGetAction struct {

	// Path to access on the HTTP server. Empty means "/readyz".
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	// TCP port to connect to (1..65535).
	Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

HTTPGetAction performs an HTTP GET against the container.

func (*HTTPGetAction) Descriptor deprecated

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

Deprecated: Use HTTPGetAction.ProtoReflect.Descriptor instead.

func (*HTTPGetAction) GetPath

func (x *HTTPGetAction) GetPath() string

func (*HTTPGetAction) GetPort

func (x *HTTPGetAction) GetPort() int32

func (*HTTPGetAction) ProtoMessage

func (*HTTPGetAction) ProtoMessage()

func (*HTTPGetAction) ProtoReflect

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

func (*HTTPGetAction) Reset

func (x *HTTPGetAction) Reset()

func (*HTTPGetAction) String

func (x *HTTPGetAction) String() string

type ImageVolumeMount

type ImageVolumeMount struct {

	// volume_name is the name the ActorTemplate gave the volume.
	VolumeName string `protobuf:"bytes,1,opt,name=volume_name,json=volumeName,proto3" json:"volume_name,omitempty"`
	// mount_path is where the container sees the volume.
	MountPath string `protobuf:"bytes,2,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"`
	// contains filtered or unexported fields
}

ImageVolumeMount is one image volume mounted into a container. ateom uses these to construct the container's volume mounts — each names the volume and its destination path.

func (*ImageVolumeMount) Descriptor deprecated

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

Deprecated: Use ImageVolumeMount.ProtoReflect.Descriptor instead.

func (*ImageVolumeMount) GetMountPath

func (x *ImageVolumeMount) GetMountPath() string

func (*ImageVolumeMount) GetVolumeName

func (x *ImageVolumeMount) GetVolumeName() string

func (*ImageVolumeMount) ProtoMessage

func (*ImageVolumeMount) ProtoMessage()

func (*ImageVolumeMount) ProtoReflect

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

func (*ImageVolumeMount) Reset

func (x *ImageVolumeMount) Reset()

func (*ImageVolumeMount) String

func (x *ImageVolumeMount) String() string

type NoSampleReason

type NoSampleReason int32

NoSampleReason is why the discovery read has no sample to give -- every value is a normal state a caller with no prior knowledge routinely finds, never an error.

const (
	NoSampleReason_NO_SAMPLE_REASON_UNSPECIFIED NoSampleReason = 0
	// Nothing is executing: the ateom is "available".
	NoSampleReason_NO_SAMPLE_REASON_NO_WORKLOAD NoSampleReason = 1
	// A workload is executing but there are no numbers to give yet: a poll
	// landing in a boot or a restore, a teardown in progress, or a lifecycle
	// transition underneath the read. Transient -- take the next sample.
	NoSampleReason_NO_SAMPLE_REASON_NOT_MEASURABLE_YET NoSampleReason = 2
)

func (NoSampleReason) Descriptor

func (NoSampleReason) Enum

func (x NoSampleReason) Enum() *NoSampleReason

func (NoSampleReason) EnumDescriptor deprecated

func (NoSampleReason) EnumDescriptor() ([]byte, []int)

Deprecated: Use NoSampleReason.Descriptor instead.

func (NoSampleReason) Number

func (NoSampleReason) String

func (x NoSampleReason) String() string

func (NoSampleReason) Type

type Readyz

type Readyz struct {
	HttpGet *HTTPGetAction `protobuf:"bytes,1,opt,name=http_get,json=httpGet,proto3" json:"http_get,omitempty"`
	// How long to keep polling before giving up and failing the actor start.
	// Zero means the ateom's default.
	TimeoutSeconds int32 `protobuf:"varint,2,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	// contains filtered or unexported fields
}

Readyz describes how to check that a container is ready to serve. Only HTTP is supported today.

func (*Readyz) Descriptor deprecated

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

Deprecated: Use Readyz.ProtoReflect.Descriptor instead.

func (*Readyz) GetHttpGet

func (x *Readyz) GetHttpGet() *HTTPGetAction

func (*Readyz) GetTimeoutSeconds

func (x *Readyz) GetTimeoutSeconds() int32

func (*Readyz) ProtoMessage

func (*Readyz) ProtoMessage()

func (*Readyz) ProtoReflect

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

func (*Readyz) Reset

func (x *Readyz) Reset()

func (*Readyz) String

func (x *Readyz) String() string

type RestoreWorkloadRequest

type RestoreWorkloadRequest struct {
	Atespace              string        `protobuf:"bytes,1,opt,name=atespace,proto3" json:"atespace,omitempty"`
	ActorName             string        `protobuf:"bytes,2,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	ActorUid              string        `protobuf:"bytes,3,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	ActorTemplateAtespace string        `` /* 126-byte string literal not displayed */
	ActorTemplateName     string        `protobuf:"bytes,5,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	RunscPath             string        `protobuf:"bytes,6,opt,name=runsc_path,json=runscPath,proto3" json:"runsc_path,omitempty"`
	Spec                  *WorkloadSpec `protobuf:"bytes,7,opt,name=spec,proto3" json:"spec,omitempty"`
	// The object storage URI of the snapshot to restore. Object names are
	// appended to it; it addresses the snapshot, not any one object.
	SnapshotUri string `protobuf:"bytes,8,opt,name=snapshot_uri,json=snapshotUri,proto3" json:"snapshot_uri,omitempty"`
	// runtime_asset_paths maps a runtime asset name to the local on-disk path
	// atelet fetched it to (see RunWorkloadRequest). Empty for gVisor.
	RuntimeAssetPaths map[string]string `` /* 188-byte string literal not displayed */
	// What content to restore from the snapshot.
	Scope SnapshotScope `protobuf:"varint,10,opt,name=scope,proto3,enum=ateom.SnapshotScope" json:"scope,omitempty"`
	// When absent, actor traffic uses direct egress instead of atunnel.
	EgressGateway *EgressGateway `protobuf:"bytes,12,opt,name=egress_gateway,json=egressGateway,proto3,oneof" json:"egress_gateway,omitempty"`
	// The object storage URI of the ActorTemplate's golden snapshot.
	// Set only when scope is SNAPSHOT_SCOPE_DATA_ON_GOLDEN. Mirrors the
	// snapshot_uri contract (field 8).
	GoldenSnapshotUri string `protobuf:"bytes,13,opt,name=golden_snapshot_uri,json=goldenSnapshotUri,proto3" json:"golden_snapshot_uri,omitempty"`
	// The actor's declared size, from the ActorTemplate's resource limits. Used to
	// (re)size the sandbox on a DATA-scope restore (fresh guest container). On a
	// FULL micro-VM restore the size baked into the snapshot is authoritative and
	// these are ignored. Zero means "unset": keep the runtime default.
	CpuMilli    int64 `protobuf:"varint,14,opt,name=cpu_milli,json=cpuMilli,proto3" json:"cpu_milli,omitempty"`          // CPU limit in millicores (1000 = one core).
	MemoryBytes int64 `protobuf:"varint,15,opt,name=memory_bytes,json=memoryBytes,proto3" json:"memory_bytes,omitempty"` // Memory limit in bytes.
	// contains filtered or unexported fields
}

func (*RestoreWorkloadRequest) Descriptor deprecated

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

Deprecated: Use RestoreWorkloadRequest.ProtoReflect.Descriptor instead.

func (*RestoreWorkloadRequest) GetActorName

func (x *RestoreWorkloadRequest) GetActorName() string

func (*RestoreWorkloadRequest) GetActorTemplateAtespace

func (x *RestoreWorkloadRequest) GetActorTemplateAtespace() string

func (*RestoreWorkloadRequest) GetActorTemplateName

func (x *RestoreWorkloadRequest) GetActorTemplateName() string

func (*RestoreWorkloadRequest) GetActorUid

func (x *RestoreWorkloadRequest) GetActorUid() string

func (*RestoreWorkloadRequest) GetAtespace

func (x *RestoreWorkloadRequest) GetAtespace() string

func (*RestoreWorkloadRequest) GetCpuMilli

func (x *RestoreWorkloadRequest) GetCpuMilli() int64

func (*RestoreWorkloadRequest) GetEgressGateway

func (x *RestoreWorkloadRequest) GetEgressGateway() *EgressGateway

func (*RestoreWorkloadRequest) GetGoldenSnapshotUri

func (x *RestoreWorkloadRequest) GetGoldenSnapshotUri() string

func (*RestoreWorkloadRequest) GetMemoryBytes

func (x *RestoreWorkloadRequest) GetMemoryBytes() int64

func (*RestoreWorkloadRequest) GetRunscPath

func (x *RestoreWorkloadRequest) GetRunscPath() string

func (*RestoreWorkloadRequest) GetRuntimeAssetPaths

func (x *RestoreWorkloadRequest) GetRuntimeAssetPaths() map[string]string

func (*RestoreWorkloadRequest) GetScope

func (x *RestoreWorkloadRequest) GetScope() SnapshotScope

func (*RestoreWorkloadRequest) GetSnapshotUri

func (x *RestoreWorkloadRequest) GetSnapshotUri() 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 {
	Atespace              string        `protobuf:"bytes,1,opt,name=atespace,proto3" json:"atespace,omitempty"`
	ActorName             string        `protobuf:"bytes,2,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	ActorUid              string        `protobuf:"bytes,3,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	ActorTemplateAtespace string        `` /* 126-byte string literal not displayed */
	ActorTemplateName     string        `protobuf:"bytes,5,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	RunscPath             string        `protobuf:"bytes,6,opt,name=runsc_path,json=runscPath,proto3" json:"runsc_path,omitempty"`
	Spec                  *WorkloadSpec `protobuf:"bytes,7,opt,name=spec,proto3" json:"spec,omitempty"`
	// runtime_asset_paths maps a runtime asset name (e.g. "cloud-hypervisor",
	// "virtiofsd", "kata-kernel", "kata-image", "kata-config")
	// to the local on-disk path atelet fetched it to (content-addressed, like
	// runsc_path). Empty for the gVisor runtime, which uses runsc_path.
	RuntimeAssetPaths map[string]string `` /* 188-byte string literal not displayed */
	// When absent, actor traffic uses direct egress instead of atunnel.
	EgressGateway *EgressGateway `protobuf:"bytes,10,opt,name=egress_gateway,json=egressGateway,proto3,oneof" json:"egress_gateway,omitempty"`
	// The actor's declared size, from the ActorTemplate's resource limits. ateom
	// sizes the sandbox to these (cgroup caps via the OCI spec, and for the
	// micro-VM the VM's vCPU count and memory). Zero means "unset": keep the
	// runtime default (unlimited for gVisor, the kata config for the micro-VM).
	CpuMilli    int64 `protobuf:"varint,11,opt,name=cpu_milli,json=cpuMilli,proto3" json:"cpu_milli,omitempty"`          // CPU limit in millicores (1000 = one core).
	MemoryBytes int64 `protobuf:"varint,12,opt,name=memory_bytes,json=memoryBytes,proto3" json:"memory_bytes,omitempty"` // Memory limit in bytes.
	// contains filtered or unexported fields
}

func (*RunWorkloadRequest) Descriptor deprecated

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

Deprecated: Use RunWorkloadRequest.ProtoReflect.Descriptor instead.

func (*RunWorkloadRequest) GetActorName

func (x *RunWorkloadRequest) GetActorName() string

func (*RunWorkloadRequest) GetActorTemplateAtespace

func (x *RunWorkloadRequest) GetActorTemplateAtespace() string

func (*RunWorkloadRequest) GetActorTemplateName

func (x *RunWorkloadRequest) GetActorTemplateName() string

func (*RunWorkloadRequest) GetActorUid

func (x *RunWorkloadRequest) GetActorUid() string

func (*RunWorkloadRequest) GetAtespace

func (x *RunWorkloadRequest) GetAtespace() string

func (*RunWorkloadRequest) GetCpuMilli

func (x *RunWorkloadRequest) GetCpuMilli() int64

func (*RunWorkloadRequest) GetEgressGateway

func (x *RunWorkloadRequest) GetEgressGateway() *EgressGateway

func (*RunWorkloadRequest) GetMemoryBytes

func (x *RunWorkloadRequest) GetMemoryBytes() int64

func (*RunWorkloadRequest) GetRunscPath

func (x *RunWorkloadRequest) GetRunscPath() string

func (*RunWorkloadRequest) GetRuntimeAssetPaths

func (x *RunWorkloadRequest) GetRuntimeAssetPaths() map[string]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 SandboxClass

type SandboxClass int32

SandboxClass is the sandbox runtime family that produced a sample. Mirrors the ate.dev/v1alpha1 SandboxClass the WorkerPool and ActorTemplate are configured with; an ateom binary only ever reports its own.

const (
	SandboxClass_SANDBOX_CLASS_UNSPECIFIED SandboxClass = 0
	// gVisor / runsc (cmd/ateom-gvisor).
	SandboxClass_SANDBOX_CLASS_GVISOR SandboxClass = 1
	// Micro-VM (cmd/ateom-microvm).
	SandboxClass_SANDBOX_CLASS_MICROVM SandboxClass = 2
)

func (SandboxClass) Descriptor

func (SandboxClass) Enum

func (x SandboxClass) Enum() *SandboxClass

func (SandboxClass) EnumDescriptor deprecated

func (SandboxClass) EnumDescriptor() ([]byte, []int)

Deprecated: Use SandboxClass.Descriptor instead.

func (SandboxClass) Number

func (SandboxClass) String

func (x SandboxClass) String() string

func (SandboxClass) Type

type SnapshotScope

type SnapshotScope int32
const (
	// Not valid option; should never happen.
	SnapshotScope_SNAPSHOT_SCOPE_UNSPECIFIED SnapshotScope = 0
	// Capture process memory plus the full filesystem delta on top of the OCI
	// image (including any attached DurableDir volumes).
	SnapshotScope_SNAPSHOT_SCOPE_FULL SnapshotScope = 1
	// Capture only the contents of attached volumes that support snapshots
	// (currently DurableDir-typed volumes). Memory and the rest of rootfs are
	// excluded.
	SnapshotScope_SNAPSHOT_SCOPE_DATA SnapshotScope = 2
	// Restore-only: restore the ActorTemplate's golden snapshot's guest state
	// (memory + full filesystem delta) combined with the snapshot's durable
	// data. Never valid for CheckpointWorkload — snapshots only ever capture
	// FULL or DATA; the control plane selects this scope at restore per the
	// template's onResume configuration.
	SnapshotScope_SNAPSHOT_SCOPE_DATA_ON_GOLDEN SnapshotScope = 3
)

func (SnapshotScope) Descriptor

func (SnapshotScope) Enum

func (x SnapshotScope) Enum() *SnapshotScope

func (SnapshotScope) EnumDescriptor deprecated

func (SnapshotScope) EnumDescriptor() ([]byte, []int)

Deprecated: Use SnapshotScope.Descriptor instead.

func (SnapshotScope) Number

func (SnapshotScope) String

func (x SnapshotScope) String() string

func (SnapshotScope) Type

type StatsSource

type StatsSource int32

StatsSource is how a sample's measurements were obtained. The two are not measured the same way and should not be compared against each other as though they were.

const (
	// No measurement was taken.
	StatsSource_STATS_SOURCE_UNSPECIFIED StatsSource = 0
	// Read from the sandbox's cgroup on the host.
	StatsSource_STATS_SOURCE_CGROUP StatsSource = 1
	// Read from inside the guest, over the guest agent's vsock connection. What
	// it counts is the workload's own containers, as the guest kernel accounts
	// for them: the guest kernel itself, the agent, and the VMM process on the
	// host are overhead this source cannot see. The cgroup source above is the
	// other way round -- the sandbox's host process is one process, so its
	// runtime's overhead is charged along with the workload's.
	StatsSource_STATS_SOURCE_GUEST_AGENT StatsSource = 2
)

func (StatsSource) Descriptor

func (StatsSource) Enum

func (x StatsSource) Enum() *StatsSource

func (StatsSource) EnumDescriptor deprecated

func (StatsSource) EnumDescriptor() ([]byte, []int)

Deprecated: Use StatsSource.Descriptor instead.

func (StatsSource) Number

func (x StatsSource) Number() protoreflect.EnumNumber

func (StatsSource) String

func (x StatsSource) String() string

func (StatsSource) Type

type SystemInfoVolumeMount

type SystemInfoVolumeMount struct {

	// volume_name is the name the ActorTemplate gave the volume. It selects the
	// per-volume directory atelet prepared for the actor on the host.
	VolumeName string `protobuf:"bytes,1,opt,name=volume_name,json=volumeName,proto3" json:"volume_name,omitempty"`
	// mount_path is where the container sees the volume.
	MountPath string `protobuf:"bytes,2,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"`
	// contains filtered or unexported fields
}

SystemInfoVolumeMount is one system-info volume mounted (read-only) into a container. Unlike durable-dir volumes, system-info contents are generated by atelet on every Run/Restore and are never captured into snapshots.

func (*SystemInfoVolumeMount) Descriptor deprecated

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

Deprecated: Use SystemInfoVolumeMount.ProtoReflect.Descriptor instead.

func (*SystemInfoVolumeMount) GetMountPath

func (x *SystemInfoVolumeMount) GetMountPath() string

func (*SystemInfoVolumeMount) GetVolumeName

func (x *SystemInfoVolumeMount) GetVolumeName() string

func (*SystemInfoVolumeMount) ProtoMessage

func (*SystemInfoVolumeMount) ProtoMessage()

func (*SystemInfoVolumeMount) ProtoReflect

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

func (*SystemInfoVolumeMount) Reset

func (x *SystemInfoVolumeMount) Reset()

func (*SystemInfoVolumeMount) String

func (x *SystemInfoVolumeMount) String() string

type TerminateWorkloadRequest

type TerminateWorkloadRequest struct {
	Atespace              string        `protobuf:"bytes,1,opt,name=atespace,proto3" json:"atespace,omitempty"`
	ActorName             string        `protobuf:"bytes,2,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	ActorUid              string        `protobuf:"bytes,3,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	ActorTemplateAtespace string        `` /* 126-byte string literal not displayed */
	ActorTemplateName     string        `protobuf:"bytes,5,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	RunscPath             string        `protobuf:"bytes,6,opt,name=runsc_path,json=runscPath,proto3" json:"runsc_path,omitempty"`
	Spec                  *WorkloadSpec `protobuf:"bytes,7,opt,name=spec,proto3" json:"spec,omitempty"`
	// contains filtered or unexported fields
}

func (*TerminateWorkloadRequest) Descriptor deprecated

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

Deprecated: Use TerminateWorkloadRequest.ProtoReflect.Descriptor instead.

func (*TerminateWorkloadRequest) GetActorName

func (x *TerminateWorkloadRequest) GetActorName() string

func (*TerminateWorkloadRequest) GetActorTemplateAtespace

func (x *TerminateWorkloadRequest) GetActorTemplateAtespace() string

func (*TerminateWorkloadRequest) GetActorTemplateName

func (x *TerminateWorkloadRequest) GetActorTemplateName() string

func (*TerminateWorkloadRequest) GetActorUid

func (x *TerminateWorkloadRequest) GetActorUid() string

func (*TerminateWorkloadRequest) GetAtespace

func (x *TerminateWorkloadRequest) GetAtespace() string

func (*TerminateWorkloadRequest) GetRunscPath

func (x *TerminateWorkloadRequest) GetRunscPath() string

func (*TerminateWorkloadRequest) GetSpec

func (x *TerminateWorkloadRequest) GetSpec() *WorkloadSpec

func (*TerminateWorkloadRequest) ProtoMessage

func (*TerminateWorkloadRequest) ProtoMessage()

func (*TerminateWorkloadRequest) ProtoReflect

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

func (*TerminateWorkloadRequest) Reset

func (x *TerminateWorkloadRequest) Reset()

func (*TerminateWorkloadRequest) String

func (x *TerminateWorkloadRequest) String() string

type TerminateWorkloadResponse

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

func (*TerminateWorkloadResponse) Descriptor deprecated

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

Deprecated: Use TerminateWorkloadResponse.ProtoReflect.Descriptor instead.

func (*TerminateWorkloadResponse) ProtoMessage

func (*TerminateWorkloadResponse) ProtoMessage()

func (*TerminateWorkloadResponse) ProtoReflect

func (*TerminateWorkloadResponse) Reset

func (x *TerminateWorkloadResponse) Reset()

func (*TerminateWorkloadResponse) String

func (x *TerminateWorkloadResponse) 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) GetWorkloadStats

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 VolumeMount

type VolumeMount struct {
	VolumeName string `protobuf:"bytes,1,opt,name=volume_name,json=volumeName,proto3" json:"volume_name,omitempty"`
	MountPath  string `protobuf:"bytes,2,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"`
	// contains filtered or unexported fields
}

VolumeMount is one volume mounted into a container.

func (*VolumeMount) Descriptor deprecated

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

Deprecated: Use VolumeMount.ProtoReflect.Descriptor instead.

func (*VolumeMount) GetMountPath

func (x *VolumeMount) GetMountPath() string

func (*VolumeMount) GetVolumeName

func (x *VolumeMount) GetVolumeName() string

func (*VolumeMount) ProtoMessage

func (*VolumeMount) ProtoMessage()

func (*VolumeMount) ProtoReflect

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

func (*VolumeMount) Reset

func (x *VolumeMount) Reset()

func (*VolumeMount) String

func (x *VolumeMount) String() string

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

type WorkloadStatsSample

type WorkloadStatsSample struct {

	// Identity of the measured actor, retained by ateom from the
	// RunWorkloadRequest / RestoreWorkloadRequest that started it. Echoed back so
	// the caller can attribute the sample without holding its own mapping from
	// worker to actor.
	Atespace              string `protobuf:"bytes,1,opt,name=atespace,proto3" json:"atespace,omitempty"`
	ActorName             string `protobuf:"bytes,2,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	ActorUid              string `protobuf:"bytes,3,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	ActorTemplateAtespace string `` /* 126-byte string literal not displayed */
	ActorTemplateName     string `protobuf:"bytes,5,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	// The sandbox runtime family that produced this sample.
	SandboxClass SandboxClass `protobuf:"varint,6,opt,name=sandbox_class,json=sandboxClass,proto3,enum=ateom.SandboxClass" json:"sandbox_class,omitempty"`
	// How the measurements below were obtained.
	Source StatsSource `protobuf:"varint,7,opt,name=source,proto3,enum=ateom.StatsSource" json:"source,omitempty"`
	// Measurements. All four are zero when source is STATS_SOURCE_UNSPECIFIED,
	// which means "not measured" rather than "measured as zero".
	//
	// Two of them accumulate -- memory_peak_bytes and cpu_usage_usec -- and both
	// are scoped to the current EPOCH rather than to the actor's lifetime. An
	// epoch begins wherever the accounting behind the sample begins, which is not
	// the same event for every source: STATS_SOURCE_CGROUP reads a sandbox cgroup
	// that a restore recreates, so both restart at zero there, while
	// STATS_SOURCE_GUEST_AGENT reads counters the guest kernel keeps in its own
	// RAM, which a restored guest brings back with it. A caller that wants a
	// lifetime figure has to accumulate one itself, and must read a decrease as a
	// new epoch rather than emit a negative delta -- but not the converse. An
	// epoch can also begin at a value above the last one reported, so no
	// comparison of consecutive samples detects every boundary.
	MemoryCurrentBytes uint64 `protobuf:"varint,8,opt,name=memory_current_bytes,json=memoryCurrentBytes,proto3" json:"memory_current_bytes,omitempty"`
	// High-water mark of memory_current_bytes within the current epoch. Also zero
	// when the runtime cannot report a peak at all: the cgroup source reads
	// memory.peak, which only exists on Linux 5.19 and later.
	MemoryPeakBytes uint64 `protobuf:"varint,9,opt,name=memory_peak_bytes,json=memoryPeakBytes,proto3" json:"memory_peak_bytes,omitempty"`
	// memory_current_bytes less the reclaimable page cache, floored at zero. This
	// is the figure to compare against a memory limit; memory_current_bytes
	// drifts upward with cache the kernel would drop for free under pressure.
	MemoryWorkingSetBytes uint64 `` /* 130-byte string literal not displayed */
	// Cumulative CPU time within the current epoch.
	CpuUsageUsec       uint64 `protobuf:"varint,11,opt,name=cpu_usage_usec,json=cpuUsageUsec,proto3" json:"cpu_usage_usec,omitempty"`
	ObservedAtUnixNano int64  `protobuf:"varint,12,opt,name=observed_at_unix_nano,json=observedAtUnixNano,proto3" json:"observed_at_unix_nano,omitempty"`
	// contains filtered or unexported fields
}

WorkloadStatsSample is one resource-usage sample for an executing workload, shared by both stats reads. The unit of measurement is the SANDBOX, which today equals the actor. Per-container attribution is not reported: the micro-VM source could give it, since the guest keeps a cgroup per container and ateom sums them, but the gVisor source cannot split one at all without the sentry's own accounting, and a field only one runtime could ever fill would be worse than none.

func (*WorkloadStatsSample) Descriptor deprecated

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

Deprecated: Use WorkloadStatsSample.ProtoReflect.Descriptor instead.

func (*WorkloadStatsSample) GetActorName

func (x *WorkloadStatsSample) GetActorName() string

func (*WorkloadStatsSample) GetActorTemplateAtespace

func (x *WorkloadStatsSample) GetActorTemplateAtespace() string

func (*WorkloadStatsSample) GetActorTemplateName

func (x *WorkloadStatsSample) GetActorTemplateName() string

func (*WorkloadStatsSample) GetActorUid

func (x *WorkloadStatsSample) GetActorUid() string

func (*WorkloadStatsSample) GetAtespace

func (x *WorkloadStatsSample) GetAtespace() string

func (*WorkloadStatsSample) GetCpuUsageUsec

func (x *WorkloadStatsSample) GetCpuUsageUsec() uint64

func (*WorkloadStatsSample) GetMemoryCurrentBytes

func (x *WorkloadStatsSample) GetMemoryCurrentBytes() uint64

func (*WorkloadStatsSample) GetMemoryPeakBytes

func (x *WorkloadStatsSample) GetMemoryPeakBytes() uint64

func (*WorkloadStatsSample) GetMemoryWorkingSetBytes

func (x *WorkloadStatsSample) GetMemoryWorkingSetBytes() uint64

func (*WorkloadStatsSample) GetObservedAtUnixNano

func (x *WorkloadStatsSample) GetObservedAtUnixNano() int64

func (*WorkloadStatsSample) GetSandboxClass

func (x *WorkloadStatsSample) GetSandboxClass() SandboxClass

func (*WorkloadStatsSample) GetSource

func (x *WorkloadStatsSample) GetSource() StatsSource

func (*WorkloadStatsSample) ProtoMessage

func (*WorkloadStatsSample) ProtoMessage()

func (*WorkloadStatsSample) ProtoReflect

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

func (*WorkloadStatsSample) Reset

func (x *WorkloadStatsSample) Reset()

func (*WorkloadStatsSample) String

func (x *WorkloadStatsSample) String() string

Jump to

Keyboard shortcuts

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