https://github.com/roadrunner-server/api
🔌 RoadRunner API, powered with protobuf. Contains plugins interfaces and proto api.
https://github.com/roadrunner-server/api
Last synced: 4 months ago
JSON representation
🔌 RoadRunner API, powered with protobuf. Contains plugins interfaces and proto api.
- Host: GitHub
- URL: https://github.com/roadrunner-server/api
- Owner: roadrunner-server
- License: mit
- Created: 2022-01-06T08:33:46.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-11-06T11:22:16.000Z (8 months ago)
- Last Synced: 2025-11-06T13:14:11.441Z (8 months ago)
- Language: Go
- Homepage:
- Size: 3.08 MB
- Stars: 14
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# RoadRunner API
This repository contains the **Protocol Buffer definitions** for [RoadRunner](https://roadrunner.dev). 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`](https://github.com/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`](https://github.com/roadrunner-server/api-go) repository:
```bash
go get github.com/roadrunner-server/api-go/v5/build//
```
Example usage:
```go
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`](https://github.com/roadrunner-server/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](https://buf.build/docs/installation):
```bash
go install github.com/bufbuild/buf/cmd/buf@latest
```
Lint proto files:
```bash
buf lint
```
Generate code locally (output goes to `build/`):
```bash
buf generate
```
## Centrifugal API
- [API](https://github.com/centrifugal/centrifugo/blob/master/internal/apiproto/api.proto)
- [Proxy](https://github.com/centrifugal/centrifugo/blob/master/internal/proxyproto/proxy.proto)