-
Notifications
You must be signed in to change notification settings - Fork 93
Add "exposed" operation for system nexus endpoint #736
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 2 commits
b37d25e
d70e3ca
b517764
f0760b3
3f17a76
ba43a56
ab1b41d
e263cf2
4979ae3
65d1c56
9558edf
d10e568
863d3f3
d249bb6
54fa5c4
1152ac5
c267398
c3e6d26
adecd33
1b7b2b5
87be9e8
e9a0f6c
e150e41
5ab04f0
4131b90
0e58e7d
c6d6808
570f947
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| syntax = "proto3"; | ||
|
|
||
| package nexus.v1; | ||
|
|
||
| import "google/protobuf/descriptor.proto"; | ||
|
|
||
| option go_package = "github.com/bergundy/nexus-proto-annotations/go/nexus/v1"; | ||
|
|
||
| extend google.protobuf.ServiceOptions { | ||
| optional ServiceOptions service = 8233; | ||
| } | ||
|
|
||
| extend google.protobuf.MethodOptions { | ||
| optional OperationOptions operation = 8234; | ||
| } | ||
|
|
||
| message OperationOptions { | ||
| // Nexus operation name (defaults to proto method name). | ||
| string name = 1; | ||
| // Tags to attach to the operation. Used by code generators to include and exclude operations. | ||
| repeated string tags = 2; | ||
| } | ||
|
|
||
| message ServiceOptions { | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We have tags on services too but you didn't support excluding or including based on tags. That's fine for now, but the "official" plugin would need to have all of this functionality, similar to what |
||
| // Nexus service name (defaults to proto service full name). | ||
| string name = 1; | ||
| // Tags to attach to the service. Used by code generators to include and exclude services. | ||
| repeated string tags = 2; | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,8 +10,9 @@ option ruby_package = "Temporalio::Api::WorkflowService::V1"; | |
| option csharp_namespace = "Temporalio.Api.WorkflowService.V1"; | ||
|
|
||
|
|
||
| import "temporal/api/workflowservice/v1/request_response.proto"; | ||
| import "google/api/annotations.proto"; | ||
| import "nexusannotations/v1/options.proto"; | ||
| import "temporal/api/workflowservice/v1/request_response.proto"; | ||
| import "temporal/api/protometa/v1/annotations.proto"; | ||
|
|
||
| // WorkflowService API defines how Temporal SDKs and other clients interact with the Temporal server | ||
|
|
@@ -487,6 +488,8 @@ service WorkflowService { | |
| // (-- api-linter: core::0136::prepositions=disabled | ||
| // aip.dev/not-precedent: "With" is used to indicate combined operation. --) | ||
| rpc SignalWithStartWorkflowExecution (SignalWithStartWorkflowExecutionRequest) returns (SignalWithStartWorkflowExecutionResponse) { | ||
| option (nexus.v1.operation).tags = "exposed"; | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For reviewer: this tag can be used by our code generation tool to generate Nexus handler interfaces. |
||
|
|
||
| option (google.api.http) = { | ||
| post: "/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}" | ||
| body: "*" | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The package name here would be different depending on the verdict of where we would want to put these annotations. I don't think we should reference anything in my personal repo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also note that the annotations already exist in the referenced GH repo, I had to inline them here because the package name
nexuswas conflicting and confusing our protoc generation pipeline.