From 9ae782af2c18ca7b8c7f89bc21841686df78504b Mon Sep 17 00:00:00 2001 From: Eric Curtin Date: Thu, 8 Oct 2026 22:47:40 +0100 Subject: [PATCH] ateapi.proto: document request, response and worker types Signed-off-by: Eric Curtin --- api/ateapi/v1/ateapi.pb.go | 84 +++++++++- api/ateapi/v1/ateapi.proto | 80 +++++++++ api/ateapi/v1/ateapi_grpc.pb.go | 6 + tools/apitool/exemptions.json | 280 -------------------------------- 4 files changed, 164 insertions(+), 286 deletions(-) diff --git a/api/ateapi/v1/ateapi.pb.go b/api/ateapi/v1/ateapi.pb.go index 250a2f5968..69b1575ed9 100644 --- a/api/ateapi/v1/ateapi.pb.go +++ b/api/ateapi/v1/ateapi.pb.go @@ -201,6 +201,7 @@ func (SnapshotFidelity) EnumDescriptor() ([]byte, []int) { return file_api_ateapi_v1_ateapi_proto_rawDescGZIP(), []int{2} } +// TagScope is where a Tag may be used to initialize Actors. type TagScope int32 const ( @@ -254,6 +255,7 @@ func (TagScope) EnumDescriptor() ([]byte, []int) { return file_api_ateapi_v1_ateapi_proto_rawDescGZIP(), []int{3} } +// ActorState is the lifecycle state of an Actor. type ActorState int32 const ( @@ -478,6 +480,7 @@ func (DurabilityMode) EnumDescriptor() ([]byte, []int) { return file_api_ateapi_v1_ateapi_proto_rawDescGZIP(), []int{7} } +// WorkerState is the lifecycle state of a Worker. type WorkerState int32 const ( @@ -4211,6 +4214,8 @@ func (x *ActorMetadataDataSource) GetItems() []*ActorMetadataItem { // a clean relative Unix path from the root of the volume. type ActorMetadataItem struct { state protoimpl.MessageState `protogen:"open.v1"` + // The identity field to project. + // // +k8s:required // +k8s:minimum=1 // +k8s:maximum=3 # keep this in sync with the ActorMetadataField enum @@ -4412,6 +4417,7 @@ func (x *VolumeMount) GetMountPath() string { return "" } +// Request to create an Atespace. type CreateAtespaceRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The atespace to create. @@ -4459,8 +4465,12 @@ func (x *CreateAtespaceRequest) GetAtespace() *Atespace { return nil } +// Request to get an Atespace. type GetAtespaceRequest struct { state protoimpl.MessageState `protogen:"open.v1"` + // The Atespace to get. atespace is always empty; Atespaces are + // global-scoped. + // // +k8s:required // +k8s:beta(since: "0.0")=+k8s:subfield(atespace)=+k8s:forbidden # TODO: get rid of beta prefix Atespace *ObjectRef `protobuf:"bytes,1,opt,name=atespace,proto3" json:"atespace,omitempty"` @@ -4505,6 +4515,7 @@ func (x *GetAtespaceRequest) GetAtespace() *ObjectRef { return nil } +// Request to list Atespaces. type ListAtespacesRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Pagination controls. @@ -4552,6 +4563,7 @@ func (x *ListAtespacesRequest) GetOptions() *ListOptions { return nil } +// A page of Atespaces. type ListAtespacesResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The page of atespaces. This list may be empty even if there are more results. @@ -4606,8 +4618,12 @@ func (x *ListAtespacesResponse) GetNextPageToken() string { return "" } +// Request to delete an Atespace. type DeleteAtespaceRequest struct { state protoimpl.MessageState `protogen:"open.v1"` + // The Atespace to delete. atespace is always empty; Atespaces are + // global-scoped. + // // +k8s:required // +k8s:beta(since: "0.0")=+k8s:subfield(atespace)=+k8s:forbidden # TODO: get rid of beta prefix Atespace *ObjectRef `protobuf:"bytes,1,opt,name=atespace,proto3" json:"atespace,omitempty"` @@ -4663,6 +4679,7 @@ func (x *DeleteAtespaceRequest) GetOptions() *DeleteOptions { return nil } +// Request to create an ActorTemplate. type CreateActorTemplateRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The actor template version to create. Server-assigned metadata (uid, @@ -4712,8 +4729,11 @@ func (x *CreateActorTemplateRequest) GetActorTemplate() *ActorTemplate { return nil } +// Request to get an ActorTemplate. type GetActorTemplateRequest struct { state protoimpl.MessageState `protogen:"open.v1"` + // The ActorTemplate to get. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required ActorTemplate *ObjectRef `protobuf:"bytes,1,opt,name=actor_template,json=actorTemplate,proto3" json:"actor_template,omitempty"` @@ -4758,6 +4778,7 @@ func (x *GetActorTemplateRequest) GetActorTemplate() *ObjectRef { return nil } +// Request to list ActorTemplates. type ListActorTemplatesRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The atespace to list actor templates from. Empty lists across all @@ -4818,6 +4839,7 @@ func (x *ListActorTemplatesRequest) GetOptions() *ListOptions { return nil } +// A page of ActorTemplates. type ListActorTemplatesResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The page of actor template versions. This list may be empty even if @@ -4873,8 +4895,11 @@ func (x *ListActorTemplatesResponse) GetNextPageToken() string { return "" } +// Request to delete an ActorTemplate. type DeleteActorTemplateRequest struct { state protoimpl.MessageState `protogen:"open.v1"` + // The ActorTemplate to delete. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required ActorTemplate *ObjectRef `protobuf:"bytes,1,opt,name=actor_template,json=actorTemplate,proto3" json:"actor_template,omitempty"` @@ -4930,8 +4955,11 @@ func (x *DeleteActorTemplateRequest) GetOptions() *DeleteOptions { return nil } +// Request to get an Actor. type GetActorRequest struct { state protoimpl.MessageState `protogen:"open.v1"` + // The Actor to get. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required Actor *ObjectRef `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"` @@ -5080,8 +5108,11 @@ func (x *UpdateActorRequest) GetActor() *Actor { return nil } +// Request to suspend an Actor. type SuspendActorRequest struct { state protoimpl.MessageState `protogen:"open.v1"` + // The Actor to suspend. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required Actor *ObjectRef `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"` @@ -5137,9 +5168,11 @@ func (x *SuspendActorRequest) GetOptions() *SuspendOptions { return nil } +// Response to SuspendActor. type SuspendActorResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Actor *Actor `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + // The Actor after the suspend. + Actor *Actor `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -5232,8 +5265,11 @@ func (x *SuspendOptions) GetMode() DurabilityMode { return DurabilityMode_DURABILITY_MODE_UNSPECIFIED } +// Request to resume an Actor. type ResumeActorRequest struct { state protoimpl.MessageState `protogen:"open.v1"` + // The Actor to resume. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required Actor *ObjectRef `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"` @@ -5278,9 +5314,11 @@ func (x *ResumeActorRequest) GetActor() *ObjectRef { return nil } +// Response to ResumeActor. type ResumeActorResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - Actor *Actor `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"` + // The Actor after the resume. + Actor *Actor `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"` // True if a resume workflow was executed to activate the actor. // False if the actor was already RUNNING. Resumed bool `protobuf:"varint,2,opt,name=resumed,proto3" json:"resumed,omitempty"` @@ -5427,8 +5465,11 @@ func (x *RevertActorResponse) GetActor() *Actor { return nil } +// Request to delete an Actor. type DeleteActorRequest struct { state protoimpl.MessageState `protogen:"open.v1"` + // The Actor to delete. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required Actor *ObjectRef `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"` @@ -5745,8 +5786,11 @@ func (x *DeleteActorEgressPolicyRequest) GetOptions() *DeleteOptions { return nil } +// Request to get a Tag. type GetTagRequest struct { state protoimpl.MessageState `protogen:"open.v1"` + // The Tag to get. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required Tag *ObjectRef `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` @@ -6067,6 +6111,7 @@ func (x *MintActorCertificateResponse) GetActorCertificates() [][]byte { return nil } +// Request to list Tags. type ListTagsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The atespace to list tags from. Empty lists across all atespaces. @@ -6126,10 +6171,13 @@ func (x *ListTagsRequest) GetOptions() *ListOptions { return nil } +// A page of Tags. type ListTagsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Tags []*Tag `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"` - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + // The page of tags. This list may be empty even if there are more results. + Tags []*Tag `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"` + // Pagination token for the next page. Empty if this is the last page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -6296,8 +6344,11 @@ func (x *UpdateTagRequest) GetTag() *Tag { return nil } +// Request to delete a Tag. type DeleteTagRequest struct { state protoimpl.MessageState `protogen:"open.v1"` + // The Tag to delete. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required Tag *ObjectRef `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` @@ -6597,6 +6648,7 @@ func (x *ListWorkerActorAssignmentsResponse) GetNextPageToken() string { return "" } +// Request to list Workers. type ListWorkersRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Pagination controls. @@ -6644,6 +6696,7 @@ func (x *ListWorkersRequest) GetOptions() *ListOptions { return nil } +// A page of Workers. type ListWorkersResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The page of workers. This list may be empty even if there are more results. @@ -6698,6 +6751,7 @@ func (x *ListWorkersResponse) GetNextPageToken() string { return "" } +// Request to get a Worker. type GetWorkerRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The Worker to fetch. atespace is always empty; Workers are global-scoped. @@ -6746,6 +6800,7 @@ func (x *GetWorkerRequest) GetWorker() *ObjectRef { return nil } +// Request to register a Worker. type CreateWorkerRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The Worker to register. @@ -6793,6 +6848,7 @@ func (x *CreateWorkerRequest) GetWorker() *Worker { return nil } +// Request to update a Worker. type UpdateWorkerRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The Worker to update. @@ -6853,6 +6909,7 @@ func (x *UpdateWorkerRequest) GetWorker() *Worker { return nil } +// Request to deregister a Worker. type DeleteWorkerRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The Worker to deregister. @@ -6912,6 +6969,7 @@ func (x *DeleteWorkerRequest) GetOptions() *DeleteOptions { return nil } +// Request to drain a Worker. type DrainWorkerRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The Worker to mark as terminating. @@ -7257,6 +7315,7 @@ func (x *ListActorsRequest) GetOptions() *ListOptions { return nil } +// A page of Actors. type ListActorsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The page of actors. This list may be empty even if there are more results. @@ -7335,18 +7394,26 @@ type Worker struct { // +k8s:format=k8s-short-name // +k8s:immutable WorkerNamespace string `protobuf:"bytes,2,opt,name=worker_namespace,json=workerNamespace,proto3" json:"worker_namespace,omitempty"` + // The WorkerPool the pod belongs to, in worker_namespace. + // // +k8s:required // +k8s:format=k8s-long-name // +k8s:immutable WorkerPool string `protobuf:"bytes,3,opt,name=worker_pool,json=workerPool,proto3" json:"worker_pool,omitempty"` + // The Worker's pod, in worker_namespace. + // // +k8s:required // +k8s:format=k8s-long-name // +k8s:immutable WorkerPod string `protobuf:"bytes,4,opt,name=worker_pod,json=workerPod,proto3" json:"worker_pod,omitempty"` + // The UID of the Worker's pod. + // // +k8s:required // +k8s:format=k8s-uuid // +k8s:immutable WorkerPodUid string `protobuf:"bytes,5,opt,name=worker_pod_uid,json=workerPodUid,proto3" json:"worker_pod_uid,omitempty"` + // The node the Worker's pod runs on. + // // +k8s:required // +k8s:format=k8s-long-name // +k8s:immutable @@ -7473,8 +7540,11 @@ func (x *Worker) GetStatus() *WorkerStatus { return nil } +// WorkerStatus is the output-only, server-managed state of a Worker. type WorkerStatus struct { state protoimpl.MessageState `protogen:"open.v1"` + // The Worker's lifecycle state. + // // +k8s:required // +k8s:minimum=1 // +k8s:maximum=3 # keep this in sync with the WorkerState enum @@ -8062,6 +8132,8 @@ type ActorAssignment struct { // +k8s:required // +k8s:subfield(atespace)=+k8s:required Actor *ObjectRef `protobuf:"bytes,2,opt,name=actor,proto3" json:"actor,omitempty"` + // The UID of the assigned Actor. + // // +k8s:required // +k8s:format=k8s-uuid ActorUid string `protobuf:"bytes,3,opt,name=actor_uid,json=actorUid,proto3" json:"actor_uid,omitempty"` diff --git a/api/ateapi/v1/ateapi.proto b/api/ateapi/v1/ateapi.proto index a5e777a4a6..6a09795161 100644 --- a/api/ateapi/v1/ateapi.proto +++ b/api/ateapi/v1/ateapi.proto @@ -213,14 +213,17 @@ service Control { option (method).resource = "Atespace"; } + // Create an ActorTemplate. rpc CreateActorTemplate(CreateActorTemplateRequest) returns (ActorTemplate) { option (method).resource = "ActorTemplate"; } + // Get an ActorTemplate. rpc GetActorTemplate(GetActorTemplateRequest) returns (ActorTemplate) { option (method).resource = "ActorTemplate"; } + // List ActorTemplates. rpc ListActorTemplates(ListActorTemplatesRequest) returns (ListActorTemplatesResponse) { option (method).resource = "ActorTemplate"; } @@ -392,6 +395,7 @@ enum SnapshotFidelity { // Keep this in sync with the maximums on fields of this type. } +// TagScope is where a Tag may be used to initialize Actors. enum TagScope { // Not set and rejected wherever a client supplies a scope TAG_SCOPE_UNSPECIFIED = 0; @@ -883,6 +887,7 @@ message ActorJwtSource { int64 expiration_seconds = 2; } +// ActorState is the lifecycle state of an Actor. enum ActorState { ACTOR_STATE_UNSPECIFIED = 0; ACTOR_STATE_RESUMING = 1; @@ -1608,6 +1613,8 @@ message ActorMetadataDataSource { // ActorMetadataItem projects one actor identity field to a file at path, // a clean relative Unix path from the root of the volume. message ActorMetadataItem { + // The identity field to project. + // // +k8s:required // +k8s:minimum=1 // +k8s:maximum=3 # keep this in sync with the ActorMetadataField enum @@ -1681,6 +1688,7 @@ message VolumeMount { string mount_path = 2; } +// Request to create an Atespace. message CreateAtespaceRequest { // The atespace to create. // @@ -1688,12 +1696,17 @@ message CreateAtespaceRequest { Atespace atespace = 1; } +// Request to get an Atespace. message GetAtespaceRequest { + // The Atespace to get. atespace is always empty; Atespaces are + // global-scoped. + // // +k8s:required // +k8s:beta(since: "0.0")=+k8s:subfield(atespace)=+k8s:forbidden # TODO: get rid of beta prefix ObjectRef atespace = 1; } +// Request to list Atespaces. message ListAtespacesRequest { // Pagination controls. // @@ -1701,6 +1714,7 @@ message ListAtespacesRequest { ListOptions options = 1; } +// A page of Atespaces. message ListAtespacesResponse { // The page of atespaces. This list may be empty even if there are more results. repeated Atespace atespaces = 1; @@ -1709,7 +1723,11 @@ message ListAtespacesResponse { string next_page_token = 2; } +// Request to delete an Atespace. message DeleteAtespaceRequest { + // The Atespace to delete. atespace is always empty; Atespaces are + // global-scoped. + // // +k8s:required // +k8s:beta(since: "0.0")=+k8s:subfield(atespace)=+k8s:forbidden # TODO: get rid of beta prefix ObjectRef atespace = 1; @@ -1720,6 +1738,7 @@ message DeleteAtespaceRequest { DeleteOptions options = 2; } +// Request to create an ActorTemplate. message CreateActorTemplateRequest { // The actor template version to create. Server-assigned metadata (uid, // version, timestamps) is ignored, as are the status fields. @@ -1729,12 +1748,16 @@ message CreateActorTemplateRequest { ActorTemplate actor_template = 1; } +// Request to get an ActorTemplate. message GetActorTemplateRequest { + // The ActorTemplate to get. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required ObjectRef actor_template = 1; } +// Request to list ActorTemplates. message ListActorTemplatesRequest { // The atespace to list actor templates from. Empty lists across all // atespaces. @@ -1749,6 +1772,7 @@ message ListActorTemplatesRequest { ListOptions options = 2; } +// A page of ActorTemplates. message ListActorTemplatesResponse { // The page of actor template versions. This list may be empty even if // there are more results. @@ -1758,7 +1782,10 @@ message ListActorTemplatesResponse { string next_page_token = 2; } +// Request to delete an ActorTemplate. message DeleteActorTemplateRequest { + // The ActorTemplate to delete. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required ObjectRef actor_template = 1; @@ -1769,7 +1796,10 @@ message DeleteActorTemplateRequest { DeleteOptions options = 2; } +// Request to get an Actor. message GetActorRequest { + // The Actor to get. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required ObjectRef actor = 1; @@ -1799,7 +1829,10 @@ message UpdateActorRequest { Actor actor = 1; } +// Request to suspend an Actor. message SuspendActorRequest { + // The Actor to suspend. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required ObjectRef actor = 1; @@ -1810,7 +1843,9 @@ message SuspendActorRequest { SuspendOptions options = 2; } +// Response to SuspendActor. message SuspendActorResponse { + // The Actor after the suspend. Actor actor = 1; } @@ -1842,13 +1877,18 @@ enum DurabilityMode { // Keep this in sync with SuspendOptions.mode's maximum. } +// Request to resume an Actor. message ResumeActorRequest { + // The Actor to resume. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required ObjectRef actor = 1; } +// Response to ResumeActor. message ResumeActorResponse { + // The Actor after the resume. Actor actor = 1; // True if a resume workflow was executed to activate the actor. @@ -1871,7 +1911,10 @@ message RevertActorResponse { Actor actor = 1; } +// Request to delete an Actor. message DeleteActorRequest { + // The Actor to delete. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required ObjectRef actor = 1; @@ -1953,7 +1996,10 @@ message DeleteActorEgressPolicyRequest { DeleteOptions options = 3; } +// Request to get a Tag. message GetTagRequest { + // The Tag to get. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required ObjectRef tag = 1; @@ -2045,6 +2091,7 @@ message MintActorCertificateResponse { repeated bytes actor_certificates = 1; } +// Request to list Tags. message ListTagsRequest { // The atespace to list tags from. Empty lists across all atespaces. // @@ -2058,8 +2105,12 @@ message ListTagsRequest { ListOptions options = 2; } +// A page of Tags. message ListTagsResponse { + // The page of tags. This list may be empty even if there are more results. repeated Tag tags = 1; + + // Pagination token for the next page. Empty if this is the last page. string next_page_token = 2; } @@ -2101,7 +2152,10 @@ message UpdateTagRequest { Tag tag = 1; } +// Request to delete a Tag. message DeleteTagRequest { + // The Tag to delete. + // // +k8s:required // +k8s:subfield(atespace)=+k8s:required ObjectRef tag = 1; @@ -2172,6 +2226,7 @@ message ListWorkerActorAssignmentsResponse { string next_page_token = 2; } +// Request to list Workers. message ListWorkersRequest { // Pagination controls. // @@ -2179,6 +2234,7 @@ message ListWorkersRequest { ListOptions options = 1; } +// A page of Workers. message ListWorkersResponse { // The page of workers. This list may be empty even if there are more results. repeated Worker workers = 1; @@ -2187,6 +2243,7 @@ message ListWorkersResponse { string next_page_token = 2; } +// Request to get a Worker. message GetWorkerRequest { // The Worker to fetch. atespace is always empty; Workers are global-scoped. // @@ -2195,6 +2252,7 @@ message GetWorkerRequest { ObjectRef worker = 1; } +// Request to register a Worker. message CreateWorkerRequest { // The Worker to register. // @@ -2202,6 +2260,7 @@ message CreateWorkerRequest { Worker worker = 1; } +// Request to update a Worker. message UpdateWorkerRequest { // The Worker to update. // worker.metadata.name identifies which resource to update. atespace is @@ -2222,6 +2281,7 @@ message UpdateWorkerRequest { Worker worker = 1; } +// Request to deregister a Worker. message DeleteWorkerRequest { // The Worker to deregister. // @@ -2235,6 +2295,7 @@ message DeleteWorkerRequest { DeleteOptions options = 2; } +// Request to drain a Worker. message DrainWorkerRequest { // The Worker to mark as terminating. // @@ -2294,6 +2355,7 @@ message ListActorsRequest { ListOptions options = 2; } +// A page of Actors. message ListActorsResponse { // The page of actors. This list may be empty even if there are more results. repeated Actor actors = 1; @@ -2331,18 +2393,30 @@ message Worker { // +k8s:format=k8s-short-name // +k8s:immutable string worker_namespace = 2; + + // The WorkerPool the pod belongs to, in worker_namespace. + // // +k8s:required // +k8s:format=k8s-long-name // +k8s:immutable string worker_pool = 3; + + // The Worker's pod, in worker_namespace. + // // +k8s:required // +k8s:format=k8s-long-name // +k8s:immutable string worker_pod = 4; + + // The UID of the Worker's pod. + // // +k8s:required // +k8s:format=k8s-uuid // +k8s:immutable string worker_pod_uid = 5; + + // The node the Worker's pod runs on. + // // +k8s:required // +k8s:format=k8s-long-name // +k8s:immutable @@ -2376,6 +2450,7 @@ message Worker { WorkerStatus status = 9; } +// WorkerState is the lifecycle state of a Worker. enum WorkerState { WORKER_STATE_UNSPECIFIED = 0; // Ready; schedulable. @@ -2389,7 +2464,10 @@ enum WorkerState { // Keep this in sync with WorkerStatus.state's maximum. } +// WorkerStatus is the output-only, server-managed state of a Worker. message WorkerStatus { + // The Worker's lifecycle state. + // // +k8s:required // +k8s:minimum=1 // +k8s:maximum=3 # keep this in sync with the WorkerState enum @@ -2626,6 +2704,8 @@ message ActorAssignment { // +k8s:subfield(atespace)=+k8s:required ObjectRef actor = 2; + // The UID of the assigned Actor. + // // +k8s:required // +k8s:format=k8s-uuid string actor_uid = 3; diff --git a/api/ateapi/v1/ateapi_grpc.pb.go b/api/ateapi/v1/ateapi_grpc.pb.go index 4c2cadb5d9..2f0e48deb9 100644 --- a/api/ateapi/v1/ateapi_grpc.pb.go +++ b/api/ateapi/v1/ateapi_grpc.pb.go @@ -178,8 +178,11 @@ type ControlClient interface { // Delete an empty Atespace. Rejects (FailedPrecondition) if any Actors or // Tags remain. DeleteAtespace(ctx context.Context, in *DeleteAtespaceRequest, opts ...grpc.CallOption) (*Atespace, error) + // Create an ActorTemplate. CreateActorTemplate(ctx context.Context, in *CreateActorTemplateRequest, opts ...grpc.CallOption) (*ActorTemplate, error) + // Get an ActorTemplate. GetActorTemplate(ctx context.Context, in *GetActorTemplateRequest, opts ...grpc.CallOption) (*ActorTemplate, error) + // List ActorTemplates. ListActorTemplates(ctx context.Context, in *ListActorTemplatesRequest, opts ...grpc.CallOption) (*ListActorTemplatesResponse, error) // Delete an ActorTemplate together with its golden actor and golden // tag in the template's atespace. @@ -743,8 +746,11 @@ type ControlServer interface { // Delete an empty Atespace. Rejects (FailedPrecondition) if any Actors or // Tags remain. DeleteAtespace(context.Context, *DeleteAtespaceRequest) (*Atespace, error) + // Create an ActorTemplate. CreateActorTemplate(context.Context, *CreateActorTemplateRequest) (*ActorTemplate, error) + // Get an ActorTemplate. GetActorTemplate(context.Context, *GetActorTemplateRequest) (*ActorTemplate, error) + // List ActorTemplates. ListActorTemplates(context.Context, *ListActorTemplatesRequest) (*ListActorTemplatesResponse, error) // Delete an ActorTemplate together with its golden actor and golden // tag in the template's atespace. diff --git a/tools/apitool/exemptions.json b/tools/apitool/exemptions.json index 4e7e6007bd..8ad6abbaef 100644 --- a/tools/apitool/exemptions.json +++ b/tools/apitool/exemptions.json @@ -4,21 +4,6 @@ "subject": "substrate.ateapi.v1.Actor", "message": "message has no doc comment" }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ActorAssignment.actor_uid", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ActorMetadataItem.field", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ActorState", - "message": "enum has no doc comment" - }, { "rule": "documented", "subject": "substrate.ateapi.v1.ActorStatus", @@ -59,231 +44,11 @@ "subject": "substrate.ateapi.v1.Container.name", "message": "field has no doc comment" }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.Control.CreateActorTemplate", - "message": "method has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.Control.GetActorTemplate", - "message": "method has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.Control.ListActorTemplates", - "message": "method has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.CreateActorTemplateRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.CreateAtespaceRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.CreateWorkerRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.DeleteActorRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.DeleteActorRequest.actor", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.DeleteActorTemplateRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.DeleteActorTemplateRequest.actor_template", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.DeleteAtespaceRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.DeleteAtespaceRequest.atespace", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.DeleteTagRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.DeleteTagRequest.tag", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.DeleteWorkerRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.DrainWorkerRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.GetActorRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.GetActorRequest.actor", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.GetActorTemplateRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.GetActorTemplateRequest.actor_template", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.GetAtespaceRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.GetAtespaceRequest.atespace", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.GetTagRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.GetTagRequest.tag", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.GetWorkerRequest", - "message": "message has no doc comment" - }, { "rule": "documented", "subject": "substrate.ateapi.v1.GoldenSnapshotStatus", "message": "message has no doc comment" }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListActorTemplatesRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListActorTemplatesResponse", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListActorsResponse", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListAtespacesRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListAtespacesResponse", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListTagsRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListTagsResponse", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListTagsResponse.next_page_token", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListTagsResponse.tags", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListWorkersRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ListWorkersResponse", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ResumeActorRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ResumeActorRequest.actor", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ResumeActorResponse", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.ResumeActorResponse.actor", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.SuspendActorRequest", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.SuspendActorRequest.actor", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.SuspendActorResponse", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.SuspendActorResponse.actor", - "message": "field has no doc comment" - }, { "rule": "documented", "subject": "substrate.ateapi.v1.SystemInfoDataSource", @@ -294,16 +59,6 @@ "subject": "substrate.ateapi.v1.SystemInfoDataSource.trust_bundle", "message": "field has no doc comment" }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.TagScope", - "message": "enum has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.UpdateWorkerRequest", - "message": "message has no doc comment" - }, { "rule": "documented", "subject": "substrate.ateapi.v1.Volume", @@ -313,40 +68,5 @@ "rule": "documented", "subject": "substrate.ateapi.v1.Volume.system_info", "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.Worker.node_name", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.Worker.worker_pod", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.Worker.worker_pod_uid", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.Worker.worker_pool", - "message": "field has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.WorkerState", - "message": "enum has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.WorkerStatus", - "message": "message has no doc comment" - }, - { - "rule": "documented", - "subject": "substrate.ateapi.v1.WorkerStatus.state", - "message": "field has no doc comment" } ]