Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 2.93 KB

File metadata and controls

87 lines (62 loc) · 2.93 KB

RoadRunner API

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.

Repository structure

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

Using generated Go packages

Install a package from the api-go repository:

go get github.com/roadrunner-server/api-go/v6/build/<module>/<version>

Example usage:

package foo

import (
	jobsv1 "github.com/roadrunner-server/api-go/v6/build/jobs/v1"
)

func Push(in *jobsv1.PushRequest, out *jobsv1.Empty) error {
	return nil
}

Auto-generation

Pushing to master in this repo triggers a GitHub Actions workflow in api-go that:

  1. Pulls the latest proto definitions via a git submodule.
  2. Runs buf generate to produce Go code.
  3. Commits and pushes the result.

You do not need to run code generation manually — CI handles it automatically.

Local development

Install Buf:

go install github.com/bufbuild/buf/cmd/buf@latest

Lint proto files:

buf lint

Generate code locally (output goes to build/):

buf generate

Centrifugal API