controlapi

package
v0.1.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoAteletOnNode = errors.New("no atelet pod found on node")

ErrNoAteletOnNode reports that the informer cache holds no atelet pod for the requested node — e.g. the atelet is restarting, or the node is gone. Distinct from ErrWorkerPodNotFound, which callers treat as crash-worthy; this one is retryable.

View Source
var ErrWorkerPodNotFound = errors.New("worker pod not found")

Functions

func AteletInformer

AteletInformer creates a SharedInformerFactory and SharedIndexInformer for Atelet pods.

func RegisterActorCrashes

func RegisterActorCrashes(meter metric.Meter) error

RegisterActorCrashes initializes the ate.actor.crashes counter instrument.

func RegisterWorkerCount

func RegisterWorkerCount(meter metric.Meter, workers func() ([]*ateapipb.Worker, error), listPools func(labels.Selector) ([]*atev1alpha1.WorkerPool, error)) error

RegisterWorkerCount wires the ate.workerpool.workers observable against workers (workercache.Cache.Workers in prod) and listPools (a WorkerPool lister's List, used to seed zero-valued series). Worker counts are spatially summable (over states = pool size, over pools = fleet), which is the UpDownCounter contract; a gauge would be wrong for a value meant to be summed.

func ValidateCustom_Capabilities_Add

func ValidateCustom_Capabilities_Add(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ []string) field.ErrorList

func ValidateCustom_Capabilities_Drop

func ValidateCustom_Capabilities_Drop(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ []string) field.ErrorList

func ValidateCustom_Container_VolumeMounts

func ValidateCustom_Container_VolumeMounts(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ []*ateapipb.VolumeMount) field.ErrorList

ValidateCustom_Container_VolumeMounts rejects two mounts at the same path within one container. The list is keyed by volume name (one mount per volume), so path uniqueness cannot come from the list-map key

func ValidateCustom_CreateActorTemplateRequest_ActorTemplate

func ValidateCustom_CreateActorTemplateRequest_ActorTemplate(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *ateapipb.ActorTemplate) field.ErrorList

ValidateCustom_CreateActorTemplateRequest_ActorTemplate rejects container volume mounts that reference volumes the template does not declare.

func ValidateCustom_CredentialHeaderInjection_CredentialUri

func ValidateCustom_CredentialHeaderInjection_CredentialUri(_ context.Context, _ operation.Operation, p *field.Path, uri, _ *string) field.ErrorList

func ValidateCustom_CredentialHeaderInjection_Header

func ValidateCustom_CredentialHeaderInjection_Header(_ context.Context, _ operation.Operation, p *field.Path, header, _ *string) field.ErrorList

func ValidateCustom_CredentialHeaderInjection_Prefix

func ValidateCustom_CredentialHeaderInjection_Prefix(_ context.Context, _ operation.Operation, p *field.Path, prefix, _ *string) field.ErrorList

func ValidateCustom_EgressPolicy_Metadata

func ValidateCustom_EgressPolicy_Metadata(_ context.Context, _ operation.Operation, root *field.Path, meta, _ *ateapipb.ResourceMetadata) field.ErrorList

func ValidateCustom_EgressRuleEffects

func ValidateCustom_EgressRuleEffects(_ context.Context, _ operation.Operation, p *field.Path, effects, _ *ateapipb.EgressRuleEffects) field.ErrorList

func ValidateCustom_EgressRuleEffects_InjectStaticHeaders

func ValidateCustom_EgressRuleEffects_InjectStaticHeaders(_ context.Context, _ operation.Operation, p *field.Path, injections, _ []*ateapipb.CredentialHeaderInjection) field.ErrorList

func ValidateCustom_EnvVar_Name

func ValidateCustom_EnvVar_Name(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *string) field.ErrorList

func ValidateCustom_ExternalVolumeTemplate_Capacity

func ValidateCustom_ExternalVolumeTemplate_Capacity(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *string) field.ErrorList

func ValidateCustom_ExternalVolume_StorageVolumeId

func ValidateCustom_ExternalVolume_StorageVolumeId(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *string) field.ErrorList

ValidateCustom_ExternalVolume_StorageVolumeId checks that an external volume's storage ID does not contain control characters (U+0000-U+0008, U+000B, U+000C, U+000E-U+001F, U+007F-U+009F).

func ValidateCustom_ExternalVolume_VolumeType

func ValidateCustom_ExternalVolume_VolumeType(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *string) field.ErrorList

ValidateCustom_ExternalVolume_VolumeType checks that a volume type string is well-formed. It allows an optional "substrate.io/" prefix, followed by a valid DNS-1123 subdomain.

func ValidateCustom_HTTPGetAction_Path

func ValidateCustom_HTTPGetAction_Path(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *string) field.ErrorList

func ValidateCustom_HostnameRule_Patterns

func ValidateCustom_HostnameRule_Patterns(_ context.Context, _ operation.Operation, p *field.Path, patterns, _ []string) field.ErrorList

func ValidateCustom_IPBlockRule_Cidrs

func ValidateCustom_IPBlockRule_Cidrs(_ context.Context, _ operation.Operation, p *field.Path, cidrs, _ []string) field.ErrorList

func ValidateCustom_ImageVolumeSource_Reference

func ValidateCustom_ImageVolumeSource_Reference(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *string) field.ErrorList

ValidateCustom_ImageVolumeSource_Reference requires image references to be pinned by digest, because changing the image content under a fixed reference invalidates snapshots.

func ValidateCustom_MintCertRequest_CertificateSigningRequest

func ValidateCustom_MintCertRequest_CertificateSigningRequest(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ []byte) field.ErrorList

func ValidateCustom_Resources_Limits

func ValidateCustom_Resources_Limits(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ []*ateapipb.Limits) field.ErrorList

ValidateCustom_Resources_Limits validates the resource limits: only cpu and memory limits are supported, each quantity must be greater than zero, and the cpu limit must be less than 1000 cores. Presence and uniqueness of names are enforced by tags.

func ValidateCustom_SnapshotsConfig

func ValidateCustom_SnapshotsConfig(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *ateapipb.SnapshotsConfig) field.ErrorList

ValidateCustom_SnapshotsConfig requires on_commit to be a subset of on_pause. UNSPECIFIED means FULL, so an unset on_commit over a DATA on_pause is rejected too.

func ValidateCustom_UpdateActorRequest_Actor

func ValidateCustom_UpdateActorRequest_Actor(ctx context.Context, op operation.Operation, fldPath *field.Path, actor, _ *ateapipb.Actor) field.ErrorList

This exists only because nested subfield tags are not supported yet.

func ValidateCustom_UpdateTagRequest_Tag

func ValidateCustom_UpdateTagRequest_Tag(ctx context.Context, op operation.Operation, fldPath *field.Path, tag, _ *ateapipb.Tag) field.ErrorList

This exists only because nested subfield tags are not supported yet.

func ValidateCustom_UpdateWorkerRequest_Worker

func ValidateCustom_UpdateWorkerRequest_Worker(ctx context.Context, op operation.Operation, fldPath *field.Path, worker, _ *ateapipb.Worker) field.ErrorList

This exists only because nested subfield tags are not supported yet.

func ValidateCustom_VolumeMount_MountPath

func ValidateCustom_VolumeMount_MountPath(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *string) field.ErrorList

ValidateCustom_VolumeMount_MountPath requires a clean absolute Unix path that starts with '/', is not '/', and contains no ':', '.' or '..' segments, '//', trailing '/', or control characters.

func ValidateCustom_WorkerAssignment_WorkerPodIp

func ValidateCustom_WorkerAssignment_WorkerPodIp(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *string) field.ErrorList

This is needed because DV doesn't have a standard format for IP addresses yet.

func ValidateCustom_Worker_Ip

func ValidateCustom_Worker_Ip(_ context.Context, _ operation.Operation, fldPath *field.Path, value, _ *string) field.ErrorList

This is needed because DV doesn't have a standard format for IP addresses yet.

func Validate_Actor

func Validate_Actor(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.Actor) (errs field.ErrorList)

Validate_Actor validates an instance of Actor according to declarative validation rules in the API schema.

func Validate_ActorMetadataDataSource

func Validate_ActorMetadataDataSource(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ActorMetadataDataSource) (errs field.ErrorList)

Validate_ActorMetadataDataSource validates an instance of ActorMetadataDataSource according to declarative validation rules in the API schema.

func Validate_ActorMetadataItem

func Validate_ActorMetadataItem(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ActorMetadataItem) (errs field.ErrorList)

Validate_ActorMetadataItem validates an instance of ActorMetadataItem according to declarative validation rules in the API schema.

func Validate_ActorStatus

func Validate_ActorStatus(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ActorStatus) (errs field.ErrorList)

Validate_ActorStatus validates an instance of ActorStatus according to declarative validation rules in the API schema.

func Validate_ActorTemplate

func Validate_ActorTemplate(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ActorTemplate) (errs field.ErrorList)

Validate_ActorTemplate validates an instance of ActorTemplate according to declarative validation rules in the API schema.

func Validate_ActorTemplateStatus

func Validate_ActorTemplateStatus(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ActorTemplateStatus) (errs field.ErrorList)

Validate_ActorTemplateStatus validates an instance of ActorTemplateStatus according to declarative validation rules in the API schema.

func Validate_Atespace

func Validate_Atespace(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.Atespace) (errs field.ErrorList)

Validate_Atespace validates an instance of Atespace according to declarative validation rules in the API schema.

func Validate_Capabilities

func Validate_Capabilities(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.Capabilities) (errs field.ErrorList)

Validate_Capabilities validates an instance of Capabilities according to declarative validation rules in the API schema.

func Validate_Container

func Validate_Container(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.Container) (errs field.ErrorList)

Validate_Container validates an instance of Container according to declarative validation rules in the API schema.

func Validate_ContainerReadyz

func Validate_ContainerReadyz(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ContainerReadyz) (errs field.ErrorList)

Validate_ContainerReadyz validates an instance of ContainerReadyz according to declarative validation rules in the API schema.

func Validate_CreateActorEgressPolicyRequest

func Validate_CreateActorEgressPolicyRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.CreateActorEgressPolicyRequest) (errs field.ErrorList)

Validate_CreateActorEgressPolicyRequest validates an instance of CreateActorEgressPolicyRequest according to declarative validation rules in the API schema.

func Validate_CreateActorRequest

func Validate_CreateActorRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.CreateActorRequest) (errs field.ErrorList)

Validate_CreateActorRequest validates an instance of CreateActorRequest according to declarative validation rules in the API schema.

func Validate_CreateActorTemplateRequest

func Validate_CreateActorTemplateRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.CreateActorTemplateRequest) (errs field.ErrorList)

Validate_CreateActorTemplateRequest validates an instance of CreateActorTemplateRequest according to declarative validation rules in the API schema.

func Validate_CreateAtespaceRequest

func Validate_CreateAtespaceRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.CreateAtespaceRequest) (errs field.ErrorList)

Validate_CreateAtespaceRequest validates an instance of CreateAtespaceRequest according to declarative validation rules in the API schema.

func Validate_CreateTagRequest

func Validate_CreateTagRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.CreateTagRequest) (errs field.ErrorList)

Validate_CreateTagRequest validates an instance of CreateTagRequest according to declarative validation rules in the API schema.

func Validate_CreateWorkerRequest

func Validate_CreateWorkerRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.CreateWorkerRequest) (errs field.ErrorList)

Validate_CreateWorkerRequest validates an instance of CreateWorkerRequest according to declarative validation rules in the API schema.

func Validate_CredentialHeaderInjection

func Validate_CredentialHeaderInjection(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.CredentialHeaderInjection) (errs field.ErrorList)

Validate_CredentialHeaderInjection validates an instance of CredentialHeaderInjection according to declarative validation rules in the API schema.

func Validate_DeleteActorEgressPolicyRequest

func Validate_DeleteActorEgressPolicyRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.DeleteActorEgressPolicyRequest) (errs field.ErrorList)

Validate_DeleteActorEgressPolicyRequest validates an instance of DeleteActorEgressPolicyRequest according to declarative validation rules in the API schema.

func Validate_DeleteActorRequest

func Validate_DeleteActorRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.DeleteActorRequest) (errs field.ErrorList)

Validate_DeleteActorRequest validates an instance of DeleteActorRequest according to declarative validation rules in the API schema.

func Validate_DeleteActorTemplateRequest

func Validate_DeleteActorTemplateRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.DeleteActorTemplateRequest) (errs field.ErrorList)

Validate_DeleteActorTemplateRequest validates an instance of DeleteActorTemplateRequest according to declarative validation rules in the API schema.

func Validate_DeleteAtespaceRequest

func Validate_DeleteAtespaceRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.DeleteAtespaceRequest) (errs field.ErrorList)

Validate_DeleteAtespaceRequest validates an instance of DeleteAtespaceRequest according to declarative validation rules in the API schema.

func Validate_DeleteOptions

func Validate_DeleteOptions(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.DeleteOptions) (errs field.ErrorList)

Validate_DeleteOptions validates an instance of DeleteOptions according to declarative validation rules in the API schema.

func Validate_DeleteTagRequest

func Validate_DeleteTagRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.DeleteTagRequest) (errs field.ErrorList)

Validate_DeleteTagRequest validates an instance of DeleteTagRequest according to declarative validation rules in the API schema.

func Validate_DeleteWorkerRequest

func Validate_DeleteWorkerRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.DeleteWorkerRequest) (errs field.ErrorList)

Validate_DeleteWorkerRequest validates an instance of DeleteWorkerRequest according to declarative validation rules in the API schema.

func Validate_DrainWorkerRequest

func Validate_DrainWorkerRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.DrainWorkerRequest) (errs field.ErrorList)

Validate_DrainWorkerRequest validates an instance of DrainWorkerRequest according to declarative validation rules in the API schema.

func Validate_EgressPolicy

func Validate_EgressPolicy(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.EgressPolicy) (errs field.ErrorList)

Validate_EgressPolicy validates an instance of EgressPolicy according to declarative validation rules in the API schema.

func Validate_EgressRule

func Validate_EgressRule(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.EgressRule) (errs field.ErrorList)

Validate_EgressRule validates an instance of EgressRule according to declarative validation rules in the API schema.

func Validate_EgressRuleEffects

func Validate_EgressRuleEffects(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.EgressRuleEffects) (errs field.ErrorList)

Validate_EgressRuleEffects validates an instance of EgressRuleEffects according to declarative validation rules in the API schema.

func Validate_EnvVar

func Validate_EnvVar(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.EnvVar) (errs field.ErrorList)

Validate_EnvVar validates an instance of EnvVar according to declarative validation rules in the API schema.

func Validate_ExternalSnapshot

func Validate_ExternalSnapshot(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ExternalSnapshot) (errs field.ErrorList)

Validate_ExternalSnapshot validates an instance of ExternalSnapshot according to declarative validation rules in the API schema.

func Validate_ExternalVolume

func Validate_ExternalVolume(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ExternalVolume) (errs field.ErrorList)

Validate_ExternalVolume validates an instance of ExternalVolume according to declarative validation rules in the API schema.

func Validate_ExternalVolumeTemplate

func Validate_ExternalVolumeTemplate(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ExternalVolumeTemplate) (errs field.ErrorList)

Validate_ExternalVolumeTemplate validates an instance of ExternalVolumeTemplate according to declarative validation rules in the API schema.

func Validate_GetActorEgressPolicyRequest

func Validate_GetActorEgressPolicyRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.GetActorEgressPolicyRequest) (errs field.ErrorList)

Validate_GetActorEgressPolicyRequest validates an instance of GetActorEgressPolicyRequest according to declarative validation rules in the API schema.

func Validate_GetActorRequest

func Validate_GetActorRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.GetActorRequest) (errs field.ErrorList)

Validate_GetActorRequest validates an instance of GetActorRequest according to declarative validation rules in the API schema.

func Validate_GetActorTemplateRequest

func Validate_GetActorTemplateRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.GetActorTemplateRequest) (errs field.ErrorList)

Validate_GetActorTemplateRequest validates an instance of GetActorTemplateRequest according to declarative validation rules in the API schema.

func Validate_GetAtespaceRequest

func Validate_GetAtespaceRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.GetAtespaceRequest) (errs field.ErrorList)

Validate_GetAtespaceRequest validates an instance of GetAtespaceRequest according to declarative validation rules in the API schema.

func Validate_GetTagRequest

func Validate_GetTagRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.GetTagRequest) (errs field.ErrorList)

Validate_GetTagRequest validates an instance of GetTagRequest according to declarative validation rules in the API schema.

func Validate_GetWorkerRequest

func Validate_GetWorkerRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.GetWorkerRequest) (errs field.ErrorList)

Validate_GetWorkerRequest validates an instance of GetWorkerRequest according to declarative validation rules in the API schema.

func Validate_GoldenSnapshotStatus

func Validate_GoldenSnapshotStatus(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.GoldenSnapshotStatus) (errs field.ErrorList)

Validate_GoldenSnapshotStatus validates an instance of GoldenSnapshotStatus according to declarative validation rules in the API schema.

func Validate_HTTPGetAction

func Validate_HTTPGetAction(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.HTTPGetAction) (errs field.ErrorList)

Validate_HTTPGetAction validates an instance of HTTPGetAction according to declarative validation rules in the API schema.

func Validate_HostnameRule

func Validate_HostnameRule(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.HostnameRule) (errs field.ErrorList)

Validate_HostnameRule validates an instance of HostnameRule according to declarative validation rules in the API schema.

func Validate_IPBlockRule

func Validate_IPBlockRule(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.IPBlockRule) (errs field.ErrorList)

Validate_IPBlockRule validates an instance of IPBlockRule according to declarative validation rules in the API schema.

