Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@
# Dependency directories (remove the comment below to include it)
# vendor/
.idea
.claude/settings.local.json
10 changes: 10 additions & 0 deletions buf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,16 @@ modules:
- path: roadrunner/api
- path: third_party/api
lint:
except:
# RR plugin RPCs share request/response types across methods (e.g. all
# LockService RPCs use LockRequest/LockResponse) and use domain-object
# names rather than the <Method>Request/<Method>Response convention.
- RPC_REQUEST_RESPONSE_UNIQUE
- RPC_REQUEST_STANDARD_NAME
- RPC_RESPONSE_STANDARD_NAME
# ServiceManager (service plugin RPC service) intentionally drops the
# "Service" suffix for readability.
- SERVICE_SUFFIX
Comment thread
rustatian marked this conversation as resolved.
ignore:
- third_party/api
- roadrunner/api/centrifugo/api
Expand Down
28 changes: 28 additions & 0 deletions roadrunner/api/applogger/v2/service.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
syntax = "proto3";

package applogger.v2;

import "applogger/v2/applogger.proto";

option go_package = "github.com/roadrunner-server/api-go/v6/applogger/v2;apploggerV2";
option php_metadata_namespace = "RoadRunner\\AppLogger\\DTO\\V2\\GPBMetadata";
option php_namespace = "RoadRunner\\AppLogger\\DTO\\V2";

// LogMessage carries a plain string log payload for the Error/Info/Warning/Debug/Log RPCs.
// Domain-specific so future fields (level, caller skip, etc.) can be added without breaking the wire.
message LogMessage {
string message = 1;
}

service AppLoggerService {
rpc Error(LogMessage) returns (LogResponse);
rpc ErrorWithContext(LogEntry) returns (LogResponse);
rpc Info(LogMessage) returns (LogResponse);
rpc InfoWithContext(LogEntry) returns (LogResponse);
rpc Warning(LogMessage) returns (LogResponse);
rpc WarningWithContext(LogEntry) returns (LogResponse);
rpc Debug(LogMessage) returns (LogResponse);
rpc DebugWithContext(LogEntry) returns (LogResponse);
rpc Log(LogMessage) returns (LogResponse);
rpc LogWithContext(LogEntry) returns (LogResponse);
}
9 changes: 0 additions & 9 deletions roadrunner/api/http/v2/service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,8 @@ option php_metadata_namespace = "RoadRunner\\HTTP\\DTO\\V2\\GPBMetadata";
option php_namespace = "RoadRunner\\HTTP\\DTO\\V2";

service HttpProxyService {
// buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE
// buf:lint:ignore RPC_REQUEST_STANDARD_NAME
// buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
rpc FetchRequest(google.protobuf.Empty) returns (HttpHandlerRequest);
// buf:lint:ignore RPC_REQUEST_STANDARD_NAME
// buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
rpc FetchRequests(HttpHandlerFetchRequest) returns (HttpHandlerRequests);
// buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE
rpc HttpHandler(HttpHandlerRequest) returns (HttpHandlerResponse);
// buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE
// buf:lint:ignore RPC_REQUEST_STANDARD_NAME
// buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
rpc HttpResponse(HttpHandlerResponse) returns (google.protobuf.Empty);
}
6 changes: 6 additions & 0 deletions roadrunner/api/jobs/v2/request.proto
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ message JobsHandlerRequest {
Job job = 1;
}

// PushRequest is the single-job variant of PushBatchRequest, used by JobsService.Push.
// Proto-shape enforces single-job semantics; no runtime guard needed.
message PushRequest {
Job job = 1;
}

message PushBatchRequest {
repeated Job jobs = 1;
// request headers
Expand Down
13 changes: 11 additions & 2 deletions roadrunner/api/jobs/v2/service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,22 @@ syntax = "proto3";

package jobs.v2;

import "google/protobuf/empty.proto";
import "jobs/v2/jobs.proto";
import "jobs/v2/request.proto";
import "jobs/v2/response.proto";

option go_package = "github.com/roadrunner-server/api-go/v6/jobs/v2;jobsV2";
option php_metadata_namespace = "RoadRunner\\Jobs\\DTO\\V2\\GPBMetadata";
option php_namespace = "RoadRunner\\Jobs\\DTO\\V2";

service JobsProxyService {
rpc JobsHandler(JobsHandlerRequest) returns (JobsHandlerResponse);
service JobsService {
rpc Push(PushRequest) returns (JobsHandlerResponse);
rpc PushBatch(PushBatchRequest) returns (JobsHandlerResponse);
rpc Pause(Pipelines) returns (JobsHandlerResponse);
rpc Resume(Pipelines) returns (JobsHandlerResponse);
rpc List(google.protobuf.Empty) returns (Pipelines);
rpc Declare(DeclareRequest) returns (JobsHandlerResponse);
rpc Destroy(Pipelines) returns (Pipelines);
rpc GetStats(google.protobuf.Empty) returns (Stats);
}
20 changes: 20 additions & 0 deletions roadrunner/api/kv/v2/service.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
syntax = "proto3";

package kv.v2;

import "kv/v2/request.proto";
import "kv/v2/response.proto";

option go_package = "github.com/roadrunner-server/api-go/v6/kv/v2;kvV2";
option php_metadata_namespace = "RoadRunner\\KV\\DTO\\V2\\GPBMetadata";
option php_namespace = "RoadRunner\\KV\\DTO\\V2";

service KvService {
rpc Has(KvRequest) returns (KvResponse);
rpc Set(KvRequest) returns (KvResponse);
rpc MGet(KvRequest) returns (KvResponse);
rpc MExpire(KvRequest) returns (KvResponse);
rpc TTL(KvRequest) returns (KvResponse);
rpc Delete(KvRequest) returns (KvResponse);
rpc Clear(KvRequest) returns (KvResponse);
}
18 changes: 18 additions & 0 deletions roadrunner/api/lock/v1/service.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
syntax = "proto3";

package lock.v1;

import "lock/v1/lock.proto";

option go_package = "github.com/roadrunner-server/api-go/v6/lock/v1;lockV1";
option php_metadata_namespace = "RoadRunner\\Lock\\DTO\\V1\\GPBMetadata";
option php_namespace = "RoadRunner\\Lock\\DTO\\V1";

service LockService {
rpc Lock(LockRequest) returns (LockResponse);
rpc LockRead(LockRequest) returns (LockResponse);
rpc Release(LockRequest) returns (LockResponse);
rpc ForceRelease(LockRequest) returns (LockResponse);
rpc Exists(LockRequest) returns (LockResponse);
rpc UpdateTTL(LockRequest) returns (LockResponse);
}
21 changes: 21 additions & 0 deletions roadrunner/api/service/v1/service_rpc.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
syntax = "proto3";

package service.v1;

import "service/v1/service.proto";

option go_package = "github.com/roadrunner-server/api-go/v6/service/v1;serviceV1";
option php_metadata_namespace = "RoadRunner\\Service\\DTO\\V1\\GPBMetadata";
option php_namespace = "RoadRunner\\Service\\DTO\\V1";

// ServiceManager exposes lifecycle and status RPCs for the service plugin.
// RPC method names are prefixed (CreateService, GetStatus, …) to avoid
// collisions with same-named messages in this package (Create, Status, …).
service ServiceManager {
rpc CreateService(Create) returns (Response);
rpc Terminate(Service) returns (Response);
rpc Restart(Service) returns (Response);
rpc GetStatus(Service) returns (Status);
rpc GetStatuses(Service) returns (Statuses);
rpc ListServices(Service) returns (List);
}
15 changes: 15 additions & 0 deletions roadrunner/api/status/v2/service.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
syntax = "proto3";

package status.v2;

import "status/v2/request.proto";
import "status/v2/response.proto";

option go_package = "github.com/roadrunner-server/api-go/v6/status/v2;statusV2";
option php_metadata_namespace = "RoadRunner\\Status\\DTO\\V2\\GPBMetadata";
option php_namespace = "RoadRunner\\Status\\DTO\\V2";

service StatusService {
rpc Status(StatusRequest) returns (StatusResponse);
rpc Ready(StatusRequest) returns (StatusResponse);
}