Skip to content

πŸ”Œ RoadRunner API, powered with protobuf. Contains plugins interfaces and proto api.

License

Notifications You must be signed in to change notification settings

roadrunner-server/api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

345 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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/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
}

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

About

πŸ”Œ RoadRunner API, powered with protobuf. Contains plugins interfaces and proto api.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors