ateletpb

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AteomSupport_MintActorCertificate_FullMethodName = "/atelet.AteomSupport/MintActorCertificate"
	AteomSupport_RegisterWorker_FullMethodName       = "/atelet.AteomSupport/RegisterWorker"
	AteomSupport_RequestActorSuspend_FullMethodName  = "/atelet.AteomSupport/RequestActorSuspend"
	AteomSupport_GetActorEgressPolicy_FullMethodName = "/atelet.AteomSupport/GetActorEgressPolicy"
)
View Source
const (
	AteomHerder_Run_FullMethodName             = "/atelet.AteomHerder/Run"
	AteomHerder_Checkpoint_FullMethodName      = "/atelet.AteomHerder/Checkpoint"
	AteomHerder_Restore_FullMethodName         = "/atelet.AteomHerder/Restore"
	AteomHerder_PromoteSnapshot_FullMethodName = "/atelet.AteomHerder/PromoteSnapshot"
	AteomHerder_Terminate_FullMethodName       = "/atelet.AteomHerder/Terminate"
)

Variables

View Source
var (
	ActorMetadataField_name = map[int32]string{
		0: "ACTOR_METADATA_FIELD_UNSPECIFIED",
		1: "ACTOR_METADATA_FIELD_NAME",
		2: "ACTOR_METADATA_FIELD_ATESPACE",
		3: "ACTOR_METADATA_FIELD_UID",
	}
	ActorMetadataField_value = map[string]int32{
		"ACTOR_METADATA_FIELD_UNSPECIFIED": 0,
		"ACTOR_METADATA_FIELD_NAME":        1,
		"ACTOR_METADATA_FIELD_ATESPACE":    2,
		"ACTOR_METADATA_FIELD_UID":         3,
	}
)

Enum value maps for ActorMetadataField.

View Source
var (
	SnapshotFidelity_name = map[int32]string{
		0: "SNAPSHOT_FIDELITY_UNSPECIFIED",
		1: "SNAPSHOT_FIDELITY_VOLUMES",
		2: "SNAPSHOT_FIDELITY_ROOTFS",
		3: "SNAPSHOT_FIDELITY_MEMORY",
	}
	SnapshotFidelity_value = map[string]int32{
		"SNAPSHOT_FIDELITY_UNSPECIFIED": 0,
		"SNAPSHOT_FIDELITY_VOLUMES":     1,
		"SNAPSHOT_FIDELITY_ROOTFS":      2,
		"SNAPSHOT_FIDELITY_MEMORY":      3,
	}
)

Enum value maps for SnapshotFidelity.

View Source
var (
	UploadMode_name = map[int32]string{
		0: "UPLOAD_MODE_UNSPECIFIED",
		1: "UPLOAD_MODE_DEFERRED",
		2: "UPLOAD_MODE_IMMEDIATE",
	}
	UploadMode_value = map[string]int32{
		"UPLOAD_MODE_UNSPECIFIED": 0,
		"UPLOAD_MODE_DEFERRED":    1,
		"UPLOAD_MODE_IMMEDIATE":   2,
	}
)

Enum value maps for UploadMode.

View Source
var AteomHerder_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "atelet.AteomHerder",
	HandlerType: (*AteomHerderServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Run",
			Handler:    _AteomHerder_Run_Handler,
		},
		{
			MethodName: "Checkpoint",
			Handler:    _AteomHerder_Checkpoint_Handler,
		},
		{
			MethodName: "Restore",
			Handler:    _AteomHerder_Restore_Handler,
		},
		{
			MethodName: "PromoteSnapshot",
			Handler:    _AteomHerder_PromoteSnapshot_Handler,
		},
		{
			MethodName: "Terminate",
			Handler:    _AteomHerder_Terminate_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "atelet.proto",
}

AteomHerder_ServiceDesc is the grpc.ServiceDesc for AteomHerder 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 AteomSupport_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "atelet.AteomSupport",
	HandlerType: (*AteomSupportServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "MintActorCertificate",
			Handler:    _AteomSupport_MintActorCertificate_Handler,
		},
		{
			MethodName: "RegisterWorker",
			Handler:    _AteomSupport_RegisterWorker_Handler,
		},
		{
			MethodName: "RequestActorSuspend",
			Handler:    _AteomSupport_RequestActorSuspend_Handler,
		},
		{
			MethodName: "GetActorEgressPolicy",
			Handler:    _AteomSupport_GetActorEgressPolicy_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "atelet.proto",
}

AteomSupport_ServiceDesc is the grpc.ServiceDesc for AteomSupport 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_atelet_proto protoreflect.FileDescriptor

Functions

func RegisterAteomHerderServer

func RegisterAteomHerderServer(s grpc.ServiceRegistrar, srv AteomHerderServer)

func RegisterAteomSupportServer added in v0.2.0

func RegisterAteomSupportServer(s grpc.ServiceRegistrar, srv AteomSupportServer)

Types

type ActorMetadataDataSource