func Validate_ImageVolumeSource

func Validate_ImageVolumeSource(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ImageVolumeSource) (errs field.ErrorList)

Validate_ImageVolumeSource validates an instance of ImageVolumeSource according to declarative validation rules in the API schema.

func Validate_Limits

func Validate_Limits(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.Limits) (errs field.ErrorList)

Validate_Limits validates an instance of Limits according to declarative validation rules in the API schema.

func Validate_ListActorTemplatesRequest

func Validate_ListActorTemplatesRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ListActorTemplatesRequest) (errs field.ErrorList)

Validate_ListActorTemplatesRequest validates an instance of ListActorTemplatesRequest according to declarative validation rules in the API schema.

func Validate_ListActorsRequest

func Validate_ListActorsRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ListActorsRequest) (errs field.ErrorList)

Validate_ListActorsRequest validates an instance of ListActorsRequest according to declarative validation rules in the API schema.

func Validate_ListAtespacesRequest

func Validate_ListAtespacesRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ListAtespacesRequest) (errs field.ErrorList)

Validate_ListAtespacesRequest validates an instance of ListAtespacesRequest according to declarative validation rules in the API schema.

func Validate_ListTagsRequest

func Validate_ListTagsRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ListTagsRequest) (errs field.ErrorList)

Validate_ListTagsRequest validates an instance of ListTagsRequest according to declarative validation rules in the API schema.

func Validate_ListWorkerActorAssignmentsRequest

func Validate_ListWorkerActorAssignmentsRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ListWorkerActorAssignmentsRequest) (errs field.ErrorList)

Validate_ListWorkerActorAssignmentsRequest validates an instance of ListWorkerActorAssignmentsRequest according to declarative validation rules in the API schema.

func Validate_ListWorkersRequest

func Validate_ListWorkersRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ListWorkersRequest) (errs field.ErrorList)

Validate_ListWorkersRequest validates an instance of ListWorkersRequest according to declarative validation rules in the API schema.

func Validate_LocalSnapshotInfo

func Validate_LocalSnapshotInfo(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.LocalSnapshotInfo) (errs field.ErrorList)

Validate_LocalSnapshotInfo validates an instance of LocalSnapshotInfo according to declarative validation rules in the API schema.

func Validate_MintCertRequest

func Validate_MintCertRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.MintCertRequest) (errs field.ErrorList)

Validate_MintCertRequest validates an instance of MintCertRequest according to declarative validation rules in the API schema.

func Validate_MintJWTRequest

func Validate_MintJWTRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.MintJWTRequest) (errs field.ErrorList)

Validate_MintJWTRequest validates an instance of MintJWTRequest according to declarative validation rules in the API schema.

func Validate_ObjectRef

func Validate_ObjectRef(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ObjectRef) (errs field.ErrorList)

Validate_ObjectRef validates an instance of ObjectRef according to declarative validation rules in the API schema.

func Validate_OnResumeConfig

func Validate_OnResumeConfig(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.OnResumeConfig) (errs field.ErrorList)

Validate_OnResumeConfig validates an instance of OnResumeConfig according to declarative validation rules in the API schema.

func Validate_PauseActorRequest

func Validate_PauseActorRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.PauseActorRequest) (errs field.ErrorList)

Validate_PauseActorRequest validates an instance of PauseActorRequest according to declarative validation rules in the API schema.

func Validate_ResourceMetadata

func Validate_ResourceMetadata(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ResourceMetadata) (errs field.ErrorList)

Validate_ResourceMetadata validates an instance of ResourceMetadata according to declarative validation rules in the API schema.

func Validate_Resources

func Validate_Resources(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.Resources) (errs field.ErrorList)

Validate_Resources validates an instance of Resources according to declarative validation rules in the API schema.

func Validate_ResumeActorRequest

func Validate_ResumeActorRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.ResumeActorRequest) (errs field.ErrorList)

Validate_ResumeActorRequest validates an instance of ResumeActorRequest according to declarative validation rules in the API schema.

func Validate_SandboxConfig

func Validate_SandboxConfig(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.SandboxConfig) (errs field.ErrorList)

Validate_SandboxConfig validates an instance of SandboxConfig according to declarative validation rules in the API schema.

func Validate_SecurityContext

func Validate_SecurityContext(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.SecurityContext) (errs field.ErrorList)

Validate_SecurityContext validates an instance of SecurityContext according to declarative validation rules in the API schema.

func Validate_Selector

func Validate_Selector(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.Selector) (errs field.ErrorList)

Validate_Selector validates an instance of Selector according to declarative validation rules in the API schema.

func Validate_SetWorkerCapacityRequest

func Validate_SetWorkerCapacityRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.SetWorkerCapacityRequest) (errs field.ErrorList)

Validate_SetWorkerCapacityRequest validates an instance of SetWorkerCapacityRequest according to declarative validation rules in the API schema.

func Validate_SnapshotsConfig

func Validate_SnapshotsConfig(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.SnapshotsConfig) (errs field.ErrorList)

Validate_SnapshotsConfig validates an instance of SnapshotsConfig according to declarative validation rules in the API schema.

func Validate_SuspendActorRequest

func Validate_SuspendActorRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.SuspendActorRequest) (errs field.ErrorList)

Validate_SuspendActorRequest validates an instance of SuspendActorRequest according to declarative validation rules in the API schema.

func Validate_SystemInfoDataSource

func Validate_SystemInfoDataSource(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.SystemInfoDataSource) (errs field.ErrorList)

Validate_SystemInfoDataSource validates an instance of SystemInfoDataSource according to declarative validation rules in the API schema.

func Validate_SystemInfoVolumeSource

func Validate_SystemInfoVolumeSource(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.SystemInfoVolumeSource) (errs field.ErrorList)

Validate_SystemInfoVolumeSource validates an instance of SystemInfoVolumeSource according to declarative validation rules in the API schema.

func Validate_Tag

func Validate_Tag(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.Tag) (errs field.ErrorList)

