Files
temporal/docs/development/new-rpcs.md
David Reiss 6b8366ebcd Remove proto/api submodule (#5868)
## What changed?
- Remove `proto/api` submodule.
- Adds a new program that's automatically run by the Makefile as
required to output the api protos in binary form, which can be used by
most tools. The command is run by `go run` and uses the same api-go
reference as the rest of the server for the source protos.
- Removed http annotations from internal matchingservice proto.

## Why?
- Ensure that the api-go import (in go.mod) and the proto files imported
by this repo's proto files are always in sync.
- Simplify update process, stop having to mess with submodules.

## How did you test it?
running commands manually a lot

## Potential risks
Importing protos from somewhere other than our api and google well-known
protos may require some updates to the script's import path logic.

## Documentation
updated docs
2024-06-05 16:20:30 -07:00

799 B

Adding new RPCs

Adding new RPCs to any of the server roles is currently a little involved. Here's a list of what you'll need to modify:

  1. Add RPC definitions to proto files. Either in the api repo (for frontend) or here in proto/internal (for history/matching).
  2. Update go.temporal.io/api to pick up the new generated files (for frontend) or generate them here with make proto (for history/matching).
  3. Add metric scope defs for client-side metrics to common/metrics/defs.go (this is going away soon).
  4. make service-clients to generate wrappers in client.
  5. For frontend: add definitions to service/frontend/redirection_interceptor.go.
  6. Add your new methods to service/<service>/configs/quotas.go.
  7. Finally, implement your new methods in the RPC handler.