controlapi

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2026 License: Apache-2.0 Imports: 77 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. Retryable.

Functions

func AteletInformer

AteletInformer creates a SharedInformerFactory and SharedIndexInformer for Atelet pods in the given namespace.

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_ActorMetadataItem_Path added in v0.2.0

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

func ValidateCustom_CIDRRule_Cidrs added in v0.2.0

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

Validation uses the parsers the egress gateway matches with, so what the API accepts and what the gateway can evaluate cannot drift apart.

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_Image added in v0.2.0

func ValidateCustom_Container_Image(_ 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 mounts that nest under one another.

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_ImageVolumeSource_Reference

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

func ValidateCustom_ResourceMetadata added in v0.2.0

func ValidateCustom_ResourceMetadata(_ context.Context, _ operation.Operation, fldPath *field.Path, obj, _ *ateapipb.ResourceMetadata) field.ErrorList

ValidateCustom_ResourceMetadata checks the server-stamped timestamps: each, when set, must be a valid google.protobuf.Timestamp, and update_time must not precede create_time. Both fields are scrubbed from input, so a violation here is a server stamping bug surfaced by the final-object validation pass, not a client error.

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_SnapshotConfig added in v0.2.0

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

ValidateCustom_SnapshotConfig requires on_commit to be a subset of on_pause.

func ValidateCustom_SnapshotConfig_StorageLocation added in v0.2.0

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

ValidateCustom_SnapshotConfig_StorageLocation ensures an ActorTemplate's snapshotConfig.location is a well-formed URI with a bucket, so a bad location fails fast.

func ValidateCustom_SystemInfoVolumeSource_DataSources added in v0.2.0

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

ValidateCustom_SystemInfoVolumeSource_DataSources requires every projected file path to be unique across all data sources: atelet writes them in order into one tree, so a repeated path silently clobbers the earlier file.

func ValidateCustom_TrustBundleDataSource_Path added in v0.2.0

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

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_ActorCrash added in v0.2.0

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

Validate_ActorCrash validates an instance of ActorCrash 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_CIDRRule added in v0.2.0

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

Validate_CIDRRule validates an instance of CIDRRule 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_ContainerWakeupProbe added in v0.2.0

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

Validate_ContainerWakeupProbe validates an instance of ContainerWakeupProbe 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_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_LocalSnapshot added in v0.2.0

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

Validate_LocalSnapshot validates an instance of LocalSnapshot according to declarative validation rules in the API schema.

func Validate_MintActorCertificateRequest added in v0.2.0

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

Validate_MintActorCertificateRequest validates an instance of MintActorCertificateRequest according to declarative validation rules in the API schema.

func Validate_MintActorJWTRequest added in v0.2.0

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

Validate_MintActorJWTRequest validates an instance of MintActorJWTRequest according to declarative validation rules in the API schema.

func Validate_MintAteomActorCertificateRequest added in v0.2.0

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

Validate_MintAteomActorCertificateRequest validates an instance of MintAteomActorCertificateRequest 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_RequestActorSuspendRequest added in v0.2.0

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

Validate_RequestActorSuspendRequest validates an instance of RequestActorSuspendRequest 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_RevertActorRequest added in v0.2.0

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

Validate_RevertActorRequest validates an instance of RevertActorRequest 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_SnapshotConfig added in v0.2.0

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

Validate_SnapshotConfig validates an instance of SnapshotConfig 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.

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, resyncInterval time.Duration) *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, precondition store.DeletePreconditions) (*ateapipb.Actor, error)

DeleteActor executes the workflow to delete an actor. Idempotent.

func (*ActorWorkflow) DeleteActorTemplate added in v0.2.0

func (w *ActorWorkflow) DeleteActorTemplate(ctx context.Context, templateRef resources.ActorTemplateRef, precondition store.DeletePreconditions) (*ateapipb.ActorTemplate, error)

DeleteActorTemplate executes the workflow to delete an ActorTemplate. The golden actor and tag go first and the row last, so a failed attempt leaves the row for a retry to rediscover them by.

func (*ActorWorkflow) DeleteTag added in v0.2.0

func (w *ActorWorkflow) DeleteTag(ctx context.Context, tagRef resources.TagRef, precondition store.DeletePreconditions) (*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.

The workflow is built in 3 phases:

  1. Load the tag (which names the snapshot to collect).
  2. Release that snapshot, tolerating a previous attempt partly collected.
  3. Finalize: drop the row.

Idempotent: a failure at any phase leaves the row in place, so the same delete run again rediscovers the work from it 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 (*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) (_ *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) RevertActor added in v0.2.0

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

RevertActor executes the workflow to discard an actor's current execution and return it to SUSPENDED, leaving its external snapshot untouched for a later resume to restore from. It is the recovery verb: it accepts a CRASHED actor, and needs no live worker to succeed.

Idempotent: each step keys on a persisted field rather than on the state the actor was reverted from, so a re-entered workflow fast-forwards to wherever the previous attempt stopped.

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. Reserve the tag and record its storage location.
  2. Copy the snapshot under the reserved tag's UID.
  3. Finalize: write the completed 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(ateletIndexer cache.Indexer, ateletSPIFFEID, 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, and ateletSPIFFEID is the identity those credentials expect on the atelet serving cert.

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.

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,
	actorIdentityJWTIssuer string,
	actorIDJWTPool localjwtauthority.Pool,
	actorIDCAPool localca.Pool,
) *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 removes the tag and collects the external snapshot it owns.

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) MintActorCertificate added in v0.2.0

func (*RPCService) MintActorJWT added in v0.2.0

func (*RPCService) PauseActor

func (*RPCService) ResumeActor

func (*RPCService) RevertActor added in v0.2.0

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 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, precondition store.DeletePreconditions) (*ateapipb.Actor, error)

func (*ServiceImpl) DeleteActorTemplate

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

func (*ServiceImpl) DeleteAtespace

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

func (*ServiceImpl) DeleteEgressPolicy

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

func (*ServiceImpl) DeleteTag

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

func (*ServiceImpl) DeleteWorker

func (s *ServiceImpl) DeleteWorker(ctx context.Context, name string, precondition 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, precondition 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