Validate_Tag validates an instance of Tag according to declarative validation rules in the API schema.

func Validate_TagStatus

func Validate_TagStatus(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.TagStatus) (errs field.ErrorList)

Validate_TagStatus validates an instance of TagStatus according to declarative validation rules in the API schema.

func Validate_TrustBundleDataSource

func Validate_TrustBundleDataSource(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.TrustBundleDataSource) (errs field.ErrorList)

Validate_TrustBundleDataSource validates an instance of TrustBundleDataSource according to declarative validation rules in the API schema.

func Validate_UpdateActorEgressPolicyRequest

func Validate_UpdateActorEgressPolicyRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.UpdateActorEgressPolicyRequest) (errs field.ErrorList)

Validate_UpdateActorEgressPolicyRequest validates an instance of UpdateActorEgressPolicyRequest according to declarative validation rules in the API schema.

func Validate_UpdateActorRequest

func Validate_UpdateActorRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.UpdateActorRequest) (errs field.ErrorList)

Validate_UpdateActorRequest validates an instance of UpdateActorRequest according to declarative validation rules in the API schema.

func Validate_UpdateTagRequest

func Validate_UpdateTagRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.UpdateTagRequest) (errs field.ErrorList)

Validate_UpdateTagRequest validates an instance of UpdateTagRequest according to declarative validation rules in the API schema.

func Validate_UpdateWorkerRequest

func Validate_UpdateWorkerRequest(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.UpdateWorkerRequest) (errs field.ErrorList)

Validate_UpdateWorkerRequest validates an instance of UpdateWorkerRequest according to declarative validation rules in the API schema.

func Validate_Volume

func Validate_Volume(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.Volume) (errs field.ErrorList)

Validate_Volume validates an instance of Volume according to declarative validation rules in the API schema.

func Validate_VolumeMount

func Validate_VolumeMount(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.VolumeMount) (errs field.ErrorList)

Validate_VolumeMount validates an instance of VolumeMount according to declarative validation rules in the API schema.

func Validate_Worker

func Validate_Worker(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.Worker) (errs field.ErrorList)

Validate_Worker validates an instance of Worker according to declarative validation rules in the API schema.

func Validate_WorkerAssignment

func Validate_WorkerAssignment(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.WorkerAssignment) (errs field.ErrorList)

Validate_WorkerAssignment validates an instance of WorkerAssignment according to declarative validation rules in the API schema.

func Validate_WorkerResources

func Validate_WorkerResources(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.WorkerResources) (errs field.ErrorList)

Validate_WorkerResources validates an instance of WorkerResources according to declarative validation rules in the API schema.

func Validate_WorkerStatus

func Validate_WorkerStatus(
	ctx context.Context, op operation.Operation, fldPath *field.Path,
	obj, oldObj *ateapipb.WorkerStatus) (errs field.ErrorList)

Validate_WorkerStatus validates an instance of WorkerStatus according to declarative validation rules in the API schema.

func WorkerPodInformer

WorkerPodInformer creates a SharedInformerFactory and SharedIndexInformer for Worker pods.

Types

type ActorTemplateReconciler

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

ActorTemplateReconciler drives stored ActorTemplates through the golden actor state machine.

func NewActorTemplateReconciler

func NewActorTemplateReconciler(persistence templateReconcilerStore, control goldenActorControl) *ActorTemplateReconciler

func (*ActorTemplateReconciler) Start

func (r *ActorTemplateReconciler) Start(ctx context.Context)

Start launches the queue workers and the resync producer; there is no event source for stored templates, so the periodic list is the event source.

type ActorWorkflow

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

ActorWorkflow handles the workflows for actor's resume / suspend operations.

func NewActorWorkflow

func NewActorWorkflow(
	store actorWorkflowStore,
	workerCache *workercache.Cache,
	dialer *AteletDialer,
	sandboxConfigLister listersv1alpha1.SandboxConfigLister,
	storageClassLister storagev1listers.StorageClassLister,
	instruments *Instruments,
	egressGatewayAddress string,
	pluginRegistry VolumePluginRegistry,
	objectStore objectstore.Store,
) *ActorWorkflow

NewActorWorkflow creates a new ActorWorkflow. instruments may be nil.

objectStore may be nil, which leaves external snapshots in place instead of copying and releasing them. Only tests that never reach those steps pass nil; ate-api always builds one.

func (*ActorWorkflow) DeleteActor

func (w *ActorWorkflow) DeleteActor(ctx context.Context, actorRef resources.ActorRef, anyState bool) (*ateapipb.Actor, error)

DeleteActor executes the workflow to delete an actor. Idempotent.

func (*ActorWorkflow) PauseActor

func (w *ActorWorkflow) PauseActor(ctx context.Context, actorRef resources.ActorRef) (_ *ateapipb.Actor, err error)

PauseActor executes the workflow to pause a running actor. Idempotent: a re-entered workflow fast-forwards past the steps a previous attempt completed, deriving progress from the persisted actor alone.

func (*ActorWorkflow) ResumeActor

func (w *ActorWorkflow) ResumeActor(ctx context.Context, actorRef resources.ActorRef, boot bool) (_ *ateapipb.Actor, resumed bool, err error)

ResumeActor executes the workflow to resume a suspended actor. Idempotent: a re-entered workflow fast-forwards past the steps a previous attempt completed, deriving progress from the persisted actor alone.

func (*ActorWorkflow) SuspendActor

func (w *ActorWorkflow) SuspendActor(ctx context.Context, actorRef resources.ActorRef) (_ *ateapipb.Actor, err error)

SuspendActor executes the workflow to suspend a running or paused actor: a running actor is checkpointed on its worker, a paused actor's node-local snapshot is uploaded. Idempotent: a re-entered workflow fast-forwards past the steps a previous attempt completed, deriving progress from the persisted actor alone.

func (*ActorWorkflow) TagActorSnapshot

func (w *ActorWorkflow) TagActorSnapshot(ctx context.Context, tag *ateapipb.Tag) (*ateapipb.Tag, error)

