mirror of
https://github.com/temporalio/temporal.git
synced 2026-08-30 18:41:49 -07:00
## 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
799 B
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:
- Add RPC definitions to proto files. Either in the
apirepo (for frontend) or here inproto/internal(for history/matching). - Update
go.temporal.io/apito pick up the new generated files (for frontend) or generate them here withmake proto(for history/matching). - Add metric scope defs for client-side metrics to
common/metrics/defs.go(this is going away soon). make service-clientsto generate wrappers inclient.- For frontend: add definitions to
service/frontend/redirection_interceptor.go. - Add your new methods to
service/<service>/configs/quotas.go. - Finally, implement your new methods in the RPC handler.