This repository contains the Protocol Buffer definitions for RoadRunner. These protos are used for external integrations (RPC) and internal communications between RoadRunner plugins.
Generated Go code lives in a separate repository: roadrunner-server/api-go.
roadrunner/api/ β RoadRunner proto definitions (jobs, kv, http, status, etc.)
third_party/api/ β Temporal API submodule (used as a proto dependency)
buf.yaml β Buf module configuration
buf.gen.yaml β Buf code generation configuration
Install a package from the api-go repository:
go get github.com/roadrunner-server/api-go/v5/build/<module>/<version>Example usage:
package foo
import (
jobsv1 "github.com/roadrunner-server/api-go/v5/build/jobs/v1"
)
func Push(in *jobsv1.PushRequest, out *jobsv1.Empty) error {
return nil
}Pushing to master in this repo triggers a GitHub Actions workflow in api-go that:
- Pulls the latest proto definitions via a git submodule.
- Runs
buf generateto produce Go code. - Commits and pushes the result.
You do not need to run code generation manually β CI handles it automatically.
Install Buf:
go install github.com/bufbuild/buf/cmd/buf@latestLint proto files:
buf lintGenerate code locally (output goes to build/):
buf generate