TagActorSnapshot tags the external snapshot held by the suspended actor the tag's source_actor names. The tag is given its own copy of that snapshot, so suspending the actor again or deleting the actor does not garbage collect the tag's snapshot.

The tag is built in 3 phases:

  1. Record intent: in status.in_progress_snapshot_uri
  2. Write snapshot to the remote storage indicated in status.in_progress_snapshot_uri
  3. Finalize: clear status.in_progress_snapshot_uri and write the final snapshot object to the tag.

The tag captures whichever snapshot the actor holds when the workflow runs. An actor keeps no snapshot history, so a suspend that lands first moves what gets tagged; that race is inherent to naming an actor rather than a snapshot.

Not idempotent: the name is taken as soon as phase 1 lands, so a create that dies after it leaves a pending tag and every later create under that name is AlreadyExists. To retry, delete the tag, which collects whatever the failed attempt stranded, and create it again.

type AteletDialer

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

AteletDialer handles gRPC connections to Atelet pods.

func NewAteletDialer

func NewAteletDialer(workerIndexer cache.Indexer, ateletIndexer cache.Indexer, clientBundlePath, serverCAPath string, opts ...DialerOption) *AteletDialer

NewAteletDialer creates a new AteletDialer. clientBundlePath and serverCAPath are used to build the per-atelet mTLS credentials used for every atelet connection.

func (*AteletDialer) DialForAteletOnNode

func (d *AteletDialer) DialForAteletOnNode(nodeName string) (*grpc.ClientConn, error)

DialForAteletOnNode resolves the single atelet pod on nodeName and dials it with per-atelet pod-UID-pinned credentials, caching the connection by the atelet's pod UID. Used directly when an actor has no worker assignment but its state is pinned to a node — e.g. a PAUSED actor whose local snapshot lives there. Returns ErrNoAteletOnNode if the informer cache holds no atelet pod for the node.

func (*AteletDialer) DialForWorker

func (d *AteletDialer) DialForWorker(workerPodNamespace, workerPodName string) (*grpc.ClientConn, error)

DialForWorker returns a gRPC connection to the Atelet running on the same node as the specified worker pod. Returns ErrWorkerPodNotFound if the worker pod is not found in the informer cache.

type DialerOption

type DialerOption func(*AteletDialer)

DialerOption customizes an AteletDialer built by NewAteletDialer.

func WithDialCredentials

func WithDialCredentials(build func(expectedPodUID string) (credentials.TransportCredentials, error)) DialerOption

WithDialCredentials overrides how transport credentials are built for a given atelet pod UID. Tests use it to reach a fake atelet over insecure transport while still exercising the real lookup, dial and connection-cache path.

type Instruments

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

Instruments holds ateapi's actor-lifecycle and scheduler duration histograms. A nil *Instruments is a valid no-op, so call sites need no guard. Worker-count is registered separately (RegisterWorkerCount): a callback-driven observable, not a synchronous instrument.

func NewInstruments

func NewInstruments(meter metric.Meter) (*Instruments, error)

NewInstruments builds the two histograms against meter. Assignment buckets are finer than lifecycle's (a cache pick plus a few store writes, not a multi-second restore) but reach 5s so store latency spikes stay measurable.

type RPCService

type RPCService struct {
	ateapipb.UnimplementedControlServer
	// contains filtered or unexported fields
}

RPCService implements ateapipb.ControlServer and provides the implementation of the RPC service.

Methods on this service should be as light as possible, delegating to the ServiceImpl for business logic and invariants.

func NewRPCService

func NewRPCService(
	persistence store.Interface,
	workerCache *workercache.Cache,
	sandboxConfigLister listersv1alpha1.SandboxConfigLister,
	csiDriverConfigLister listersv1alpha1.CSIDriverConfigLister,
	storageClassLister storagev1listers.StorageClassLister,
	dialer *AteletDialer,
	instruments *Instruments,
	egressGatewayAddress string,
	volumePlugins map[string]volume.VolumePluginControlPlane,
	objectStore objectstore.Store,
) *RPCService

NewRPCService creates an instance of the ControlServer service. This is what implements the outward-facing RPC interface.

instruments may be nil; the record helpers no-op.

objectStore may be nil, which leaves external snapshots in place instead of copying and releasing them. Only tests that never reach those steps pass nil; ate-api always builds one.

func (*RPCService) CreateActor

func (s *RPCService) CreateActor(ctx context.Context, req *ateapipb.CreateActorRequest) (created *ateapipb.Actor, err error)

func (*RPCService) CreateActorEgressPolicy

func (s *RPCService) CreateActorEgressPolicy(ctx context.Context, req *ateapipb.CreateActorEgressPolicyRequest) (*ateapipb.EgressPolicy, error)

func (*RPCService) CreateActorTemplate

func (*RPCService) CreateAtespace

func (*RPCService) CreateTag

func (s *RPCService) CreateTag(ctx context.Context, req *ateapipb.CreateTagRequest) (*ateapipb.Tag, error)

CreateTag tags the external snapshot a suspended Actor holds, giving the tag its own copy of that snapshot so the Actor being suspended again or deleted cannot collect it. The work is a workflow because it spans two transactions around an object copy; see TagActorSnapshot.

func (*RPCService) CreateWorker

func (s *RPCService) CreateWorker(ctx context.Context, req *ateapipb.CreateWorkerRequest) (*ateapipb.Worker, error)

func (*RPCService) DeleteActor

func (s *RPCService) DeleteActor(ctx context.Context, req *ateapipb.DeleteActorRequest) (deleted *ateapipb.Actor, err error)

func (*RPCService) DeleteActorEgressPolicy

func (s *RPCService) DeleteActorEgressPolicy(ctx context.Context, req *ateapipb.DeleteActorEgressPolicyRequest) (*ateapipb.EgressPolicy, error)

func (*RPCService) DeleteActorTemplate

func (*RPCService) DeleteAtespace

func (*RPCService) DeleteTag

func (s *RPCService) DeleteTag(ctx context.Context, req *ateapipb.DeleteTagRequest) (*ateapipb.Tag, error)

DeleteTag releases the external snapshot the tag owns and then removes the row, in that order: the row is the only handle on that snapshot, so dropping it first would leak. A failure at any point fails the whole RPC; the client retries the same delete, which rediscovers the work from the row and resumes over whatever is left.

The tag stays resolvable while its snapshot is being collected, so a CreateActor racing this delete can seed an Actor from content that is going away. That race is accepted for now.

Note that this destroys the external snapshot: an Actor created from the tag and never suspended is still borrowing it and becomes unrecoverable. Do not delete a tag while clones of it exist.

func (*RPCService) DeleteWorker

func (s *RPCService) DeleteWorker(ctx context.Context, req *ateapipb.DeleteWorkerRequest) (*ateapipb.Worker, error)

func (*RPCService) DrainWorker

func (s *RPCService) DrainWorker(ctx context.Context, req *ateapipb.DrainWorkerRequest) (*ateapipb.Worker, error)

func (*RPCService) GetActor

func (*RPCService) GetActorEgressPolicy

func (*RPCService) GetActorTemplate

func (*RPCService) GetAtespace

func (*RPCService) GetPlugin

func (s *RPCService) GetPlugin(ctx context.Context, driverName string) (volume.VolumePluginControlPlane, error)

GetPlugin retrieves a CSI volume plugin by driver name, dynamically discovering it if not present.

func (*RPCService) GetTag

func (s *RPCService) GetTag(ctx context.Context, req *ateapipb.GetTagRequest) (*ateapipb.Tag, error)

func (*RPCService) GetWorker

func (*RPCService) ListActors

func (*RPCService) ListAtespaces

func (*RPCService) ListTags

func (*RPCService) ListWorkerActorAssignments

ListWorkerActorAssignments lists the Actors a Worker hosts. The assignments are a subresource rather than a field on Worker, so this is the only way to read them and neither GetWorker nor ListWorkers grows with occupancy.

func (*RPCService) ListWorkers

func (*RPCService) PauseActor

func (*RPCService) ResumeActor

func (*RPCService) SuspendActor

func (*RPCService) UpdateActor

func (s *RPCService) UpdateActor(ctx context.Context, req *ateapipb.UpdateActorRequest) (*ateapipb.Actor, error)

func (*RPCService) UpdateActorEgressPolicy

func (s *RPCService) UpdateActorEgressPolicy(ctx context.Context, req *ateapipb.UpdateActorEgressPolicyRequest) (*ateapipb.EgressPolicy, error)

func (*RPCService) UpdateTag

func (s *RPCService) UpdateTag(ctx context.Context, req *ateapipb.UpdateTagRequest) (*ateapipb.Tag, error)

func (*RPCService) UpdateWorker

func (s *RPCService) UpdateWorker(ctx context.Context, req *ateapipb.UpdateWorkerRequest) (*ateapipb.Worker, error)

UpdateWorker replaces the stored Worker with the one the request carries. Only sandbox_class and labels are the caller's to change; a request that alters an immutable field — including by leaving it unset, which would clear it — is rejected. The service layer enforces that with declarative validation against the stored worker inside the update transaction.

type ServiceImpl

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

ServiceImpl implements store.Interface and provides the "middleware" layer between the RPC and storage layers. It enforces invariants and validation rules, and may implement additional logic beyond the storage layer.

Methods on this service should hold most of the logic.

func (*ServiceImpl) AcquireLease

func (s *ServiceImpl) AcquireLease(ctx context.Context, key string) (*store.Lease, error)

Pass-through.

func (*ServiceImpl) BindActorToWorker

func (s *ServiceImpl) BindActorToWorker(ctx context.Context, workerName string, assignment *ateapipb.ActorAssignment, admit func(*ateapipb.Worker) error) error

The assignment operations are pass-throughs: an assignment is its own record, so binding and releasing are single store calls rather than a read-modify-write of the Worker.

func (*ServiceImpl) CreateActor

func (s *ServiceImpl) CreateActor(ctx context.Context, inActor *ateapipb.Actor) (*ateapipb.Actor, error)

func (*ServiceImpl) CreateActorTemplate

func (s *ServiceImpl) CreateActorTemplate(ctx context.Context, inTemplate *ateapipb.ActorTemplate) (*ateapipb.ActorTemplate, error)

func (*ServiceImpl) CreateAtespace

func (s *ServiceImpl) CreateAtespace(ctx context.Context, inAtespace *ateapipb.Atespace) (*ateapipb.Atespace, error)

func (*ServiceImpl) CreateEgressPolicy

func (s *ServiceImpl) CreateEgressPolicy(ctx context.Context, actorRef resources.ActorRef, policy *ateapipb.EgressPolicy) (*ateapipb.EgressPolicy, error)

func (*ServiceImpl) CreateTag

func (s *ServiceImpl) CreateTag(ctx context.Context, tag *ateapipb.Tag) (*ateapipb.Tag, error)

func (*ServiceImpl) CreateWorker

func (s *ServiceImpl) CreateWorker(ctx context.Context, inWorker *ateapipb.Worker) (*ateapipb.Worker, error)

func (*ServiceImpl) DeleteActor

func (s *ServiceImpl) DeleteActor(ctx context.Context, actorRef resources.ActorRef) (*ateapipb.Actor, error)

func (*ServiceImpl) DeleteActorTemplate

func (s *ServiceImpl) DeleteActorTemplate(ctx context.Context, templateRef resources.ActorTemplateRef) (*ateapipb.ActorTemplate, error)

func (*ServiceImpl) DeleteAtespace

func (s *ServiceImpl) DeleteAtespace(ctx context.Context, name string) (*ateapipb.Atespace, error)

func (*ServiceImpl) DeleteEgressPolicy

func (s *ServiceImpl) DeleteEgressPolicy(ctx context.Context, actorRef resources.ActorRef) (*ateapipb.EgressPolicy, error)

func (*ServiceImpl) DeleteTag