type ActorMetadataDataSource struct {

	// items must not project the same field twice.
	//
	// +k8s:required
	// +k8s:minItems=1
	// +k8s:maxItems=8 # matches the template's items bound
	// +k8s:listType=atomic
	// +k8s:unique=map
	// +k8s:listMapKey=field
	Items []*ActorMetadataItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

ActorMetadataDataSource projects the actor's identity fields to files, one per item. Values are written raw with no trailing newline.

func (*ActorMetadataDataSource) Descriptor deprecated

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

Deprecated: Use ActorMetadataDataSource.ProtoReflect.Descriptor instead.

func (*ActorMetadataDataSource) GetItems

func (x *ActorMetadataDataSource) GetItems() []*ActorMetadataItem

func (*ActorMetadataDataSource) ProtoMessage

func (*ActorMetadataDataSource) ProtoMessage()

func (*ActorMetadataDataSource) ProtoReflect

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

func (*ActorMetadataDataSource) Reset

func (x *ActorMetadataDataSource) Reset()

func (*ActorMetadataDataSource) String

func (x *ActorMetadataDataSource) String() string

type ActorMetadataField

type ActorMetadataField int32

ActorMetadataField selects one identity field of the actor.

const (
	ActorMetadataField_ACTOR_METADATA_FIELD_UNSPECIFIED ActorMetadataField = 0
	ActorMetadataField_ACTOR_METADATA_FIELD_NAME        ActorMetadataField = 1
	ActorMetadataField_ACTOR_METADATA_FIELD_ATESPACE    ActorMetadataField = 2
	ActorMetadataField_ACTOR_METADATA_FIELD_UID         ActorMetadataField = 3 // Keep this in sync with the maximums on fields of this type.
)

func (ActorMetadataField) Descriptor

func (ActorMetadataField) Enum

func (ActorMetadataField) EnumDescriptor deprecated

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

Deprecated: Use ActorMetadataField.Descriptor instead.

func (ActorMetadataField) Number

func (ActorMetadataField) String

func (x ActorMetadataField) String() string

func (ActorMetadataField) Type

type ActorMetadataItem

type ActorMetadataItem struct {

	// +k8s:required
	// +k8s:minimum=1
	// +k8s:maximum=3 # keep this in sync with the ActorMetadataField enum
	Field ActorMetadataField `protobuf:"varint,1,opt,name=field,proto3,enum=atelet.ActorMetadataField" json:"field,omitempty"`
	// path must be a clean relative Unix path; the rule is shared with the
	// control plane through internal/resources.
	//
	// +k8s:required
	// +k8s:minLength=1
	// +k8s:maxLength=255
	// +k8s:customValidation # clean relative path
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

ActorMetadataItem projects one actor identity field to one file at the given path, relative to the root of the enclosing system-info volume.

func (*ActorMetadataItem) Descriptor deprecated

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

Deprecated: Use ActorMetadataItem.ProtoReflect.Descriptor instead.

func (*ActorMetadataItem) GetField

func (x *ActorMetadataItem) GetField() ActorMetadataField

func (*ActorMetadataItem) GetPath

func (x *ActorMetadataItem) GetPath() string

func (*ActorMetadataItem) ProtoMessage

func (*ActorMetadataItem) ProtoMessage()

func (*ActorMetadataItem) ProtoReflect

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

func (*ActorMetadataItem) Reset

func (x *ActorMetadataItem) Reset()

func (*ActorMetadataItem) String

func (x *ActorMetadataItem) String() string

type ActorSnapshotState added in v0.5.0

type ActorSnapshotState struct {

	// The snapshot atelet restores the actor from locally. Unset when the
	// latest checkpoint kept no local copy, and once a detach has made the
	// snapshot durable and begun deleting it. Either way, latest_durable is
	// then the actor's latest snapshot.
	LatestLocal *SnapshotReport `protobuf:"bytes,1,opt,name=latest_local,json=latestLocal,proto3" json:"latest_local,omitempty"`
	// The snapshot an in-flight upload is reading, if any. If it is
	// latest_local, its local copy stays after the upload. If it is an older
	// snapshot, whose upload began before latest_local was taken, atelet
	// deletes its local copy once the upload ends.
	Uploading *SnapshotReport `protobuf:"bytes,2,opt,name=uploading,proto3" json:"uploading,omitempty"`
	// The newest snapshot atelet knows is durable, whether or not the control
	// plane has recorded it: one atelet uploaded since it started, or one a
	// PromoteSnapshot found already uploaded. Unset if there is none, which says
	// nothing about older durable snapshots.
	LatestDurable *SnapshotReport `protobuf:"bytes,3,opt,name=latest_durable,json=latestDurable,proto3" json:"latest_durable,omitempty"`
	// When atelet next plans to trigger a background upload, which will upload
	// whichever snapshot is latest_local at the time of triggering. Unset when
	// there is no latest_local, or it is already durable or being uploaded.
	// Advisory: a promote or detach can upload it sooner, and an older
	// snapshot's upload can delay it.
	UploadDueTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=upload_due_time,json=uploadDueTime,proto3" json:"upload_due_time,omitempty"`
	// contains filtered or unexported fields
}

ActorSnapshotState is what atelet holds for one actor on this node. Returned by Checkpoint, PromoteSnapshot.

func (*ActorSnapshotState) Descriptor deprecated added in v0.5.0

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

Deprecated: Use ActorSnapshotState.ProtoReflect.Descriptor instead.

func (*ActorSnapshotState) GetLatestDurable added in v0.5.0

func (x *ActorSnapshotState) GetLatestDurable() *SnapshotReport

func (*ActorSnapshotState) GetLatestLocal added in v0.5.0

func (x *ActorSnapshotState) GetLatestLocal() *SnapshotReport

func (*ActorSnapshotState) GetUploadDueTime added in v0.5.0

func (x *ActorSnapshotState) GetUploadDueTime() *timestamppb.Timestamp

func (*ActorSnapshotState) GetUploading added in v0.5.0

func (x *ActorSnapshotState) GetUploading() *SnapshotReport

func (*ActorSnapshotState) ProtoMessage added in v0.5.0

func (*ActorSnapshotState) ProtoMessage()

func (*ActorSnapshotState) ProtoReflect added in v0.5.0

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

func (*ActorSnapshotState) Reset added in v0.5.0

func (x *ActorSnapshotState) Reset()

func (*ActorSnapshotState) String added in v0.5.0

func (x *ActorSnapshotState) String() string

type ArchAssets

type ArchAssets struct {

	// +k8s:required
	// +k8s:maxProperties=16
	// +k8s:eachKey=+k8s:maxLength=64
	Files map[string]*AssetFile `` // asset name -> file
	/* 137-byte string literal not displayed */
	// contains filtered or unexported fields
}

ArchAssets is the set of assets for a single architecture, keyed by asset name (a wrapper message because proto map values cannot themselves be maps).

func (*ArchAssets) Descriptor deprecated

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

Deprecated: Use ArchAssets.ProtoReflect.Descriptor instead.

func (*ArchAssets) GetFiles

func (x *ArchAssets) GetFiles() map[string]*AssetFile

func (*ArchAssets) ProtoMessage

func (*ArchAssets) ProtoMessage()

func (*ArchAssets) ProtoReflect

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

func (*ArchAssets) Reset

func (x *ArchAssets) Reset()

func (*ArchAssets) String

func (x *ArchAssets) String() string

type AssetFile

type AssetFile struct {

	// URL to download the asset from. atelet fetches every URL through the
	// node's object-store plugin, and reads a gs:// URL anonymously only when
	// the plugin cannot serve it.
	// Masked in logged requests, since a signed URL carries its credential in
	// the query.
	//
	// +k8s:required
	// +k8s:maxLength=2048 # matches the SandboxConfig asset url's bound
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// Lower-case hex SHA256; names the cached file and verifies its integrity.
	//
	// +k8s:required
	// +k8s:maxLength=64
	// +k8s:customValidation # 64 hex characters
	Sha256 string `protobuf:"bytes,2,opt,name=sha256,proto3" json:"sha256,omitempty"`
	// contains filtered or unexported fields
}

AssetFile is one content-addressed file atelet fetches for a sandbox runtime (e.g. the gVisor release tarball).

func (*AssetFile) Descriptor deprecated

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

Deprecated: Use AssetFile.ProtoReflect.Descriptor instead.

func (*AssetFile) GetSha256

func (x *AssetFile) GetSha256() string

func (*AssetFile) GetUrl

func (x *AssetFile) GetUrl() string

func (*AssetFile) ProtoMessage

func (*AssetFile) ProtoMessage()

func (*AssetFile) ProtoReflect

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

func (*AssetFile) Reset

func (x *AssetFile) Reset()

func (*AssetFile) String

func (x *AssetFile) String() string

type AteomHerderClient

type AteomHerderClient interface {
	// Run tells atelet to create a new containerized workload from scratch on an
	// ateom.
	Run(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (*RunResponse, error)
	// Checkpoint saves the workload's state as a new snapshot of the actor and
	// returns the ateom to a blank state. upload_config says when the snapshot
	// becomes durable. Once ateom has captured the workload, and before the new
	// snapshot is uploaded or stored locally, atelet deletes the actor's older
	// local snapshots, except one still being uploaded, which it deletes when
	// that upload ends. A Checkpoint that then fails to upload or store the new
	// snapshot leaves the actor with no local snapshot.
	Checkpoint(ctx context.Context, in *CheckpointRequest, opts ...grpc.CallOption) (*CheckpointResponse, error)
	// Restore restores a workload from a snapshot onto an ateom.
	Restore(ctx context.Context, in *RestoreRequest, opts ...grpc.CallOption) (*RestoreResponse, error)
	// PromoteSnapshot makes `snapshot` durable in object storage while keeping
	// its local copy on this node. Used when a snapshot needs to be in object
	// storage (e.g. for tagging) without evicting the paused actor from the
	// node. Waits for an in-flight detach, and fails for an actor running on
	// this node.
	//
	// Idempotent: once the snapshot is durable, atelet answers from the
	// manifest at `snapshot.object`, and fails if there is none.
	//
	// TODO: Temporarily, this deletes all of the actor's local snapshots after
	// the upload and does not check whether the actor is running. Its only
	// caller, the suspend of a paused actor, relies on the deletion.
	PromoteSnapshot(ctx context.Context, in *PromoteSnapshotRequest, opts ...grpc.CallOption) (*PromoteSnapshotResponse, error)
	// Terminate tells atelet to terminate/kill any running workload for an actor,
	// unmount its volumes, and clean up actor state on the node.
	Terminate(ctx context.Context, in *TerminateRequest, opts ...grpc.CallOption) (*TerminateResponse, error)
}

AteomHerderClient is the client API for AteomHerder 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.

AteomHerder allows ate-apiserver to issue control calls to the atelet.

Called by ate-api-server over cluster networking. ate-api-server authenticates with its k8s pod identity mTLS certificate.

type AteomHerderServer

type AteomHerderServer interface {
	// Run tells atelet to create a new containerized workload from scratch on an
	// ateom.
	Run(context.Context, *RunRequest) (*RunResponse, error)
	// Checkpoint saves the workload's state as a new snapshot of the actor and
	// returns the ateom to a blank state. upload_config says when the snapshot
	// becomes durable. Once ateom has captured the workload, and before the new
	// snapshot is uploaded or stored locally, atelet deletes the actor's older
	// local snapshots, except one still being uploaded, which it deletes when
	// that upload ends. A Checkpoint that then fails to upload or store the new
	// snapshot leaves the actor with no local snapshot.
	Checkpoint(context.Context, *CheckpointRequest) (*CheckpointResponse, error)
	// Restore restores a workload from a snapshot onto an ateom.
	Restore(context.Context, *RestoreRequest) (*RestoreResponse, error)
	// PromoteSnapshot makes `snapshot` durable in object storage while keeping
	// its local copy on this node. Used when a snapshot needs to be in object
	// storage (e.g. for tagging) without evicting the paused actor from the
	// node. Waits for an in-flight detach, and fails for an actor running on
	// this node.
	//
	// Idempotent: once the snapshot is durable, atelet answers from the
	// manifest at `snapshot.object`, and fails if there is none.
	//
	// TODO: Temporarily, this deletes all of the actor's local snapshots after
	// the upload and does not check whether the actor is running. Its only
	// caller, the suspend of a paused actor, relies on the deletion.
	PromoteSnapshot(context.Context, *PromoteSnapshotRequest) (*PromoteSnapshotResponse, error)
	// Terminate tells atelet to terminate/kill any running workload for an actor,
	// unmount its volumes, and clean up actor state on the node.
	Terminate(context.Context, *TerminateRequest) (*TerminateResponse, error)
	// contains filtered or unexported methods
}

AteomHerderServer is the server API for AteomHerder service. All implementations must embed UnimplementedAteomHerderServer for forward compatibility.

AteomHerder allows ate-apiserver to issue control calls to the atelet.

Called by ate-api-server over cluster networking. ate-api-server authenticates with its k8s pod identity mTLS certificate.

type AteomSupportClient added in v0.2.0

type AteomSupportClient interface {
	// Request an atunnel certificate for the given actor.
	//
	// TODO(identity): Rename to MintAtunnelCertificate, as distinct from
	// MintActorCertificate (which would be used for certificates projected into
	// the actor filesystem, when/if we support those).
	MintActorCertificate(ctx context.Context, in *MintActorCertificateRequest, opts ...grpc.CallOption) (*MintActorCertificateResponse, error)
	// Register capacity and supported sandbox runtimes for this worker with atelet.
	RegisterWorker(ctx context.Context, in *RegisterWorkerRequest, opts ...grpc.CallOption) (*RegisterWorkerResponse, error)
	// RequestActorSuspend asks that the actor this worker hosts be suspended,
	// for atelet to forward to the control plane's WorkerService, which this
	// mirrors.
	//
	// Success means the control plane ran the suspend; an error is its refusal,
	// passed through as it was given, so a worker can tell a decision from a
	// failure to ask. Callers must not hold a lock the resulting Checkpoint
	// would need: the control plane answers this by driving a suspend back
	// through atelet into the calling ateom.
	RequestActorSuspend(ctx context.Context, in *RequestActorSuspendRequest, opts ...grpc.CallOption) (*RequestActorSuspendResponse, error)
	// GetActorEgressPolicy returns the egress policy of the actor this
	// worker hosts, which atelet reads from the control plane's
	// Control.GetActorEgressPolicy. An error is the control plane's, passed
	// through as it was given.
	GetActorEgressPolicy(ctx context.Context, in *GetActorEgressPolicyRequest, opts ...grpc.CallOption) (*GetActorEgressPolicyResponse, error)
}

AteomSupportClient is the client API for AteomSupport 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.

AteomSupport provides callouts for ateom.

Called by individual ateom pods over a local connection, authenticated with ateom's k8s pod identity mTLS certificate.

func NewAteomSupportClient added in v0.2.0

func NewAteomSupportClient(cc grpc.ClientConnInterface) AteomSupportClient

type AteomSupportServer added in v0.2.0

type AteomSupportServer interface {
	// Request an atunnel certificate for the given actor.
	//
	// TODO(identity): Rename to MintAtunnelCertificate, as distinct from
	// MintActorCertificate (which would be used for certificates projected into
	// the actor filesystem, when/if we support those).
	MintActorCertificate(context.Context, *MintActorCertificateRequest) (*MintActorCertificateResponse, error)
	// Register capacity and supported sandbox runtimes for this worker with atelet.
	RegisterWorker(context.Context, *RegisterWorkerRequest) (*RegisterWorkerResponse, error)
	// RequestActorSuspend asks that the actor this worker hosts be suspended,
	// for atelet to forward to the control plane's WorkerService, which this
	// mirrors.
	//
	// Success means the control plane ran the suspend; an error is its refusal,
	// passed through as it was given, so a worker can tell a decision from a
	// failure to ask. Callers must not hold a lock the resulting Checkpoint
	// would need: the control plane answers this by driving a suspend back
	// through atelet into the calling ateom.
	RequestActorSuspend(context.Context, *RequestActorSuspendRequest) (*RequestActorSuspendResponse, error)
	// GetActorEgressPolicy returns the egress policy of the actor this
	// worker hosts, which atelet reads from the control plane's
	// Control.GetActorEgressPolicy. An error is the control plane's, passed
	// through as it was given.
	GetActorEgressPolicy(context.Context, *GetActorEgressPolicyRequest) (*GetActorEgressPolicyResponse, error)
	// contains filtered or unexported methods
}

AteomSupportServer is the server API for AteomSupport service. All implementations must embed UnimplementedAteomSupportServer for forward compatibility.

AteomSupport provides callouts for ateom.

Called by individual ateom pods over a local connection, authenticated with ateom's k8s pod identity mTLS certificate.

type AttributeEntry added in v0.5.0

type AttributeEntry struct {

	// Attribute name (e.g. "architecture", "cpu_features", "gvisor_asset_hash").
	//
	// +k8s:required
	// +k8s:maxLength=128
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Attribute value corresponding to key.
	//
	// +k8s:required
	// +k8s:maxLength=256
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

AttributeEntry is a single key-value compatibility attribute.

func (*AttributeEntry) Descriptor deprecated added in v0.5.0

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

Deprecated: Use AttributeEntry.ProtoReflect.Descriptor instead.

func (*AttributeEntry) GetKey added in v0.5.0

func (x *AttributeEntry) GetKey() string

func (*AttributeEntry) GetValue added in v0.5.0

func (x *AttributeEntry) GetValue() string

func (*AttributeEntry) ProtoMessage added in v0.5.0

func (*AttributeEntry) ProtoMessage()

func (*AttributeEntry) ProtoReflect added in v0.5.0

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

func (*AttributeEntry) Reset added in v0.5.0

func (x *AttributeEntry) Reset()

func (*AttributeEntry) String added in v0.5.0

func (x *AttributeEntry) String() string

type Capabilities

type Capabilities struct {

	// +k8s:optional
	// +k8s:maxItems=64
	// +k8s:listType=set
	// +k8s:customValidation # capability grammar; "ALL" not accepted
	Add []string `protobuf:"bytes,1,rep,name=add,proto3" json:"add,omitempty"`
	// +k8s:optional
	// +k8s:maxItems=64
	// +k8s:listType=set
	// +k8s:customValidation # capability grammar
	Drop []string `protobuf:"bytes,2,rep,name=drop,proto3" json:"drop,omitempty"`
	// contains filtered or unexported fields
}

Capabilities adjusts a container's Linux capabilities relative to the default set. Names carry no "CAP_" prefix; drop applies before add.

func (*Capabilities) Descriptor deprecated

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

Deprecated: Use Capabilities.ProtoReflect.Descriptor instead.

func (*Capabilities) GetAdd

func (x *Capabilities) GetAdd() []string

func (*Capabilities) GetDrop

func (x *Capabilities) GetDrop() []string

func (*Capabilities) ProtoMessage

func (*Capabilities) ProtoMessage()

func (*Capabilities) ProtoReflect

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

func (*Capabilities) Reset

func (x *Capabilities) Reset()

func (*Capabilities) String

func (x *Capabilities) String() string

type CheckpointRequest

type CheckpointRequest struct {

	// The UID of the worker pod whose ateom hosts the actor.
	//
	// +k8s:required
	// +k8s:format=k8s-uuid
	WorkerPodUid string `protobuf:"bytes,1,opt,name=worker_pod_uid,json=workerPodUid,proto3" json:"worker_pod_uid,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	Atespace string `protobuf:"bytes,2,opt,name=atespace,proto3" json:"atespace,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorName string `protobuf:"bytes,3,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-uuid
	ActorUid string `protobuf:"bytes,4,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	// The template identity is carried for metrics attribution.
	//
	// +k8s:optional
	// +k8s:format=k8s-short-name
	ActorTemplateAtespace string `` /* 126-byte string literal not displayed */
	// +k8s:optional
	// +k8s:format=k8s-short-name
	ActorTemplateName string `protobuf:"bytes,6,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	// Sandbox binary config is not sent on checkpoint: atelet uses the version the
	// actor is currently running (recorded with the actor's on-node state at
	// Run/Restore) and records it into the snapshot manifest.
	//
	// +k8s:required
	Spec *WorkloadSpec `protobuf:"bytes,7,opt,name=spec,proto3" json:"spec,omitempty"`
	// The snapshot to take, and where it is uploaded. atelet may upload it long
	// after Checkpoint returns, without asking the control plane. A request at
	// atelet's newest generation for the actor, with the same snapshot_uuid,
	// is a retry: atelet returns the actor's current state without
	// checkpointing again.
	//
	// TODO: Temporarily, atelet does not recognize retries. A retry runs the
	// checkpoint again, which fails once an earlier attempt has removed the
	// workload.
	//
	// +k8s:required
	Snapshot *Snapshot `protobuf:"bytes,8,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
	// When the snapshot becomes durable.
	//
	// +k8s:required
	UploadConfig *UploadConfig `protobuf:"bytes,9,opt,name=upload_config,json=uploadConfig,proto3" json:"upload_config,omitempty"`
	// contains filtered or unexported fields
}

+k8s:customValidation # immediate upload requires snapshot.object

func (*CheckpointRequest) Descriptor deprecated

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

Deprecated: Use CheckpointRequest.ProtoReflect.Descriptor instead.

func (*CheckpointRequest) GetActorName

func (x *CheckpointRequest) GetActorName() string

func (*CheckpointRequest) GetActorTemplateAtespace

func (x *CheckpointRequest) GetActorTemplateAtespace() string

func (*CheckpointRequest) GetActorTemplateName

func (x *CheckpointRequest) GetActorTemplateName() string

func (*CheckpointRequest) GetActorUid

func (x *CheckpointRequest) GetActorUid() string

func (*CheckpointRequest) GetAtespace

func (x *CheckpointRequest) GetAtespace() string

func (*CheckpointRequest) GetSnapshot added in v0.5.0

func (x *CheckpointRequest) GetSnapshot() *Snapshot

func (*CheckpointRequest) GetSpec

func (x *CheckpointRequest) GetSpec() *WorkloadSpec

func (*CheckpointRequest) GetUploadConfig added in v0.5.0

func (x *CheckpointRequest) GetUploadConfig() *UploadConfig

func (*CheckpointRequest) GetWorkerPodUid added in v0.5.0

func (x *CheckpointRequest) GetWorkerPodUid() string

func (*CheckpointRequest) ProtoMessage

func (*CheckpointRequest) ProtoMessage()

func (*CheckpointRequest) ProtoReflect

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

func (*CheckpointRequest) Reset

func (x *CheckpointRequest) Reset()

func (*CheckpointRequest) String

func (x *CheckpointRequest) String() string

type CheckpointResponse

type CheckpointResponse struct {

	// The actor's state once the checkpoint is taken: latest_local is the new
	// snapshot, unless UPLOAD_MODE_IMMEDIATE kept no local copy. The control
	// plane can drop its entries for any local-only generation not named here:
	// atelet has deleted it, and will never upload it.
	//
	// TODO: Temporarily, atelet leaves this unset. An unset state says nothing
	// about which snapshots atelet holds.
	State *ActorSnapshotState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
	// contains filtered or unexported fields
}

func (*CheckpointResponse) Descriptor deprecated

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

Deprecated: Use CheckpointResponse.ProtoReflect.Descriptor instead.

func (*CheckpointResponse) GetState added in v0.5.0

func (x *CheckpointResponse) GetState() *ActorSnapshotState

func (*CheckpointResponse) ProtoMessage

func (*CheckpointResponse) ProtoMessage()

func (*CheckpointResponse) ProtoReflect

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

func (*CheckpointResponse) Reset

func (x *CheckpointResponse) Reset()

func (*CheckpointResponse) String

func (x *CheckpointResponse) String() string

type Container

type Container struct {

	// +k8s:required
	// +k8s:format=k8s-short-name
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// +k8s:required
	// +k8s:maxLength=512 # matches the template Container.image's bound
	// +k8s:customValidation # must be a well-formed image reference, pinned by digest
	Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
	// +k8s:optional
	// +k8s:maxItems=64
	// +k8s:listType=atomic
	// +k8s:eachVal=+k8s:maxLength=4096 # argv strings; guardrail, not a contract
	Command []string `protobuf:"bytes,3,rep,name=command,proto3" json:"command,omitempty"`
	// +k8s:optional
	// +k8s:maxItems=64
	// +k8s:listType=atomic
	// +k8s:eachVal=+k8s:maxLength=4096 # argv strings; guardrail, not a contract
	Args []string `protobuf:"bytes,7,rep,name=args,proto3" json:"args,omitempty"`
	// +k8s:optional
	// +k8s:maxItems=32 # matches the template's env bound
	// +k8s:listType=map # each variable is set at most once
	// +k8s:listMapKey=name
	Env []*EnvEntry `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty"`
	// +k8s:optional
	WakeupProbe *WakeupProbe `protobuf:"bytes,5,opt,name=wakeup_probe,json=wakeupProbe,proto3" json:"wakeup_probe,omitempty"`
	// Keyed by mount_path: each path hosts exactly one mount, while a volume
	// may be mounted at multiple paths.
	//
	// +k8s:optional
	// +k8s:maxItems=32 # matches the template's volume_mounts bound
	// +k8s:listType=map
	// +k8s:listMapKey=mount_path
	// +k8s:customValidation # mounts must not nest
	VolumeMounts []*VolumeMount `protobuf:"bytes,6,rep,name=volume_mounts,json=volumeMounts,proto3" json:"volume_mounts,omitempty"`
	// +k8s:optional
	SecurityContext *SecurityContext `protobuf:"bytes,8,opt,name=security_context,json=securityContext,proto3" json:"security_context,omitempty"`
	// resources are the cgroup limits for this container, resolved by
	// ate-api-server from the ActorTemplate. Unset means no limits.
	//
	// +k8s:optional
	Resources *ResourceLimits `protobuf:"bytes,9,opt,name=resources,proto3" json:"resources,omitempty"`
	// contains filtered or unexported fields
}

func (*Container) Descriptor deprecated

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

Deprecated: Use Container.ProtoReflect.Descriptor instead.

func (*Container) GetArgs

func (x *Container) GetArgs() []string

func (*Container) GetCommand

func (x *Container) GetCommand() []string

func (*Container) GetEnv

func (x *Container) GetEnv() []*EnvEntry

func (*Container) GetImage

func (x *Container) GetImage() string

func (*Container) GetName

func (x *Container) GetName() string

func (*Container) GetResources

func (x *Container) GetResources() *ResourceLimits

func (*Container) GetSecurityContext

func (x *Container) GetSecurityContext() *SecurityContext

func (*Container) GetVolumeMounts

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

func (*Container) GetWakeupProbe added in v0.2.0

func (x *Container) GetWakeupProbe() *WakeupProbe

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 DurableDirVolume

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

func (*DurableDirVolume) Descriptor deprecated

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

Deprecated: Use DurableDirVolume.ProtoReflect.Descriptor instead.

func (*DurableDirVolume) ProtoMessage

func (*DurableDirVolume) ProtoMessage()

func (*DurableDirVolume) ProtoReflect

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

func (*DurableDirVolume) Reset

func (x *DurableDirVolume) Reset()

func (*DurableDirVolume) String

func (x *DurableDirVolume) String() string

type EgressAllPorts added in v0.5.0

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

EgressAllPorts marks a rule as allowing every port.

func (*EgressAllPorts) Descriptor deprecated added in v0.5.0

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

Deprecated: Use EgressAllPorts.ProtoReflect.Descriptor instead.

func (*EgressAllPorts) ProtoMessage added in v0.5.0

func (*EgressAllPorts) ProtoMessage()

func (*EgressAllPorts) ProtoReflect added in v0.5.0

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

func (*EgressAllPorts) Reset added in v0.5.0

func (x *EgressAllPorts) Reset()

func (*EgressAllPorts) String added in v0.5.0

func (x *EgressAllPorts) String() string

type EgressDestinations added in v0.5.0

type EgressDestinations struct {

	// Hostnames as the control plane's rule has them, wildcards included.
	Hostnames []string `protobuf:"bytes,1,rep,name=hostnames,proto3" json:"hostnames,omitempty"`
	// The ports the rule allows, with the control plane's defaults applied.
	Ports *EgressPorts `protobuf:"bytes,2,opt,name=ports,proto3" json:"ports,omitempty"`
	// contains filtered or unexported fields
}

EgressDestinations is the hostnames and ports a rule allows, copied from the control plane's HTTPRule, HTTPSRule, or TLSPassthroughRule.

func (*EgressDestinations) Descriptor deprecated added in v0.5.0

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

Deprecated: Use EgressDestinations.ProtoReflect.Descriptor instead.

func (*EgressDestinations) GetHostnames added in v0.5.0

func (x *EgressDestinations) GetHostnames() []string

func (*EgressDestinations) GetPorts added in v0.5.0

func (x *EgressDestinations) GetPorts() *EgressPorts

func (*EgressDestinations) ProtoMessage added in v0.5.0

func (*EgressDestinations) ProtoMessage()

func (*EgressDestinations) ProtoReflect added in v0.5.0

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

func (*EgressDestinations) Reset added in v0.5.0

func (x *EgressDestinations) Reset()

func (*EgressDestinations) String added in v0.5.0

func (x *EgressDestinations) 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.
	//
	// +k8s:required
	// +k8s:maxLength=261 # a bracketed or 253-character host, ':' and a 5-digit port
	// +k8s:customValidation # host:port shape
	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 EgressPolicy added in v0.5.0

type EgressPolicy struct {

	// Rules are an unordered set of allows, as in the control plane's policy.
	Rules []*EgressRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
	// contains filtered or unexported fields
}

EgressPolicy is the part of the control plane's EgressPolicy that a worker enforces itself: which destinations each rule allows. The resource metadata and the rules' effects are left out; only the egress gateway applies them, so the credentials they refer to never reach the worker.

func (*EgressPolicy) Descriptor deprecated added in v0.5.0

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

Deprecated: Use EgressPolicy.ProtoReflect.Descriptor instead.

func (*EgressPolicy) GetRules added in v0.5.0

func (x *EgressPolicy) GetRules() []*EgressRule

func (*EgressPolicy) ProtoMessage added in v0.5.0

func (*EgressPolicy) ProtoMessage()

func (*EgressPolicy) ProtoReflect added in v0.5.0

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

func (*EgressPolicy) Reset added in v0.5.0

func (x *EgressPolicy) Reset()

func (*EgressPolicy) String added in v0.5.0

func (x *EgressPolicy) String() string

type EgressPorts added in v0.5.0

type EgressPorts struct {

	// Set if the rule allows every port.
	All *EgressAllPorts `protobuf:"bytes,1,opt,name=all,proto3" json:"all,omitempty"`
	// The port numbers the rule allows, when all is unset.
	Numbers []int32 `protobuf:"varint,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"`
	// contains filtered or unexported fields
}

EgressPorts mirrors the control plane's Ports: either all ports, or the listed numbers.

func (*EgressPorts) Descriptor deprecated added in v0.5.0

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

Deprecated: Use EgressPorts.ProtoReflect.Descriptor instead.

func (*EgressPorts) GetAll added in v0.5.0

func (x *EgressPorts) GetAll() *EgressAllPorts

func (*EgressPorts) GetNumbers added in v0.5.0

func (x *EgressPorts) GetNumbers() []int32

func (*EgressPorts) ProtoMessage added in v0.5.0

func (*EgressPorts) ProtoMessage()

func (*EgressPorts) ProtoReflect added in v0.5.0

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

func (*EgressPorts) Reset added in v0.5.0

func (x *EgressPorts) Reset()

func (*EgressPorts) String added in v0.5.0

func (x *EgressPorts) String() string

type EgressRule added in v0.5.0

type EgressRule struct {

	// Cleartext HTTP to the named hosts.
	Http *EgressDestinations `protobuf:"bytes,1,opt,name=http,proto3" json:"http,omitempty"`
	// HTTPS to the named hosts, intercepted by the egress gateway.
	Https *EgressDestinations `protobuf:"bytes,2,opt,name=https,proto3" json:"https,omitempty"`
	// TLS to the named servers, forwarded without decryption.
	TlsPassthrough *EgressDestinations `protobuf:"bytes,3,opt,name=tls_passthrough,json=tlsPassthrough,proto3" json:"tls_passthrough,omitempty"`
	// contains filtered or unexported fields
}

EgressRule mirrors the control plane's EgressRule: exactly one field is set, naming the rule's protocol. A rule with none set has a protocol this copy does not carry yet, and allows nothing.

func (*EgressRule) Descriptor deprecated added in v0.5.0

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

Deprecated: Use EgressRule.ProtoReflect.Descriptor instead.

func (*EgressRule) GetHttp added in v0.5.0

func (x *EgressRule) GetHttp() *EgressDestinations

func (*EgressRule) GetHttps added in v0.5.0

func (x *EgressRule) GetHttps() *EgressDestinations

func (*EgressRule) GetTlsPassthrough added in v0.5.0

func (x *EgressRule) GetTlsPassthrough() *EgressDestinations

func (*EgressRule) ProtoMessage added in v0.5.0

func (*EgressRule) ProtoMessage()

func (*EgressRule) ProtoReflect added in v0.5.0

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

func (*EgressRule) Reset added in v0.5.0

func (x *EgressRule) Reset()

func (*EgressRule) String added in v0.5.0

func (x *EgressRule) String() string

type EnvEntry

type EnvEntry struct {

	// name may be any printable ASCII character except '='.
	//
	// +k8s:required
	// +k8s:maxLength=256 # guardrail
	// +k8s:customValidation # printable ASCII except '='
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// +k8s:optional
	// +k8s:maxLength=32768 # guardrail
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*EnvEntry) Descriptor deprecated

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

Deprecated: Use EnvEntry.ProtoReflect.Descriptor instead.

func (*EnvEntry) GetName

func (x *EnvEntry) GetName() string

func (*EnvEntry) GetValue

func (x *EnvEntry) GetValue() string

func (*EnvEntry) ProtoMessage

func (*EnvEntry) ProtoMessage()

func (*EnvEntry) ProtoReflect

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

func (*EnvEntry) Reset

func (x *EnvEntry) Reset()

func (*EnvEntry) String

func (x *EnvEntry) String() string

type ExternalVolumeSource

type ExternalVolumeSource struct {

	// Required, unlike the actor status counterpart: the control plane only
	// sends volumes that finished provisioning.
	//
	// +k8s:required
	// +k8s:maxLength=256 # matches ExternalVolume.storage_volume_id's bound
	// +k8s:customValidation # no control characters
	StorageVolumeId string `protobuf:"bytes,1,opt,name=storage_volume_id,json=storageVolumeId,proto3" json:"storage_volume_id,omitempty"`
	// +k8s:optional
	// +k8s:maxLength=253 # matches ExternalVolume.volume_type's bound
	// +k8s:customValidation # optional "substrate.io/" prefix + DNS subdomain
	VolumeType string `protobuf:"bytes,2,opt,name=volume_type,json=volumeType,proto3" json:"volume_type,omitempty"`
	// volume_context is the driver's provisioning metadata. Its entries are the
	// driver's own, so the map is only bounded, not validated.
	//
	// +k8s:optional
	// +k8s:customValidation # at most 40 KiB in total, ten times the CSI limit for map fields
	VolumeContext map[string]string `` /* 174-byte string literal not displayed */
	// publish_context is the driver's attachment metadata for this node, which
	// the node plugin needs to complete the mount. Bounded like volume_context.
	//
	// +k8s:optional
	// +k8s:customValidation # at most 40 KiB in total, ten times the CSI limit for map fields
	PublishContext map[string]string `` /* 177-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ExternalVolumeSource) Descriptor deprecated

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

Deprecated: Use ExternalVolumeSource.ProtoReflect.Descriptor instead.

func (*ExternalVolumeSource) GetPublishContext added in v0.4.0

func (x *ExternalVolumeSource) GetPublishContext() map[string]string

func (*ExternalVolumeSource) GetStorageVolumeId

func (x *ExternalVolumeSource) GetStorageVolumeId() string

func (*ExternalVolumeSource) GetVolumeContext

func (x *ExternalVolumeSource) GetVolumeContext() map[string]string

func (*ExternalVolumeSource) GetVolumeType

func (x *ExternalVolumeSource) GetVolumeType() string

func (*ExternalVolumeSource) ProtoMessage

func (*ExternalVolumeSource) ProtoMessage()

func (*ExternalVolumeSource) ProtoReflect

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

func (*ExternalVolumeSource) Reset

func (x *ExternalVolumeSource) Reset()

func (*ExternalVolumeSource) String

func (x *ExternalVolumeSource) String() string

type GetActorEgressPolicyRequest added in v0.5.0

type GetActorEgressPolicyRequest struct {

	// The actor the calling worker is hosting. atelet reads its policy from the
	// control plane by name.
	//
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorAtespace string `protobuf:"bytes,1,opt,name=actor_atespace,json=actorAtespace,proto3" json:"actor_atespace,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorName string `protobuf:"bytes,2,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	// contains filtered or unexported fields
}

func (*GetActorEgressPolicyRequest) Descriptor deprecated added in v0.5.0

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

Deprecated: Use GetActorEgressPolicyRequest.ProtoReflect.Descriptor instead.

func (*GetActorEgressPolicyRequest) GetActorAtespace added in v0.5.0

func (x *GetActorEgressPolicyRequest) GetActorAtespace() string

func (*GetActorEgressPolicyRequest) GetActorName added in v0.5.0

func (x *GetActorEgressPolicyRequest) GetActorName() string

func (*GetActorEgressPolicyRequest) ProtoMessage added in v0.5.0

func (*GetActorEgressPolicyRequest) ProtoMessage()

func (*GetActorEgressPolicyRequest) ProtoReflect added in v0.5.0

func (*GetActorEgressPolicyRequest) Reset added in v0.5.0

func (x *GetActorEgressPolicyRequest) Reset()

func (*GetActorEgressPolicyRequest) String added in v0.5.0

func (x *GetActorEgressPolicyRequest) String() string

type GetActorEgressPolicyResponse added in v0.5.0

type GetActorEgressPolicyResponse struct {

	// The actor's policy, copied from the control plane's. Unset if the actor
	// has no policy, which denies all of its egress, DNS included.
	EgressPolicy *EgressPolicy `protobuf:"bytes,1,opt,name=egress_policy,json=egressPolicy,proto3" json:"egress_policy,omitempty"`
	// contains filtered or unexported fields
}

func (*GetActorEgressPolicyResponse) Descriptor deprecated added in v0.5.0

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

Deprecated: Use GetActorEgressPolicyResponse.ProtoReflect.Descriptor instead.

func (*GetActorEgressPolicyResponse) GetEgressPolicy added in v0.5.0

func (x *GetActorEgressPolicyResponse) GetEgressPolicy() *EgressPolicy

func (*GetActorEgressPolicyResponse) ProtoMessage added in v0.5.0

func (*GetActorEgressPolicyResponse) ProtoMessage()

func (*GetActorEgressPolicyResponse) ProtoReflect added in v0.5.0

func (*GetActorEgressPolicyResponse) Reset added in v0.5.0

func (x *GetActorEgressPolicyResponse) Reset()

func (*GetActorEgressPolicyResponse) String added in v0.5.0

type HttpGetAction added in v0.5.0

type HttpGetAction struct {

	// Path to access on the HTTP server.
	//
	// +k8s:required
	// +k8s:maxLength=1024 # matches the template probe path's bound
	// +k8s:customValidation # RFC 3986 path shape; no regex/pattern tag exists
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	// TCP port to connect to (1..65535).
	//
	// +k8s:required
	// +k8s:minimum=1
	// +k8s:maximum=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 added in v0.5.0

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

Deprecated: Use HttpGetAction.ProtoReflect.Descriptor instead.

func (*HttpGetAction) GetPath added in v0.5.0

func (x *HttpGetAction) GetPath() string

func (*HttpGetAction) GetPort added in v0.5.0

func (x *HttpGetAction) GetPort() int32

func (*HttpGetAction) ProtoMessage added in v0.5.0

func (*HttpGetAction) ProtoMessage()

func (*HttpGetAction) ProtoReflect added in v0.5.0

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

func (*HttpGetAction) Reset added in v0.5.0

func (x *HttpGetAction) Reset()

func (*HttpGetAction) String added in v0.5.0

func (x *HttpGetAction) String() string

type ImageVolumeSource

type ImageVolumeSource struct {

	// reference is the OCI image reference, pinned by digest.
	//
	// +k8s:required
	// +k8s:maxLength=512 # matches the template ImageVolumeSource.reference's bound
	// +k8s:customValidation # must be a well-formed image reference, pinned by digest
	Reference string `protobuf:"bytes,1,opt,name=reference,proto3" json:"reference,omitempty"`
	// contains filtered or unexported fields
}

func (*ImageVolumeSource) Descriptor deprecated

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

Deprecated: Use ImageVolumeSource.ProtoReflect.Descriptor instead.

func (*ImageVolumeSource) GetReference

func (x *ImageVolumeSource) GetReference() string

func (*ImageVolumeSource) ProtoMessage

func (*ImageVolumeSource) ProtoMessage()

func (*ImageVolumeSource) ProtoReflect

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

func (*ImageVolumeSource) Reset

func (x *ImageVolumeSource) Reset()

func (*ImageVolumeSource) String

func (x *ImageVolumeSource) String() string

type Limits added in v0.3.0

type Limits struct {

	// +k8s:required
	// +k8s:maxLength=16 # the Limits hook restricts values to cpu/memory
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// quantity is in Kubernetes resource.Quantity string form (e.g. "500m",
	// "2Gi").
	//
	// +k8s:required
	// +k8s:maxLength=32 # the Limits hook requires a parseable quantity
	Quantity string `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"`
	// contains filtered or unexported fields
}

+k8s:customValidation # names, quantity parse/positivity, cpu bound

func (*Limits) Descriptor deprecated added in v0.3.0

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

Deprecated: Use Limits.ProtoReflect.Descriptor instead.

func (*Limits) GetName added in v0.3.0

func (x *Limits) GetName() string

func (*Limits) GetQuantity added in v0.3.0

func (x *Limits) GetQuantity() string

func (*Limits) ProtoMessage added in v0.3.0

func (*Limits) ProtoMessage()

func (*Limits) ProtoReflect added in v0.3.0

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

func (*Limits) Reset added in v0.3.0

func (x *Limits) Reset()

func (*Limits) String added in v0.3.0

func (x *Limits) String() string

type MintActorCertificateRequest

type MintActorCertificateRequest struct {

	// The actor for which the certificate should be issued.
	//
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorAtespace string `protobuf:"bytes,3,opt,name=actor_atespace,json=actorAtespace,proto3" json:"actor_atespace,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorName string `protobuf:"bytes,4,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	// The UID of the actor --- used to guard against deletion and recreation of
	// an actor with the same name.
	//
	// +k8s:required
	// +k8s:format=k8s-uuid
	ActorUid string `protobuf:"bytes,5,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	// DER-encoded PKCS #10 certificate signing request. Atunnel retains the
	// corresponding private key.
	//
	// +k8s:required
	// +k8s:maxBytes=16384 # matches the control-plane MintActorCertificateRequest bound this is forwarded to
	CertificateSigningRequest []byte `` /* 138-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*MintActorCertificateRequest) Descriptor deprecated

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

Deprecated: Use MintActorCertificateRequest.ProtoReflect.Descriptor instead.

func (*MintActorCertificateRequest) GetActorAtespace added in v0.2.0

func (x *MintActorCertificateRequest) GetActorAtespace() string

func (*MintActorCertificateRequest) GetActorName added in v0.2.0

func (x *MintActorCertificateRequest) GetActorName() string

func (*MintActorCertificateRequest) GetActorUid added in v0.2.0

func (x *MintActorCertificateRequest) GetActorUid() string

func (*MintActorCertificateRequest) GetCertificateSigningRequest

func (x *MintActorCertificateRequest) GetCertificateSigningRequest() []byte

func (*MintActorCertificateRequest) ProtoMessage

func (*MintActorCertificateRequest) ProtoMessage()

func (*MintActorCertificateRequest) ProtoReflect

func (*MintActorCertificateRequest) Reset

func (x *MintActorCertificateRequest) Reset()

func (*MintActorCertificateRequest) String

func (x *MintActorCertificateRequest) String() string

type MintActorCertificateResponse

type MintActorCertificateResponse struct {

	// DER-encoded leaf followed by any intermediate certificates.
	ActorCertificates [][]byte `protobuf:"bytes,1,rep,name=actor_certificates,json=actorCertificates,proto3" json:"actor_certificates,omitempty"`
	// contains filtered or unexported fields
}

func (*MintActorCertificateResponse) Descriptor deprecated

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

Deprecated: Use MintActorCertificateResponse.ProtoReflect.Descriptor instead.

func (*MintActorCertificateResponse) GetActorCertificates

func (x *MintActorCertificateResponse) GetActorCertificates() [][]byte

func (*MintActorCertificateResponse) ProtoMessage

func (*MintActorCertificateResponse) ProtoMessage()

func (*MintActorCertificateResponse) ProtoReflect

func (*MintActorCertificateResponse) Reset

func (x *MintActorCertificateResponse) Reset()

func (*MintActorCertificateResponse) String

type ObjectStorage added in v0.5.0

type ObjectStorage struct {

	// The object storage URI of the snapshot. Object names are appended to it,
	// so it addresses the snapshot as a whole rather than any one object.
	//
	// +k8s:required
	// +k8s:maxLength=2048
	// +k8s:customValidation # a parseable snapshot URI
	SnapshotUri string `protobuf:"bytes,1,opt,name=snapshot_uri,json=snapshotUri,proto3" json:"snapshot_uri,omitempty"`
	// contains filtered or unexported fields
}

func (*ObjectStorage) Descriptor deprecated added in v0.5.0

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

Deprecated: Use ObjectStorage.ProtoReflect.Descriptor instead.

func (*ObjectStorage) GetSnapshotUri added in v0.5.0

func (x *ObjectStorage) GetSnapshotUri() string

func (*ObjectStorage) ProtoMessage added in v0.5.0

func (*ObjectStorage) ProtoMessage()

func (*ObjectStorage) ProtoReflect added in v0.5.0

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

func (*ObjectStorage) Reset added in v0.5.0

func (x *ObjectStorage) Reset()

func (*ObjectStorage) String added in v0.5.0

func (x *ObjectStorage) String() string

type PromoteSnapshotRequest added in v0.5.0

type PromoteSnapshotRequest struct {

	// Golden actors are never paused, so the golden atespace is rejected.
	//
	// +k8s:required
	// +k8s:format=k8s-short-name
	// +k8s:customValidation # not the golden atespace
	Atespace string `protobuf:"bytes,1,opt,name=atespace,proto3" json:"atespace,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorName string `protobuf:"bytes,2,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-uuid
	ActorUid string `protobuf:"bytes,3,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	// For metrics attribution, like on CheckpointRequest.
	//
	// +k8s:optional
	// +k8s:format=k8s-short-name
	ActorTemplateAtespace string `` /* 126-byte string literal not displayed */
	// +k8s:optional
	// +k8s:format=k8s-short-name
	ActorTemplateName string `protobuf:"bytes,5,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	// The actor's latest snapshot as the control plane records it, and where
	// it is, or will be, uploaded.
	//
	// +k8s:required
	// +k8s:subfield(object)=+k8s:required
	Snapshot *Snapshot `protobuf:"bytes,6,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
	// contains filtered or unexported fields
}

func (*PromoteSnapshotRequest) Descriptor deprecated added in v0.5.0

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

Deprecated: Use PromoteSnapshotRequest.ProtoReflect.Descriptor instead.

func (*PromoteSnapshotRequest) GetActorName added in v0.5.0

func (x *PromoteSnapshotRequest) GetActorName() string

func (*PromoteSnapshotRequest) GetActorTemplateAtespace added in v0.5.0

func (x *PromoteSnapshotRequest) GetActorTemplateAtespace() string

func (*PromoteSnapshotRequest) GetActorTemplateName added in v0.5.0

func (x *PromoteSnapshotRequest) GetActorTemplateName() string

func (*PromoteSnapshotRequest) GetActorUid added in v0.5.0

func (x *PromoteSnapshotRequest) GetActorUid() string

func (*PromoteSnapshotRequest) GetAtespace added in v0.5.0

func (x *PromoteSnapshotRequest) GetAtespace() string

func (*PromoteSnapshotRequest) GetSnapshot added in v0.5.0

func (x *PromoteSnapshotRequest) GetSnapshot() *Snapshot

func (*PromoteSnapshotRequest) ProtoMessage added in v0.5.0

func (*PromoteSnapshotRequest) ProtoMessage()

func (*PromoteSnapshotRequest) ProtoReflect added in v0.5.0

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

func (*PromoteSnapshotRequest) Reset added in v0.5.0

func (x *PromoteSnapshotRequest) Reset()

func (*PromoteSnapshotRequest) String added in v0.5.0

func (x *PromoteSnapshotRequest) String() string

type PromoteSnapshotResponse added in v0.5.0

type PromoteSnapshotResponse struct {

	// The actor's state once promoted: latest_durable is its latest snapshot,
	// and latest_local remains set if atelet still holds the local copy.
	//
	// TODO: Temporarily, atelet leaves this unset. An unset state says nothing
	// about which snapshots atelet holds.
	State *ActorSnapshotState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
	// contains filtered or unexported fields
}

func (*PromoteSnapshotResponse) Descriptor deprecated added in v0.5.0

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

Deprecated: Use PromoteSnapshotResponse.ProtoReflect.Descriptor instead.

func (*PromoteSnapshotResponse) GetState added in v0.5.0

func (*PromoteSnapshotResponse) ProtoMessage added in v0.5.0

func (*PromoteSnapshotResponse) ProtoMessage()

func (*PromoteSnapshotResponse) ProtoReflect added in v0.5.0

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

func (*PromoteSnapshotResponse) Reset added in v0.5.0

func (x *PromoteSnapshotResponse) Reset()

func (*PromoteSnapshotResponse) String added in v0.5.0

func (x *PromoteSnapshotResponse) String() string

type RegisterWorkerRequest added in v0.4.0

type RegisterWorkerRequest struct {

	// What the worker can supply. atelet converts it to the control plane's
	// WorkerResources when forwarding.
	//
	// +k8s:required
	Capacity *WorkerResources `protobuf:"bytes,1,opt,name=capacity,proto3" json:"capacity,omitempty"`
	// Runtime that new and cold-booted actors start under.
	// Snapshots matching default_runtime can also warm-boot on this worker.
	// atelet converts it to the control plane's SandboxRuntime when forwarding.
	//
	// +k8s:required
	DefaultRuntime *SandboxRuntime `protobuf:"bytes,2,opt,name=default_runtime,json=defaultRuntime,proto3" json:"default_runtime,omitempty"`
	// Additional runtimes (excluding default_runtime) that this worker can
	// restore snapshots from right now.
	//
	// +k8s:optional
	// +k8s:maxItems=32
	// +k8s:listType=atomic
	RestorableRuntimes []*SandboxRuntime `protobuf:"bytes,3,rep,name=restorable_runtimes,json=restorableRuntimes,proto3" json:"restorable_runtimes,omitempty"`
	// contains filtered or unexported fields
}

func (*RegisterWorkerRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use RegisterWorkerRequest.ProtoReflect.Descriptor instead.

func (*RegisterWorkerRequest) GetCapacity added in v0.4.0

func (x *RegisterWorkerRequest) GetCapacity() *WorkerResources

func (*RegisterWorkerRequest) GetDefaultRuntime added in v0.5.0

func (x *RegisterWorkerRequest) GetDefaultRuntime() *SandboxRuntime

func (*RegisterWorkerRequest) GetRestorableRuntimes added in v0.5.0

func (x *RegisterWorkerRequest) GetRestorableRuntimes() []*SandboxRuntime

func (*RegisterWorkerRequest) ProtoMessage added in v0.4.0

func (*RegisterWorkerRequest) ProtoMessage()

func (*RegisterWorkerRequest) ProtoReflect added in v0.4.0

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

func (*RegisterWorkerRequest) Reset added in v0.4.0

func (x *RegisterWorkerRequest) Reset()

func (*RegisterWorkerRequest) String added in v0.4.0

func (x *RegisterWorkerRequest) String() string

type RegisterWorkerResponse added in v0.4.0

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

func (*RegisterWorkerResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use RegisterWorkerResponse.ProtoReflect.Descriptor instead.

func (*RegisterWorkerResponse) ProtoMessage added in v0.4.0

func (*RegisterWorkerResponse) ProtoMessage()

func (*RegisterWorkerResponse) ProtoReflect added in v0.4.0

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

func (*RegisterWorkerResponse) Reset added in v0.4.0

func (x *RegisterWorkerResponse) Reset()

func (*RegisterWorkerResponse) String added in v0.4.0

func (x *RegisterWorkerResponse) String() string

type RequestActorSuspendRequest added in v0.2.0

type RequestActorSuspendRequest struct {

	// The actor the calling worker is hosting. atelet forwards this to the
	// control plane, which serves it only if the actor is assigned to the worker
	// the caller's certificate names.
	//
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorAtespace string `protobuf:"bytes,1,opt,name=actor_atespace,json=actorAtespace,proto3" json:"actor_atespace,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorName string `protobuf:"bytes,2,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	// The UID of the actor --- used to guard against deletion and recreation of
	// an actor with the same name, as for MintActorCertificate.
	//
	// +k8s:required
	// +k8s:format=k8s-uuid
	ActorUid string `protobuf:"bytes,3,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	// contains filtered or unexported fields
}

func (*RequestActorSuspendRequest) Descriptor deprecated added in v0.2.0

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

Deprecated: Use RequestActorSuspendRequest.ProtoReflect.Descriptor instead.

func (*RequestActorSuspendRequest) GetActorAtespace added in v0.2.0

func (x *RequestActorSuspendRequest) GetActorAtespace() string

func (*RequestActorSuspendRequest) GetActorName added in v0.2.0

func (x *RequestActorSuspendRequest) GetActorName() string

func (*RequestActorSuspendRequest) GetActorUid added in v0.2.0

func (x *RequestActorSuspendRequest) GetActorUid() string

func (*RequestActorSuspendRequest) ProtoMessage added in v0.2.0

func (*RequestActorSuspendRequest) ProtoMessage()

func (*RequestActorSuspendRequest) ProtoReflect added in v0.2.0

func (*RequestActorSuspendRequest) Reset added in v0.2.0

func (x *RequestActorSuspendRequest) Reset()

func (*RequestActorSuspendRequest) String added in v0.2.0

func (x *RequestActorSuspendRequest) String() string

type RequestActorSuspendResponse added in v0.2.0

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

func (*RequestActorSuspendResponse) Descriptor deprecated added in v0.2.0

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

Deprecated: Use RequestActorSuspendResponse.ProtoReflect.Descriptor instead.

func (*RequestActorSuspendResponse) ProtoMessage added in v0.2.0

func (*RequestActorSuspendResponse) ProtoMessage()

func (*RequestActorSuspendResponse) ProtoReflect added in v0.2.0

func (*RequestActorSuspendResponse) Reset added in v0.2.0

func (x *RequestActorSuspendResponse) Reset()

func (*RequestActorSuspendResponse) String added in v0.2.0

func (x *RequestActorSuspendResponse) String() string

type ResourceLimits

type ResourceLimits struct {

	// memory_bytes is the memory limit in bytes. 0 means unset.
	//
	// +k8s:optional
	// +k8s:minimum=0
	MemoryBytes int64 `protobuf:"varint,1,opt,name=memory_bytes,json=memoryBytes,proto3" json:"memory_bytes,omitempty"`
	// cpu_millis is the CPU limit in milli-cores (1000 = one core). 0 means unset.
	//
	// +k8s:optional
	// +k8s:minimum=0
	// +k8s:maximum=999999 # the control plane caps cpu limits strictly below 1000 cores
	CpuMillis int64 `protobuf:"varint,2,opt,name=cpu_millis,json=cpuMillis,proto3" json:"cpu_millis,omitempty"`
	// contains filtered or unexported fields
}

ResourceLimits are the cgroup limits for one container. Scalars rather than a map so each resource.Quantity is parsed exactly once, in ate-api-server.

func (*ResourceLimits) Descriptor deprecated

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

Deprecated: Use ResourceLimits.ProtoReflect.Descriptor instead.

func (*ResourceLimits) GetCpuMillis

func (x *ResourceLimits) GetCpuMillis() int64

func (*ResourceLimits) GetMemoryBytes

func (x *ResourceLimits) GetMemoryBytes() int64

func (*ResourceLimits) ProtoMessage

func (*ResourceLimits) ProtoMessage()

func (*ResourceLimits) ProtoReflect

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

func (*ResourceLimits) Reset

func (x *ResourceLimits) Reset()

func (*ResourceLimits) String

func (x *ResourceLimits) String() string

type Resources added in v0.3.0

type Resources struct {

	// limits is the maximum amount of compute resources allowed. Only "cpu"
	// and "memory" are supported, each at most once, and each quantity must be
	// greater than zero; the cpu limit must be less than 1000 cores.
	//
	// +k8s:optional
	// +k8s:maxItems=2
	// +k8s:listType=map
	// +k8s:listMapKey=name
	Limits []*Limits `protobuf:"bytes,1,rep,name=limits,proto3" json:"limits,omitempty"`
	// contains filtered or unexported fields
}

func (*Resources) Descriptor deprecated added in v0.3.0

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

Deprecated: Use Resources.ProtoReflect.Descriptor instead.

func (*Resources) GetLimits added in v0.3.0

func (x *Resources) GetLimits() []*Limits

func (*Resources) ProtoMessage added in v0.3.0

func (*Resources) ProtoMessage()

func (*Resources) ProtoReflect added in v0.3.0

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

func (*Resources) Reset added in v0.3.0

func (x *Resources) Reset()

func (*Resources) String added in v0.3.0

func (x *Resources) String() string

type RestoreRequest

type RestoreRequest struct {

	// The UID of the worker pod whose ateom hosts the actor.
	//
	// +k8s:required
	// +k8s:format=k8s-uuid
	WorkerPodUid string `protobuf:"bytes,1,opt,name=worker_pod_uid,json=workerPodUid,proto3" json:"worker_pod_uid,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	Atespace string `protobuf:"bytes,2,opt,name=atespace,proto3" json:"atespace,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorName string `protobuf:"bytes,3,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-uuid
	ActorUid string `protobuf:"bytes,4,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	// The template identity is carried for metrics attribution.
	//
	// +k8s:optional
	// +k8s:format=k8s-short-name
	ActorTemplateAtespace string `` /* 126-byte string literal not displayed */
	// +k8s:optional
	// +k8s:format=k8s-short-name
	ActorTemplateName string `protobuf:"bytes,6,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	// +k8s:required
	Spec *WorkloadSpec `protobuf:"bytes,7,opt,name=spec,proto3" json:"spec,omitempty"`
	// Snapshot to restore from. atelet reads its local copy if it holds a
	// usable one, and `snapshot.object` otherwise. A local copy is unusable if
	// its manifest does not parse or lists a missing file. While atelet is
	// detaching the actor, it waits for the detach to finish and then reads
	// `snapshot.object`. Fails if neither copy exists: that generation is lost.
	//
	// TODO: Temporarily, the control plane does not set `snapshot.object` when
	// it restores a paused actor, so atelet has nothing to fall back to if that
	// actor's local copy is missing or unusable.
	//
	// +k8s:required
	Snapshot *Snapshot `protobuf:"bytes,8,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
	// When absent the actor has no egress: its TCP is captured and refused.
	//
	// +k8s:optional
	EgressGateway *EgressGateway `protobuf:"bytes,13,opt,name=egress_gateway,json=egressGateway,proto3,oneof" json:"egress_gateway,omitempty"`
	// The actor's declared size, from the ActorTemplate's resource limits. For
	// gVisor and micro-VM VOLUMES restores the sandbox is (re)sized to these;
	// for a MEMORY micro-VM restore the size baked into the snapshot wins. Zero
	// means "unset": keep the runtime default.
	//
	// +k8s:optional
	// +k8s:minimum=0
	// +k8s:maximum=999999 # the control plane caps cpu limits strictly below 1000 cores
	CpuMilli int64 `protobuf:"varint,14,opt,name=cpu_milli,json=cpuMilli,proto3" json:"cpu_milli,omitempty"` // CPU limit in millicores (1000 = one core).
	// +k8s:optional
	// +k8s:minimum=0
	MemoryBytes int64 `protobuf:"varint,15,opt,name=memory_bytes,json=memoryBytes,proto3" json:"memory_bytes,omitempty"` // Memory limit in bytes.
	// The sandbox binaries and pause image to restore with, resolved from the
	// ActorTemplate's SandboxConfig.
	//
	// +k8s:required
	SandboxAssets *SandboxAssets `protobuf:"bytes,16,opt,name=sandbox_assets,json=sandboxAssets,proto3" json:"sandbox_assets,omitempty"`
	// contains filtered or unexported fields
}

func (*RestoreRequest) Descriptor deprecated

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

Deprecated: Use RestoreRequest.ProtoReflect.Descriptor instead.

func (*RestoreRequest) GetActorName

func (x *RestoreRequest) GetActorName() string

func (*RestoreRequest) GetActorTemplateAtespace

func (x *RestoreRequest) GetActorTemplateAtespace() string

func (*RestoreRequest) GetActorTemplateName

func (x *RestoreRequest) GetActorTemplateName() string

func (*RestoreRequest) GetActorUid

func (x *RestoreRequest) GetActorUid() string

func (*RestoreRequest) GetAtespace

func (x *RestoreRequest) GetAtespace() string

func (*RestoreRequest) GetCpuMilli

func (x *RestoreRequest) GetCpuMilli() int64

func (*RestoreRequest) GetEgressGateway

func (x *RestoreRequest) GetEgressGateway() *EgressGateway

func (*RestoreRequest) GetMemoryBytes

func (x *RestoreRequest) GetMemoryBytes() int64

func (*RestoreRequest) GetSandboxAssets added in v0.2.0

func (x *RestoreRequest) GetSandboxAssets() *SandboxAssets

func (*RestoreRequest) GetSnapshot added in v0.5.0

func (x *RestoreRequest) GetSnapshot() *Snapshot

func (*RestoreRequest) GetSpec

func (x *RestoreRequest) GetSpec() *WorkloadSpec

func (*RestoreRequest) GetWorkerPodUid added in v0.5.0

func (x *RestoreRequest) GetWorkerPodUid() string

func (*RestoreRequest) ProtoMessage

func (*RestoreRequest) ProtoMessage()

func (*RestoreRequest) ProtoReflect

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

func (*RestoreRequest) Reset

func (x *RestoreRequest) Reset()

func (*RestoreRequest) String

func (x *RestoreRequest) String() string

type RestoreResponse

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

func (*RestoreResponse) Descriptor deprecated

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

Deprecated: Use RestoreResponse.ProtoReflect.Descriptor instead.

func (*RestoreResponse) ProtoMessage

func (*RestoreResponse) ProtoMessage()

func (*RestoreResponse) ProtoReflect

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

func (*RestoreResponse) Reset

func (x *RestoreResponse) Reset()

func (*RestoreResponse) String

func (x *RestoreResponse) String() string

type RunRequest

type RunRequest struct {

	// The UID of the worker pod whose ateom hosts the actor.
	//
	// +k8s:required
	// +k8s:format=k8s-uuid
	WorkerPodUid string `protobuf:"bytes,1,opt,name=worker_pod_uid,json=workerPodUid,proto3" json:"worker_pod_uid,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	Atespace string `protobuf:"bytes,2,opt,name=atespace,proto3" json:"atespace,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorName string `protobuf:"bytes,3,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-uuid
	ActorUid string `protobuf:"bytes,4,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	// The template identity is carried for metrics attribution.
	//
	// +k8s:optional
	// +k8s:format=k8s-short-name
	ActorTemplateAtespace string `` /* 126-byte string literal not displayed */
	// +k8s:optional
	// +k8s:format=k8s-short-name
	ActorTemplateName string `protobuf:"bytes,6,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	// +k8s:required
	Spec *WorkloadSpec `protobuf:"bytes,7,opt,name=spec,proto3" json:"spec,omitempty"`
	// The sandbox binaries to use for booting this actor from scratch. atelet
	// fetches the relevant assets and records them with the actor's on-node state
	// so a later Checkpoint can pin the same version into the snapshot manifest.
	//
	// +k8s:required
	SandboxAssets *SandboxAssets `protobuf:"bytes,8,opt,name=sandbox_assets,json=sandboxAssets,proto3" json:"sandbox_assets,omitempty"`
	// When absent the actor has no egress: its TCP is captured and refused.
	//
	// +k8s:optional
	EgressGateway *EgressGateway `protobuf:"bytes,9,opt,name=egress_gateway,json=egressGateway,proto3,oneof" json:"egress_gateway,omitempty"`
	// The actor's declared size, from the ActorTemplate's resource limits. atelet
	// passes these through to the sandbox so it is sized to the actor (not the
	// whole host or worker pod). Zero means "unset": keep the runtime default.
	//
	// +k8s:optional
	// +k8s:minimum=0
	// +k8s:maximum=999999 # the control plane caps cpu limits strictly below 1000 cores
	CpuMilli int64 `protobuf:"varint,10,opt,name=cpu_milli,json=cpuMilli,proto3" json:"cpu_milli,omitempty"` // CPU limit in millicores (1000 = one core).
	// +k8s:optional
	// +k8s:minimum=0
	MemoryBytes int64 `protobuf:"varint,11,opt,name=memory_bytes,json=memoryBytes,proto3" json:"memory_bytes,omitempty"` // Memory limit in bytes.
	// contains filtered or unexported fields
}

func (*RunRequest) Descriptor deprecated

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

Deprecated: Use RunRequest.ProtoReflect.Descriptor instead.

func (*RunRequest) GetActorName

func (x *RunRequest) GetActorName() string

func (*RunRequest) GetActorTemplateAtespace

func (x *RunRequest) GetActorTemplateAtespace() string

func (*RunRequest) GetActorTemplateName

func (x *RunRequest) GetActorTemplateName() string

func (*RunRequest) GetActorUid

func (x *RunRequest) GetActorUid() string

func (*RunRequest) GetAtespace

func (x *RunRequest) GetAtespace() string

func (*RunRequest) GetCpuMilli

func (x *RunRequest) GetCpuMilli() int64

func (*RunRequest) GetEgressGateway

func (x *RunRequest) GetEgressGateway() *EgressGateway

func (*RunRequest) GetMemoryBytes

func (x *RunRequest) GetMemoryBytes() int64

func (*RunRequest) GetSandboxAssets

func (x *RunRequest) GetSandboxAssets() *SandboxAssets

func (*RunRequest) GetSpec

func (x *RunRequest) GetSpec() *WorkloadSpec

func (*RunRequest) GetWorkerPodUid added in v0.5.0

func (x *RunRequest) GetWorkerPodUid() string

func (*RunRequest) ProtoMessage

func (*RunRequest) ProtoMessage()

func (*RunRequest) ProtoReflect

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

func (*RunRequest) Reset

func (x *RunRequest) Reset()

func (*RunRequest) String

func (x *RunRequest) String() string

type RunResponse

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

func (*RunResponse) Descriptor deprecated

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

Deprecated: Use RunResponse.ProtoReflect.Descriptor instead.

func (*RunResponse) ProtoMessage

func (*RunResponse) ProtoMessage()

func (*RunResponse) ProtoReflect

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

func (*RunResponse) Reset

func (x *RunResponse) Reset()

func (*RunResponse) String

func (x *RunResponse) String() string

type SandboxAssets

type SandboxAssets struct {

	// +k8s:required
	// +k8s:maxLength=63 # guardrail; the class names are a few characters
	// +k8s:customValidation # gvisor or microvm
	SandboxClass string `protobuf:"bytes,1,opt,name=sandbox_class,json=sandboxClass,proto3" json:"sandbox_class,omitempty"` // e.g. "gvisor"
	// +k8s:required
	// +k8s:maxProperties=8 # one entry per architecture
	// +k8s:eachKey=+k8s:maxLength=16
	Assets map[string]*ArchAssets `` // arch -> {name -> file}
	/* 139-byte string literal not displayed */
	// pause_image is the image for the sandbox's root container. Like the
	// binaries above it is sandbox configuration, not workload configuration,
	// and atelet pins it into the snapshot manifest so a restore rebuilds the
	// sandbox from the same image. Empty for sandboxes without a pause
	// container (microvm).
	//
	// +k8s:optional
	// +k8s:maxLength=512
	// +k8s:customValidation # must be a well-formed image reference, pinned by digest
	PauseImage string `protobuf:"bytes,3,opt,name=pause_image,json=pauseImage,proto3" json:"pause_image,omitempty"`
	// contains filtered or unexported fields
}

SandboxAssets is the generic, backend-agnostic description of the sandbox an actor runs in: a sandbox class, the pause image holding its namespaces, and binaries keyed first by architecture (GOARCH) and then by asset name. atelet's backend code interprets the asset names (gVisor expects "gvisor", the release tarball; legacy "runsc", a bare binary, is still accepted).

func (*SandboxAssets) Descriptor deprecated

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

Deprecated: Use SandboxAssets.ProtoReflect.Descriptor instead.

func (*SandboxAssets) GetAssets

func (x *SandboxAssets) GetAssets() map[string]*ArchAssets

func (*SandboxAssets) GetPauseImage

func (x *SandboxAssets) GetPauseImage() string

func (*SandboxAssets) GetSandboxClass

func (x *SandboxAssets) GetSandboxClass() string

func (*SandboxAssets) ProtoMessage

func (*SandboxAssets) ProtoMessage()

func (*SandboxAssets) ProtoReflect

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

func (*SandboxAssets) Reset

func (x *SandboxAssets) Reset()

func (*SandboxAssets) String

func (x *SandboxAssets) String() string

type SandboxRuntime added in v0.5.0

type SandboxRuntime struct {

	// e.g. "gvisor", "microvm"
	//
	// +k8s:required
	// +k8s:maxLength=63
	// +k8s:customValidation # gvisor or microvm
	SandboxClass string `protobuf:"bytes,1,opt,name=sandbox_class,json=sandboxClass,proto3" json:"sandbox_class,omitempty"`
	// Primary compatibility version stamped onto an actor's snapshot when a
	// checkpoint is taken on this runtime. Snapshots matching `version`
	// can warm-boot on this runtime.
	// TODO: Add support for additional compatibility versions.
	//
	// +k8s:required
	Version *VersionedSandboxCompat `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

SandboxRuntime describes a sandbox runtime and its compatibility identity as reported by a worker. It mirrors the control plane's SandboxRuntime and is validated by the same rules.

func (*SandboxRuntime) Descriptor deprecated added in v0.5.0

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

Deprecated: Use SandboxRuntime.ProtoReflect.Descriptor instead.

func (*SandboxRuntime) GetSandboxClass added in v0.5.0

func (x *SandboxRuntime) GetSandboxClass() string

func (*SandboxRuntime) GetVersion added in v0.5.0

func (x *SandboxRuntime) GetVersion() *VersionedSandboxCompat

func (*SandboxRuntime) ProtoMessage added in v0.5.0

func (*SandboxRuntime) ProtoMessage()

func (*SandboxRuntime) ProtoReflect added in v0.5.0

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

func (*SandboxRuntime) Reset added in v0.5.0

func (x *SandboxRuntime) Reset()

func (*SandboxRuntime) String added in v0.5.0

func (x *SandboxRuntime) String() string

type SecurityContext

type SecurityContext struct {

	// +k8s:optional
	Capabilities *Capabilities `protobuf:"bytes,1,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
	// contains filtered or unexported fields
}

SecurityContext holds security settings for a container's process.

func (*SecurityContext) Descriptor deprecated

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

Deprecated: Use SecurityContext.ProtoReflect.Descriptor instead.

func (*SecurityContext) GetCapabilities

func (x *SecurityContext) GetCapabilities() *Capabilities

func (*SecurityContext) ProtoMessage

func (*SecurityContext) ProtoMessage()

func (*SecurityContext) ProtoReflect

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

func (*SecurityContext) Reset

func (x *SecurityContext) Reset()

func (*SecurityContext) String

func (x *SecurityContext) String() string

type Snapshot added in v0.5.0

type Snapshot struct {

	// ateapi Snapshot.uuid. Names the snapshot's directory under the actor's
	// local-checkpoint directory, so this is a bare name and must not contain
	// a path separator.
	//
	// +k8s:required
	// +k8s:format=k8s-short-name
	SnapshotUuid string `protobuf:"bytes,1,opt,name=snapshot_uuid,json=snapshotUuid,proto3" json:"snapshot_uuid,omitempty"`
	// ateapi Snapshot.generation, starting at 1. Orders the actor's snapshots.
	// Checkpoint and PromoteSnapshot fail for a generation below atelet's newest
	// for the actor, or for its newest under another snapshot_uuid: the
	// caller's view is stale.
	//
	// TODO: Temporarily, the control plane does not set this and atelet does
	// not check it.
	//
	// +k8s:optional
	Generation int32 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"`
	// On Checkpoint: the fidelity to capture.
	// On Restore: the fidelity to restore the actor with.
	// On PromoteSnapshot: the lowest fidelity the snapshot may hold. The call
	// fails if its manifest records a lower one.
	// In SnapshotReport: the fidelity the snapshot holds.
	//
	// TODO: Open question: should PromoteSnapshot accept a manifest that records
	// a higher fidelity than this? Until that is decided, atelet requires the
	// two to be equal.
	//
	// +k8s:required
	// +k8s:minimum=1
	// +k8s:maximum=3 # keep this in sync with the SnapshotFidelity enum
	Fidelity SnapshotFidelity `protobuf:"varint,3,opt,name=fidelity,proto3,enum=atelet.SnapshotFidelity" json:"fidelity,omitempty"`
	// The snapshot's durable copy in object storage. Required on every
	// request: atelet uploads there, or reads from there when it holds no
	// usable local copy.
	//
	// TODO: Temporarily, this is optional while we haven't implemented deferred
	// uploads.
	//
	// +k8s:optional
	Object *ObjectStorage `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"`
	// contains filtered or unexported fields
}

Snapshot identifies one snapshot of an actor, and where its durable copy lives.

func (*Snapshot) Descriptor deprecated added in v0.5.0

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

Deprecated: Use Snapshot.ProtoReflect.Descriptor instead.

func (*Snapshot) GetFidelity added in v0.5.0

func (x *Snapshot) GetFidelity() SnapshotFidelity

func (*Snapshot) GetGeneration added in v0.5.0

func (x *Snapshot) GetGeneration() int32

func (*Snapshot) GetObject added in v0.5.0

func (x *Snapshot) GetObject() *ObjectStorage

func (*Snapshot) GetSnapshotUuid added in v0.5.0

func (x *Snapshot) GetSnapshotUuid() string

func (*Snapshot) ProtoMessage added in v0.5.0

func (*Snapshot) ProtoMessage()

func (*Snapshot) ProtoReflect added in v0.5.0

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

func (*Snapshot) Reset added in v0.5.0

func (x *Snapshot) Reset()

func (*Snapshot) String added in v0.5.0

func (x *Snapshot) String() string

type SnapshotFidelity added in v0.5.0

type SnapshotFidelity int32

SnapshotFidelity mirrors the public ateapi enum: the state layers a snapshot holds, lowest to highest, each including the ones below it.

const (
	// Not valid option; should never happen.
	SnapshotFidelity_SNAPSHOT_FIDELITY_UNSPECIFIED SnapshotFidelity = 0
	// Capture only the contents of attached volumes that support snapshots
	// (currently DurableDir-typed volumes). Memory and the rest of rootfs are
	// excluded.
	SnapshotFidelity_SNAPSHOT_FIDELITY_VOLUMES SnapshotFidelity = 1
	// Volumes plus the root filesystem changes made since boot. Served by the
	// micro-VM runtime only; other runtimes reject requests carrying it.
	SnapshotFidelity_SNAPSHOT_FIDELITY_ROOTFS SnapshotFidelity = 2
	// Capture process memory plus the full filesystem delta on top of the OCI
	// image (including any attached DurableDir volumes).
	SnapshotFidelity_SNAPSHOT_FIDELITY_MEMORY SnapshotFidelity = 3 // Keep this in sync with the maximums on fields of this type.
)

func (SnapshotFidelity) Descriptor added in v0.5.0

func (SnapshotFidelity) Enum added in v0.5.0

func (SnapshotFidelity) EnumDescriptor deprecated added in v0.5.0

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

Deprecated: Use SnapshotFidelity.Descriptor instead.

func (SnapshotFidelity) Number added in v0.5.0

func (SnapshotFidelity) String added in v0.5.0

func (x SnapshotFidelity) String() string

func (SnapshotFidelity) Type added in v0.5.0

type SnapshotReport added in v0.5.0

type SnapshotReport struct {
	Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
	// When the checkpoint that produced the snapshot committed on this node.
	LocalCommitTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=local_commit_time,json=localCommitTime,proto3" json:"local_commit_time,omitempty"`
	// When the snapshot's manifest, the upload's commit marker, was written to
	// object storage. Set only in ActorSnapshotState.latest_durable, and only
	// when this atelet wrote it.
	DurableCompleteTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=durable_complete_time,json=durableCompleteTime,proto3" json:"durable_complete_time,omitempty"`
	// contains filtered or unexported fields
}

SnapshotReport is a snapshot atelet holds or has uploaded, and when.

func (*SnapshotReport) Descriptor deprecated added in v0.5.0

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

Deprecated: Use SnapshotReport.ProtoReflect.Descriptor instead.

func (*SnapshotReport) GetDurableCompleteTime added in v0.5.0

func (x *SnapshotReport) GetDurableCompleteTime() *timestamppb.Timestamp

func (*SnapshotReport) GetLocalCommitTime added in v0.5.0

func (x *SnapshotReport) GetLocalCommitTime() *timestamppb.Timestamp

func (*SnapshotReport) GetSnapshot added in v0.5.0

func (x *SnapshotReport) GetSnapshot() *Snapshot

func (*SnapshotReport) ProtoMessage added in v0.5.0

func (*SnapshotReport) ProtoMessage()

func (*SnapshotReport) ProtoReflect added in v0.5.0

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

func (*SnapshotReport) Reset added in v0.5.0

func (x *SnapshotReport) Reset()

func (*SnapshotReport) String added in v0.5.0

func (x *SnapshotReport) String() string

type SystemInfoDataSource

type SystemInfoDataSource struct {

	// Exactly one of actor_metadata / trust_bundle must be set.
	//
	// +k8s:optional
	// +k8s:unionMember
	ActorMetadata *ActorMetadataDataSource `protobuf:"bytes,1,opt,name=actor_metadata,json=actorMetadata,proto3" json:"actor_metadata,omitempty"`
	// +k8s:optional
	// +k8s:unionMember
	TrustBundle *TrustBundleDataSource `protobuf:"bytes,2,opt,name=trust_bundle,json=trustBundle,proto3" json:"trust_bundle,omitempty"`
	// contains filtered or unexported fields
}

SystemInfoDataSource selects exactly one projection to place in the volume.

func (*SystemInfoDataSource) Descriptor deprecated

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

Deprecated: Use SystemInfoDataSource.ProtoReflect.Descriptor instead.

func (*SystemInfoDataSource) GetActorMetadata

func (x *SystemInfoDataSource) GetActorMetadata() *ActorMetadataDataSource

func (*SystemInfoDataSource) GetTrustBundle

func (x *SystemInfoDataSource) GetTrustBundle() *TrustBundleDataSource

func (*SystemInfoDataSource) ProtoMessage

func (*SystemInfoDataSource) ProtoMessage()

func (*SystemInfoDataSource) ProtoReflect

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

func (*SystemInfoDataSource) Reset

func (x *SystemInfoDataSource) Reset()

func (*SystemInfoDataSource) String

func (x *SystemInfoDataSource) String() string

type SystemInfoVolume

type SystemInfoVolume struct {

	// +k8s:optional
	// +k8s:maxItems=8 # matches the template's data_sources bound
	// +k8s:listType=atomic
	// +k8s:customValidation # at most one actor_metadata; paths unique across entries
	DataSources []*SystemInfoDataSource `protobuf:"bytes,1,rep,name=data_sources,json=dataSources,proto3" json:"data_sources,omitempty"`
	// contains filtered or unexported fields
}

SystemInfoVolume is a read-only volume whose files are generated by atelet on every Run/Restore, so they carry the values of the actor actually being started, whatever checkpointed state it boots from.

func (*SystemInfoVolume) Descriptor deprecated

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

Deprecated: Use SystemInfoVolume.ProtoReflect.Descriptor instead.

func (*SystemInfoVolume) GetDataSources

func (x *SystemInfoVolume) GetDataSources() []*SystemInfoDataSource

func (*SystemInfoVolume) ProtoMessage

func (*SystemInfoVolume) ProtoMessage()

func (*SystemInfoVolume) ProtoReflect

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

func (*SystemInfoVolume) Reset

func (x *SystemInfoVolume) Reset()

func (*SystemInfoVolume) String

func (x *SystemInfoVolume) String() string

type TerminateRequest

type TerminateRequest struct {

	// The UID of the worker pod whose ateom hosts the actor. If unset, atelet
	// only cleans up the actor's node resources; it does not reach an ateom.
	//
	// +k8s:optional
	// +k8s:format=k8s-uuid
	WorkerPodUid string `protobuf:"bytes,1,opt,name=worker_pod_uid,json=workerPodUid,proto3" json:"worker_pod_uid,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	Atespace string `protobuf:"bytes,2,opt,name=atespace,proto3" json:"atespace,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-short-name
	ActorName string `protobuf:"bytes,3,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	// +k8s:required
	// +k8s:format=k8s-uuid
	ActorUid string `protobuf:"bytes,4,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"`
	// The template identity is carried for metrics attribution.
	//
	// +k8s:optional
	// +k8s:format=k8s-short-name
	ActorTemplateAtespace string `` /* 126-byte string literal not displayed */
	// +k8s:optional
	// +k8s:format=k8s-short-name
	ActorTemplateName string `protobuf:"bytes,6,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	// A nil spec is tolerated: the delete flow terminates template-less
	// actors with a fallback spec.
	//
	// +k8s:optional
	Spec *WorkloadSpec `protobuf:"bytes,7,opt,name=spec,proto3" json:"spec,omitempty"`
	// contains filtered or unexported fields
}

func (*TerminateRequest) Descriptor deprecated

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

Deprecated: Use TerminateRequest.ProtoReflect.Descriptor instead.

func (*TerminateRequest) GetActorName

func (x *TerminateRequest) GetActorName() string

func (*TerminateRequest) GetActorTemplateAtespace

func (x *TerminateRequest) GetActorTemplateAtespace() string

func (*TerminateRequest) GetActorTemplateName

func (x *TerminateRequest) GetActorTemplateName() string

func (*TerminateRequest) GetActorUid

func (x *TerminateRequest) GetActorUid() string

func (*TerminateRequest) GetAtespace

func (x *TerminateRequest) GetAtespace() string

func (*TerminateRequest) GetSpec

func (x *TerminateRequest) GetSpec() *WorkloadSpec

func (*TerminateRequest) GetWorkerPodUid added in v0.5.0

func (x *TerminateRequest) GetWorkerPodUid() string

func (*TerminateRequest) ProtoMessage

func (*TerminateRequest) ProtoMessage()

func (*TerminateRequest) ProtoReflect

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

func (*TerminateRequest) Reset

func (x *TerminateRequest) Reset()

func (*TerminateRequest) String

func (x *TerminateRequest) String() string

type TerminateResponse

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

func (*TerminateResponse) Descriptor deprecated

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

Deprecated: Use TerminateResponse.ProtoReflect.Descriptor instead.

func (*TerminateResponse) ProtoMessage

func (*TerminateResponse) ProtoMessage()

func (*TerminateResponse) ProtoReflect

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

func (*TerminateResponse) Reset

func (x *TerminateResponse) Reset()

func (*TerminateResponse) String

func (x *TerminateResponse) String() string

type TrustBundleDataSource

type TrustBundleDataSource struct {

	// path must be a clean relative Unix path; the rule is shared with the
	// control plane through internal/resources.
	//
	// +k8s:required
	// +k8s:minLength=1
	// +k8s:maxLength=255
	// +k8s:customValidation # clean relative path
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	// +k8s:required
	// +k8s:minItems=1
	// +k8s:maxItems=8 # matches the template's names bound
	// +k8s:listType=set
	// +k8s:eachVal=+k8s:minLength=1
	// +k8s:eachVal=+k8s:maxLength=253 # matches the template's bundle-name bound
	Names []string `protobuf:"bytes,3,rep,name=names,proto3" json:"names,omitempty"`
	// contains filtered or unexported fields
}

TrustBundleDataSource corresponds to TrustBundleDataSource in ateapi.proto

func (*TrustBundleDataSource) Descriptor deprecated

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

Deprecated: Use TrustBundleDataSource.ProtoReflect.Descriptor instead.

func (*TrustBundleDataSource) GetNames added in v0.4.0

func (x *TrustBundleDataSource) GetNames() []string

func (*TrustBundleDataSource) GetPath

func (x *TrustBundleDataSource) GetPath() string

func (*TrustBundleDataSource) ProtoMessage

func (*TrustBundleDataSource) ProtoMessage()

func (*TrustBundleDataSource) ProtoReflect

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

func (*TrustBundleDataSource) Reset

func (x *TrustBundleDataSource) Reset()

func (*TrustBundleDataSource) String

func (x *TrustBundleDataSource) String() string

type UnimplementedAteomHerderServer

type UnimplementedAteomHerderServer struct{}

UnimplementedAteomHerderServer 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 (UnimplementedAteomHerderServer) Checkpoint

func (UnimplementedAteomHerderServer) PromoteSnapshot added in v0.5.0

func (UnimplementedAteomHerderServer) Restore

func (UnimplementedAteomHerderServer) Run

func (UnimplementedAteomHerderServer) Terminate

type UnimplementedAteomSupportServer added in v0.2.0

type UnimplementedAteomSupportServer struct{}

UnimplementedAteomSupportServer 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 (UnimplementedAteomSupportServer) GetActorEgressPolicy added in v0.5.0

func (UnimplementedAteomSupportServer) MintActorCertificate added in v0.2.0

func (UnimplementedAteomSupportServer) RegisterWorker added in v0.4.0

func (UnimplementedAteomSupportServer) RequestActorSuspend added in v0.2.0

type UnsafeAteomHerderServer

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

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

type UnsafeAteomSupportServer added in v0.2.0

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

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

type UploadConfig added in v0.5.0

type UploadConfig struct {

	// +k8s:required
	// +k8s:minimum=1
	// +k8s:maximum=2 # keep this in sync with the UploadMode enum
	Mode UploadMode `protobuf:"varint,1,opt,name=mode,proto3,enum=atelet.UploadMode" json:"mode,omitempty"`
	// contains filtered or unexported fields
}

UploadConfig is when a checkpoint's snapshot becomes durable.

func (*UploadConfig) Descriptor deprecated added in v0.5.0

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

Deprecated: Use UploadConfig.ProtoReflect.Descriptor instead.

func (*UploadConfig) GetMode added in v0.5.0

func (x *UploadConfig) GetMode() UploadMode

func (*UploadConfig) ProtoMessage added in v0.5.0

func (*UploadConfig) ProtoMessage()

func (*UploadConfig) ProtoReflect added in v0.5.0

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

func (*UploadConfig) Reset added in v0.5.0

func (x *UploadConfig) Reset()

func (*UploadConfig) String added in v0.5.0

func (x *UploadConfig) String() string

type UploadMode added in v0.5.0

type UploadMode int32

UploadMode is when a checkpoint's snapshot is uploaded.

const (
	UploadMode_UPLOAD_MODE_UNSPECIFIED UploadMode = 0
	// Keep the snapshot locally and upload it on atelet's schedule: at most
	// for atelet's upload-delay after the oldest snapshot of the actor
	// that is not yet durable was taken. Snapshots superseded before then
	// are never uploaded.
	//
	// Once the actor has stayed suspended on this node for
	// atelet's detach-delay, atelet detaches it (deletes all the local snapshots).
	//
	// TODO: Temporarily the deferred upload and detach are unimplemented. Only a local
	// copy is taken.
	UploadMode_UPLOAD_MODE_DEFERRED UploadMode = 1
	// Upload the snapshot synchronously before Checkpoint returns, while keeping the local copy.
	//
	// TODO: Temporarily this deletes the local snapshot after the upload.
	UploadMode_UPLOAD_MODE_IMMEDIATE UploadMode = 2 // Keep this in sync with the maximums on fields of this type.
)

func (UploadMode) Descriptor added in v0.5.0

func (UploadMode) Descriptor() protoreflect.EnumDescriptor

func (UploadMode) Enum added in v0.5.0

func (x UploadMode) Enum() *UploadMode

func (UploadMode) EnumDescriptor deprecated added in v0.5.0

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

Deprecated: Use UploadMode.Descriptor instead.

func (UploadMode) Number added in v0.5.0

func (x UploadMode) Number() protoreflect.EnumNumber

func (UploadMode) String added in v0.5.0

func (x UploadMode) String() string

func (UploadMode) Type added in v0.5.0

type VersionedSandboxCompat added in v0.5.0

type VersionedSandboxCompat struct {

	// Compatibility schema version (e.g. "v1") defining which runtime and
	// hardware attributes are recorded and how they are computed.
	//
	// +k8s:required
	// +k8s:maxLength=64
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"`
	// Key-value compatibility attributes defined by this schema version, covering
	// both runtime assets (e.g. "gvisor_asset_hash") and effective guest hardware
	// features after masking (e.g. "architecture", "cpu_features").
	// Matched against a snapshot under the same schema_version: every attribute
	// on the snapshot must be present on the worker with an equal value; keys
	// only the worker has are ignored. Bump schema_version when a key's meaning
	// changes or older snapshots must no longer match.
	// Order as sent does not matter: ate-api-server sorts attributes by key
	// before recording them.
	//
	// +k8s:required
	// +k8s:maxItems=32
	// +k8s:listType=map
	// +k8s:listMapKey=key
	Attributes []*AttributeEntry `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty"`
	// contains filtered or unexported fields
}

VersionedSandboxCompat holds the compatibility schema version and the key-value compatibility attributes for a SandboxRuntime.

func (*VersionedSandboxCompat) Descriptor deprecated added in v0.5.0

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

Deprecated: Use VersionedSandboxCompat.ProtoReflect.Descriptor instead.

func (*VersionedSandboxCompat) GetAttributes added in v0.5.0

func (x *VersionedSandboxCompat) GetAttributes() []*AttributeEntry

func (*VersionedSandboxCompat) GetSchemaVersion added in v0.5.0

func (x *VersionedSandboxCompat) GetSchemaVersion() string

func (*VersionedSandboxCompat) ProtoMessage added in v0.5.0

func (*VersionedSandboxCompat) ProtoMessage()

func (*VersionedSandboxCompat) ProtoReflect added in v0.5.0

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

func (*VersionedSandboxCompat) Reset added in v0.5.0

func (x *VersionedSandboxCompat) Reset()

func (*VersionedSandboxCompat) String added in v0.5.0

func (x *VersionedSandboxCompat) String() string

type Volume

type Volume struct {

	// +k8s:required
	// +k8s:format=k8s-short-name
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Exactly one of durable_dir / external / system_info / image must be set.
	//
	// +k8s:optional
	// +k8s:unionMember
	DurableDir *DurableDirVolume `protobuf:"bytes,2,opt,name=durable_dir,json=durableDir,proto3" json:"durable_dir,omitempty"`
	// +k8s:optional
	// +k8s:unionMember
	External *ExternalVolumeSource `protobuf:"bytes,3,opt,name=external,proto3" json:"external,omitempty"`
	// +k8s:optional
	// +k8s:unionMember
	SystemInfo *SystemInfoVolume `protobuf:"bytes,4,opt,name=system_info,json=systemInfo,proto3" json:"system_info,omitempty"`
	// +k8s:optional
	// +k8s:unionMember
	Image *ImageVolumeSource `protobuf:"bytes,5,opt,name=image,proto3" json:"image,omitempty"`
	// contains filtered or unexported fields
}

Volume names one volume and selects exactly one source for it.

func (*Volume) Descriptor deprecated

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

Deprecated: Use Volume.ProtoReflect.Descriptor instead.

func (*Volume) GetDurableDir

func (x *Volume) GetDurableDir() *DurableDirVolume

func (*Volume) GetExternal

func (x *Volume) GetExternal() *ExternalVolumeSource

func (*Volume) GetImage

func (x *Volume) GetImage() *ImageVolumeSource

func (*Volume) GetName

func (x *Volume) GetName() string

func (*Volume) GetSystemInfo

func (x *Volume) GetSystemInfo() *SystemInfoVolume

func (*Volume) ProtoMessage

func (*Volume) ProtoMessage()

func (*Volume) ProtoReflect

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

func (*Volume) Reset

func (x *Volume) Reset()

func (*Volume) String

func (x *Volume) String() string

type VolumeMount

type VolumeMount struct {

	// name must match the name of a Volume.
	//
	// +k8s:required
	// +k8s:format=k8s-short-name
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// mount_path within the container. Must be a clean absolute Unix path.
	//
	// +k8s:required
	// +k8s:maxLength=4096
	// +k8s:customValidation # clean-absolute-path shape; no regex/pattern tag exists
	MountPath string `protobuf:"bytes,2,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"`
	// contains filtered or unexported fields
}

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) GetName

func (x *VolumeMount) GetName() 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 WakeupProbe added in v0.2.0

type WakeupProbe struct {

	// +k8s:required
	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.
	//
	// +k8s:required
	// +k8s:minimum=1
	// +k8s:maximum=3600 # matches the template wakeup probe's bound
	TimeoutSeconds int32 `protobuf:"varint,2,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	// contains filtered or unexported fields
}

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

func (*WakeupProbe) Descriptor deprecated added in v0.2.0

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

Deprecated: Use WakeupProbe.ProtoReflect.Descriptor instead.

func (*WakeupProbe) GetHttpGet added in v0.2.0

func (x *WakeupProbe) GetHttpGet() *HttpGetAction

func (*WakeupProbe) GetTimeoutSeconds added in v0.2.0

func (x *WakeupProbe) GetTimeoutSeconds() int32

func (*WakeupProbe) ProtoMessage added in v0.2.0

func (*WakeupProbe) ProtoMessage()

func (*WakeupProbe) ProtoReflect added in v0.2.0

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

func (*WakeupProbe) Reset added in v0.2.0

func (x *WakeupProbe) Reset()

func (*WakeupProbe) String added in v0.2.0

func (x *WakeupProbe) String() string

type WorkerResources added in v0.3.0

type WorkerResources struct {

	// Resources are matched by name against actors' resources for placement.
	//
	// +k8s:optional
	Resources *Resources `protobuf:"bytes,1,opt,name=resources,proto3" json:"resources,omitempty"`
	// A count of Actors. Workers can use this to limit the number of Actors
	// that can be placed on them, constraining costs not captured in the
	// resources above.
	//
	// +k8s:optional
	// +k8s:minimum=1
	Actors int32 `protobuf:"varint,2,opt,name=actors,proto3" json:"actors,omitempty"`
	// contains filtered or unexported fields
}

WorkerResources is what a worker can supply. It mirrors the control plane's WorkerResources and is validated by the same rules.

func (*WorkerResources) Descriptor deprecated added in v0.3.0

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

Deprecated: Use WorkerResources.ProtoReflect.Descriptor instead.

func (*WorkerResources) GetActors added in v0.3.0

func (x *WorkerResources) GetActors() int32

func (*WorkerResources) GetResources added in v0.3.0

func (x *WorkerResources) GetResources() *Resources

func (*WorkerResources) ProtoMessage added in v0.3.0

func (*WorkerResources) ProtoMessage()

func (*WorkerResources) ProtoReflect added in v0.3.0

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

func (*WorkerResources) Reset added in v0.3.0

func (x *WorkerResources) Reset()

func (*WorkerResources) String added in v0.3.0

func (x *WorkerResources) String() string

type WorkloadSpec

type WorkloadSpec struct {

	// +k8s:optional
	// +k8s:maxItems=10 # matches the template's containers bound
	// +k8s:listType=map
	// +k8s:listMapKey=name
	Containers []*Container `protobuf:"bytes,1,rep,name=containers,proto3" json:"containers,omitempty"`
	// +k8s:optional
	// +k8s:maxItems=32 # matches the template's volumes bound
	// +k8s:listType=map
	// +k8s:listMapKey=name
	Volumes []*Volume `protobuf:"bytes,2,rep,name=volumes,proto3" json:"volumes,omitempty"`
	// contains filtered or unexported fields
}

WorkloadSpec parallels Pod, but with far fewer configurable fields.

+k8s:customValidation # every volume mount names a declared volume

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) GetVolumes

func (x *WorkloadSpec) GetVolumes() []*Volume

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