func (s *ServiceImpl) DeleteTag(ctx context.Context, tagRef resources.TagRef) (*ateapipb.Tag, error)

func (*ServiceImpl) DeleteWorker

func (s *ServiceImpl) DeleteWorker(ctx context.Context, name string, pre store.DeletePreconditions) (*ateapipb.Worker, error)

func (*ServiceImpl) FindWorkerHostingActor

func (s *ServiceImpl) FindWorkerHostingActor(ctx context.Context, actorUID string) (string, error)

func (*ServiceImpl) GetActor

func (s *ServiceImpl) GetActor(ctx context.Context, actorRef resources.ActorRef) (*ateapipb.Actor, error)

func (*ServiceImpl) GetActorTemplate

func (s *ServiceImpl) GetActorTemplate(ctx context.Context, templateRef resources.ActorTemplateRef) (*ateapipb.ActorTemplate, error)

func (*ServiceImpl) GetAtespace

func (s *ServiceImpl) GetAtespace(ctx context.Context, name string) (*ateapipb.Atespace, error)

func (*ServiceImpl) GetEgressPolicy

func (s *ServiceImpl) GetEgressPolicy(ctx context.Context, actorRef resources.ActorRef) (*ateapipb.EgressPolicy, error)

func (*ServiceImpl) GetTag

func (s *ServiceImpl) GetTag(ctx context.Context, tagRef resources.TagRef) (*ateapipb.Tag, error)

func (*ServiceImpl) GetWorker

func (s *ServiceImpl) GetWorker(ctx context.Context, name string) (*ateapipb.Worker, error)

GetWorker returns the Worker with the Actors it hosts, read separately since the assignments are their own records. The one read that pays O(assignments). A failed read is an error, not a Worker reported as hosting nothing: the caller cannot tell those apart.

func (*ServiceImpl) GetWorkerAssignment

func (s *ServiceImpl) GetWorkerAssignment(ctx context.Context, workerName, actorUID string) (*ateapipb.ActorAssignment, error)

func (*ServiceImpl) ListActorTemplates

func (s *ServiceImpl) ListActorTemplates(ctx context.Context, atespace string, opts store.ListOptions) (store.ListResponse[*ateapipb.ActorTemplate], error)

func (*ServiceImpl) ListActors

func (s *ServiceImpl) ListActors(ctx context.Context, atespace string, opts store.ListOptions) (store.ListResponse[*ateapipb.Actor], error)

func (*ServiceImpl) ListAtespaces

func (*ServiceImpl) ListTags

func (s *ServiceImpl) ListTags(ctx context.Context, atespace string, opts store.ListOptions) (store.ListResponse[*ateapipb.Tag], error)

func (*ServiceImpl) ListWorkerAssignments

func (s *ServiceImpl) ListWorkerAssignments(ctx context.Context, workerName string, opts store.ListOptions) (store.ListResponse[*ateapipb.ActorAssignment], error)

func (*ServiceImpl) ListWorkers

func (*ServiceImpl) ReleaseActorFromWorker

func (s *ServiceImpl) ReleaseActorFromWorker(ctx context.Context, workerName string, actorUID string) (*ateapipb.Worker, error)

func (*ServiceImpl) UpdateActor

func (s *ServiceImpl) UpdateActor(ctx context.Context, actorRef resources.ActorRef, precondition store.Precondition, mutate func(*ateapipb.Actor) error) (*ateapipb.Actor, error)

func (*ServiceImpl) UpdateActorTemplate

func (s *ServiceImpl) UpdateActorTemplate(ctx context.Context, templateRef resources.ActorTemplateRef, precondition store.Precondition, mutate func(dbTemplate *ateapipb.ActorTemplate) error) (*ateapipb.ActorTemplate, error)

func (*ServiceImpl) UpdateEgressPolicy

func (s *ServiceImpl) UpdateEgressPolicy(ctx context.Context, actorRef resources.ActorRef, precondition store.Precondition, mutate func(*ateapipb.EgressPolicy) error) (*ateapipb.EgressPolicy, error)

func (*ServiceImpl) UpdateTag

func (s *ServiceImpl) UpdateTag(ctx context.Context, tagRef resources.TagRef, precondition store.Precondition, mutate func(toUpdate *ateapipb.Tag) error) (*ateapipb.Tag, error)

func (*ServiceImpl) UpdateWorker

func (s *ServiceImpl) UpdateWorker(ctx context.Context, name string, precondition store.Precondition, mutate func(toUpdate *ateapipb.Worker) error) (*ateapipb.Worker, error)

func (*ServiceImpl) WatchWorkers

func (s *ServiceImpl) WatchWorkers(ctx context.Context) (*store.WorkerWatch, error)

type VolumePluginRegistry

type VolumePluginRegistry interface {
	GetPlugin(ctx context.Context, name string) (volume.VolumePluginControlPlane, error)
}

VolumePluginRegistry defines the interface for dynamic CSI plugin resolution.

type WorkerWorkflow

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

WorkerWorkflow handles the multi-step operations on a Worker.

Its steps reach across the Actor↔Worker binding, which an ActorWorkflow step does from the other side: releasing the Actor bound to a Worker stays in-process because there is no bind/release RPC.

func NewWorkerWorkflow

func NewWorkerWorkflow(store workerWorkflowStore) *WorkerWorkflow

NewWorkerWorkflow creates a new WorkerWorkflow.

func (*WorkerWorkflow) DeleteWorker

func (w *WorkerWorkflow) DeleteWorker(ctx context.Context, name string, pre store.DeletePreconditions) (*ateapipb.Worker, error)

DeleteWorker executes the workflow to deregister a Worker. The caller reaches here because the Worker's pod is gone, so the Actor bound to it — if any — has lost its sandbox and is released before the record is removed.

Re-drivable in the sense DeleteActor is: a failed attempt leaves the Worker record in place, and a retry fast-forwards past whatever the previous attempt already did. An absent Worker is NOT_FOUND rather than success; idempotency belongs to the caller, which knows whether that is the state it wanted.

Jump to

Keyboard shortcuts

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