Refactor gRPC definitions into seperate repo

The protobuf files and the generated golang code has been moved into
git.ohea.xyz/cursorius/pipeline-api. The generated code is now imported
from that location. The version of the API has also been bumped to v2 to
avoid unsupported v1 modules in golang.
This commit is contained in:
2023-01-02 01:59:51 -07:00
parent fc117cef39
commit f95a5f9ae5
11 changed files with 16 additions and 778 deletions
+2 -1
View File
@@ -3,6 +3,7 @@ module git.ohea.xyz/cursorius/server
go 1.19 go 1.19
require ( require (
git.ohea.xyz/cursorius/pipeline-api/go/api/v2 v2.0.0-20230102084147-6d988866458e
git.ohea.xyz/golang/config v0.0.0-20220915224621-b9debd233173 git.ohea.xyz/golang/config v0.0.0-20220915224621-b9debd233173
github.com/bufbuild/connect-go v1.4.1 github.com/bufbuild/connect-go v1.4.1
github.com/docker/docker v20.10.22+incompatible github.com/docker/docker v20.10.22+incompatible
@@ -11,7 +12,6 @@ require (
github.com/google/uuid v1.3.0 github.com/google/uuid v1.3.0
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7
golang.org/x/net v0.2.0 golang.org/x/net v0.2.0
google.golang.org/protobuf v1.28.1
nhooyr.io/websocket v1.8.7 nhooyr.io/websocket v1.8.7
) )
@@ -50,6 +50,7 @@ require (
golang.org/x/sys v0.2.0 // indirect golang.org/x/sys v0.2.0 // indirect
golang.org/x/text v0.4.0 // indirect golang.org/x/text v0.4.0 // indirect
golang.org/x/tools v0.1.12 // indirect golang.org/x/tools v0.1.12 // indirect
google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
gotest.tools/v3 v3.4.0 // indirect gotest.tools/v3 v3.4.0 // indirect
+2
View File
@@ -78,6 +78,8 @@ contrib.go.opencensus.io/exporter/stackdriver v0.13.5/go.mod h1:aXENhDJ1Y4lIg4EU
contrib.go.opencensus.io/integrations/ocsql v0.1.4/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= contrib.go.opencensus.io/integrations/ocsql v0.1.4/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE=
contrib.go.opencensus.io/resource v0.1.1/go.mod h1:F361eGI91LCmW1I/Saf+rX0+OFcigGlFvXwEGEnkRLA= contrib.go.opencensus.io/resource v0.1.1/go.mod h1:F361eGI91LCmW1I/Saf+rX0+OFcigGlFvXwEGEnkRLA=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
git.ohea.xyz/cursorius/pipeline-api/go/api/v2 v2.0.0-20230102084147-6d988866458e h1:Rdxx7d/iYk+nazy0/Z0Pp1f9XKiJ6b/3nyiw3MXOfHg=
git.ohea.xyz/cursorius/pipeline-api/go/api/v2 v2.0.0-20230102084147-6d988866458e/go.mod h1:D7GGcFIH421mo6KuRaXXXmlXPwWeEsemTZG/BOZA/4o=
git.ohea.xyz/cursorius/webhooks/v6 v6.0.2-0.20221224221147-a2bdbf1756ed h1:gsK15m4Npow74+R6OfZKwwAg1sl7QWQCRXOeE2QLUco= git.ohea.xyz/cursorius/webhooks/v6 v6.0.2-0.20221224221147-a2bdbf1756ed h1:gsK15m4Npow74+R6OfZKwwAg1sl7QWQCRXOeE2QLUco=
git.ohea.xyz/cursorius/webhooks/v6 v6.0.2-0.20221224221147-a2bdbf1756ed/go.mod h1:64JKTmG3kupV+3+ZYJYPB/rGPEKw/diihhIj8lut4UA= git.ohea.xyz/cursorius/webhooks/v6 v6.0.2-0.20221224221147-a2bdbf1756ed/go.mod h1:64JKTmG3kupV+3+ZYJYPB/rGPEKw/diihhIj8lut4UA=
git.ohea.xyz/golang/config v0.0.0-20220915224621-b9debd233173 h1:dhq/W6sa5KkLHVBwwgcNIPWcO4YK2/ecFTTln2W+1n8= git.ohea.xyz/golang/config v0.0.0-20220915224621-b9debd233173 h1:dhq/W6sa5KkLHVBwwgcNIPWcO4YK2/ecFTTln2W+1n8=
+12 -12
View File
@@ -7,8 +7,8 @@ import (
"strings" "strings"
"sync" "sync"
apiv1 "git.ohea.xyz/cursorius/server/proto/gen/api/v1" apiv2 "git.ohea.xyz/cursorius/pipeline-api/go/api/v2"
"git.ohea.xyz/cursorius/server/proto/gen/api/v1/apiv1connect" "git.ohea.xyz/cursorius/pipeline-api/go/api/v2/apiv2connect"
"git.ohea.xyz/cursorius/server/runnermanager" "git.ohea.xyz/cursorius/server/runnermanager"
"github.com/bufbuild/connect-go" "github.com/bufbuild/connect-go"
"github.com/google/uuid" "github.com/google/uuid"
@@ -47,8 +47,8 @@ func (s *ApiServer) GetRunnerFromMap(uuid uuid) *RunnerWrapper {
func (s *ApiServer) GetRunner( func (s *ApiServer) GetRunner(
ctx context.Context, ctx context.Context,
req *connect.Request[apiv1.GetRunnerRequest], req *connect.Request[apiv2.GetRunnerRequest],
) (*connect.Response[apiv1.GetRunnerResponse], error) { ) (*connect.Response[apiv2.GetRunnerResponse], error) {
respChan := make(chan runnermanager.GetRunnerResponse) respChan := make(chan runnermanager.GetRunnerResponse)
s.getRunnerCh <- runnermanager.GetRunnerRequest{ s.getRunnerCh <- runnermanager.GetRunnerRequest{
@@ -76,17 +76,17 @@ func (s *ApiServer) GetRunner(
s.allocatedRunners[runnerUuid] = &RunnerWrapper{runner: response.Runner} s.allocatedRunners[runnerUuid] = &RunnerWrapper{runner: response.Runner}
s.allocatedRunnersMutex.Unlock() s.allocatedRunnersMutex.Unlock()
res := connect.NewResponse(&apiv1.GetRunnerResponse{ res := connect.NewResponse(&apiv2.GetRunnerResponse{
Id: runnerUuid.String(), Id: runnerUuid.String(),
}) })
res.Header().Set("GetRunner-Version", "v1") res.Header().Set("GetRunner-Version", "v2")
return res, nil return res, nil
} }
func (s *ApiServer) RunCommand( func (s *ApiServer) RunCommand(
ctx context.Context, ctx context.Context,
req *connect.Request[apiv1.RunCommandRequest], req *connect.Request[apiv2.RunCommandRequest],
) (*connect.Response[apiv1.RunCommandResponse], error) { ) (*connect.Response[apiv2.RunCommandResponse], error) {
uuid, err := uuid.Parse(req.Msg.Id) uuid, err := uuid.Parse(req.Msg.Id)
if err != nil { if err != nil {
@@ -101,12 +101,12 @@ func (s *ApiServer) RunCommand(
return nil, connect.NewError(connect.CodeInternal, fmt.Errorf("Could not run command")) return nil, connect.NewError(connect.CodeInternal, fmt.Errorf("Could not run command"))
} }
res := connect.NewResponse(&apiv1.RunCommandResponse{ res := connect.NewResponse(&apiv2.RunCommandResponse{
ReturnCode: return_code, ReturnCode: return_code,
Stdout: stdout, Stdout: stdout,
Stderr: stderr, Stderr: stderr,
}) })
res.Header().Set("RunCommand-Version", "v1") res.Header().Set("RunCommand-Version", "v2")
return res, nil return res, nil
} }
@@ -115,8 +115,8 @@ func CreateHandler(mux *http.ServeMux, getRunnerCh chan runnermanager.GetRunnerR
getRunnerCh: getRunnerCh, getRunnerCh: getRunnerCh,
allocatedRunners: make(map[uuid.UUID]*RunnerWrapper), allocatedRunners: make(map[uuid.UUID]*RunnerWrapper),
} }
path, handler := apiv1connect.NewGetRunnerServiceHandler(api_server) path, handler := apiv2connect.NewGetRunnerServiceHandler(api_server)
mux.Handle(path, handler) mux.Handle(path, handler)
path, handler = apiv1connect.NewRunCommandServiceHandler(api_server) path, handler = apiv2connect.NewRunCommandServiceHandler(api_server)
mux.Handle(path, handler) mux.Handle(path, handler)
} }
-22
View File
@@ -1,22 +0,0 @@
syntax = "proto3";
package api.v1;
option go_package = "git.ohea.xyz/cursorius/server/proto/gen/api/v1;apiv1";
message GetRunnerOptions {
bool clone_source = 2;
}
message GetRunnerRequest {
repeated string tags = 1;
GetRunnerOptions options = 2;
}
message GetRunnerResponse {
string id = 1;
}
service GetRunnerService {
rpc GetRunner(GetRunnerRequest) returns (GetRunnerResponse) {}
}
-20
View File
@@ -1,20 +0,0 @@
syntax = "proto3";
package api.v1;
option go_package = "git.ohea.xyz/cursorius/server/proto/gen/api/v1;apiv1";
message RunCommandRequest {
string id = 1;
string command = 2;
}
message RunCommandResponse {
int64 return_code = 1;
string stdout = 2;
string stderr = 3;
}
service RunCommandService {
rpc RunCommand(RunCommandRequest) returns (RunCommandResponse) {}
}
-8
View File
@@ -1,8 +0,0 @@
version: v1
plugins:
- name: go
out: gen
opt: paths=source_relative
- name: connect-go
out: gen
opt: paths=source_relative
-7
View File
@@ -1,7 +0,0 @@
version: v1
breaking:
use:
- FILE
lint:
use:
- DEFAULT
@@ -1,86 +0,0 @@
// Code generated by protoc-gen-connect-go. DO NOT EDIT.
//
// Source: api/v1/get_runner.proto
package apiv1connect
import (
context "context"
errors "errors"
v1 "git.ohea.xyz/cursorius/server/proto/gen/api/v1"
connect_go "github.com/bufbuild/connect-go"
http "net/http"
strings "strings"
)
// This is a compile-time assertion to ensure that this generated file and the connect package are
// compatible. If you get a compiler error that this constant is not defined, this code was
// generated with a version of connect newer than the one compiled into your binary. You can fix the
// problem by either regenerating this code with an older version of connect or updating the connect
// version compiled into your binary.
const _ = connect_go.IsAtLeastVersion0_1_0
const (
// GetRunnerServiceName is the fully-qualified name of the GetRunnerService service.
GetRunnerServiceName = "api.v1.GetRunnerService"
)
// GetRunnerServiceClient is a client for the api.v1.GetRunnerService service.
type GetRunnerServiceClient interface {
GetRunner(context.Context, *connect_go.Request[v1.GetRunnerRequest]) (*connect_go.Response[v1.GetRunnerResponse], error)
}
// NewGetRunnerServiceClient constructs a client for the api.v1.GetRunnerService service. By
// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses,
// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the
// connect.WithGRPC() or connect.WithGRPCWeb() options.
//
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
// http://api.acme.com or https://acme.com/grpc).
func NewGetRunnerServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) GetRunnerServiceClient {
baseURL = strings.TrimRight(baseURL, "/")
return &getRunnerServiceClient{
getRunner: connect_go.NewClient[v1.GetRunnerRequest, v1.GetRunnerResponse](
httpClient,
baseURL+"/api.v1.GetRunnerService/GetRunner",
opts...,
),
}
}
// getRunnerServiceClient implements GetRunnerServiceClient.
type getRunnerServiceClient struct {
getRunner *connect_go.Client[v1.GetRunnerRequest, v1.GetRunnerResponse]
}
// GetRunner calls api.v1.GetRunnerService.GetRunner.
func (c *getRunnerServiceClient) GetRunner(ctx context.Context, req *connect_go.Request[v1.GetRunnerRequest]) (*connect_go.Response[v1.GetRunnerResponse], error) {
return c.getRunner.CallUnary(ctx, req)
}
// GetRunnerServiceHandler is an implementation of the api.v1.GetRunnerService service.
type GetRunnerServiceHandler interface {
GetRunner(context.Context, *connect_go.Request[v1.GetRunnerRequest]) (*connect_go.Response[v1.GetRunnerResponse], error)
}
// NewGetRunnerServiceHandler builds an HTTP handler from the service implementation. It returns the
// path on which to mount the handler and the handler itself.
//
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
// and JSON codecs. They also support gzip compression.
func NewGetRunnerServiceHandler(svc GetRunnerServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler) {
mux := http.NewServeMux()
mux.Handle("/api.v1.GetRunnerService/GetRunner", connect_go.NewUnaryHandler(
"/api.v1.GetRunnerService/GetRunner",
svc.GetRunner,
opts...,
))
return "/api.v1.GetRunnerService/", mux
}
// UnimplementedGetRunnerServiceHandler returns CodeUnimplemented from all methods.
type UnimplementedGetRunnerServiceHandler struct{}
func (UnimplementedGetRunnerServiceHandler) GetRunner(context.Context, *connect_go.Request[v1.GetRunnerRequest]) (*connect_go.Response[v1.GetRunnerResponse], error) {
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("api.v1.GetRunnerService.GetRunner is not implemented"))
}
@@ -1,86 +0,0 @@
// Code generated by protoc-gen-connect-go. DO NOT EDIT.
//
// Source: api/v1/run_command.proto
package apiv1connect
import (
context "context"
errors "errors"
v1 "git.ohea.xyz/cursorius/server/proto/gen/api/v1"
connect_go "github.com/bufbuild/connect-go"
http "net/http"
strings "strings"
)
// This is a compile-time assertion to ensure that this generated file and the connect package are
// compatible. If you get a compiler error that this constant is not defined, this code was
// generated with a version of connect newer than the one compiled into your binary. You can fix the
// problem by either regenerating this code with an older version of connect or updating the connect
// version compiled into your binary.
const _ = connect_go.IsAtLeastVersion0_1_0
const (
// RunCommandServiceName is the fully-qualified name of the RunCommandService service.
RunCommandServiceName = "api.v1.RunCommandService"
)
// RunCommandServiceClient is a client for the api.v1.RunCommandService service.
type RunCommandServiceClient interface {
RunCommand(context.Context, *connect_go.Request[v1.RunCommandRequest]) (*connect_go.Response[v1.RunCommandResponse], error)
}
// NewRunCommandServiceClient constructs a client for the api.v1.RunCommandService service. By
// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses,
// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the
// connect.WithGRPC() or connect.WithGRPCWeb() options.
//
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
// http://api.acme.com or https://acme.com/grpc).
func NewRunCommandServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) RunCommandServiceClient {
baseURL = strings.TrimRight(baseURL, "/")
return &runCommandServiceClient{
runCommand: connect_go.NewClient[v1.RunCommandRequest, v1.RunCommandResponse](
httpClient,
baseURL+"/api.v1.RunCommandService/RunCommand",
opts...,
),
}
}
// runCommandServiceClient implements RunCommandServiceClient.
type runCommandServiceClient struct {
runCommand *connect_go.Client[v1.RunCommandRequest, v1.RunCommandResponse]
}
// RunCommand calls api.v1.RunCommandService.RunCommand.
func (c *runCommandServiceClient) RunCommand(ctx context.Context, req *connect_go.Request[v1.RunCommandRequest]) (*connect_go.Response[v1.RunCommandResponse], error) {
return c.runCommand.CallUnary(ctx, req)
}
// RunCommandServiceHandler is an implementation of the api.v1.RunCommandService service.
type RunCommandServiceHandler interface {
RunCommand(context.Context, *connect_go.Request[v1.RunCommandRequest]) (*connect_go.Response[v1.RunCommandResponse], error)
}
// NewRunCommandServiceHandler builds an HTTP handler from the service implementation. It returns
// the path on which to mount the handler and the handler itself.
//
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
// and JSON codecs. They also support gzip compression.
func NewRunCommandServiceHandler(svc RunCommandServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler) {
mux := http.NewServeMux()
mux.Handle("/api.v1.RunCommandService/RunCommand", connect_go.NewUnaryHandler(
"/api.v1.RunCommandService/RunCommand",
svc.RunCommand,
opts...,
))
return "/api.v1.RunCommandService/", mux
}
// UnimplementedRunCommandServiceHandler returns CodeUnimplemented from all methods.
type UnimplementedRunCommandServiceHandler struct{}
func (UnimplementedRunCommandServiceHandler) RunCommand(context.Context, *connect_go.Request[v1.RunCommandRequest]) (*connect_go.Response[v1.RunCommandResponse], error) {
return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("api.v1.RunCommandService.RunCommand is not implemented"))
}
-291
View File
@@ -1,291 +0,0 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc (unknown)
// source: api/v1/get_runner.proto
package apiv1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type GetRunnerOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CloneSource bool `protobuf:"varint,2,opt,name=clone_source,json=cloneSource,proto3" json:"clone_source,omitempty"`
}
func (x *GetRunnerOptions) Reset() {
*x = GetRunnerOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_get_runner_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetRunnerOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetRunnerOptions) ProtoMessage() {}
func (x *GetRunnerOptions) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_get_runner_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetRunnerOptions.ProtoReflect.Descriptor instead.
func (*GetRunnerOptions) Descriptor() ([]byte, []int) {
return file_api_v1_get_runner_proto_rawDescGZIP(), []int{0}
}
func (x *GetRunnerOptions) GetCloneSource() bool {
if x != nil {
return x.CloneSource
}
return false
}
type GetRunnerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tags []string `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"`
Options *GetRunnerOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
}
func (x *GetRunnerRequest) Reset() {
*x = GetRunnerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_get_runner_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetRunnerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetRunnerRequest) ProtoMessage() {}
func (x *GetRunnerRequest) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_get_runner_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetRunnerRequest.ProtoReflect.Descriptor instead.
func (*GetRunnerRequest) Descriptor() ([]byte, []int) {
return file_api_v1_get_runner_proto_rawDescGZIP(), []int{1}
}
func (x *GetRunnerRequest) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
func (x *GetRunnerRequest) GetOptions() *GetRunnerOptions {
if x != nil {
return x.Options
}
return nil
}
type GetRunnerResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *GetRunnerResponse) Reset() {
*x = GetRunnerResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_get_runner_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetRunnerResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetRunnerResponse) ProtoMessage() {}
func (x *GetRunnerResponse) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_get_runner_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetRunnerResponse.ProtoReflect.Descriptor instead.
func (*GetRunnerResponse) Descriptor() ([]byte, []int) {
return file_api_v1_get_runner_proto_rawDescGZIP(), []int{2}
}
func (x *GetRunnerResponse) GetId() string {
if x != nil {
return x.Id
}
return ""
}
var File_api_v1_get_runner_proto protoreflect.FileDescriptor
var file_api_v1_get_runner_proto_rawDesc = []byte{
0x0a, 0x17, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6e,
0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61, 0x70, 0x69, 0x2e, 0x76,
0x31, 0x22, 0x35, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6c, 0x6f,
0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52,
0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04,
0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
0x12, 0x32, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75,
0x6e, 0x6e, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x22, 0x23, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65,
0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x32, 0x56, 0x0a, 0x10, 0x47, 0x65, 0x74,
0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x42, 0x0a,
0x09, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x00, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x2e, 0x6f, 0x68, 0x65, 0x61, 0x2e, 0x78, 0x79,
0x7a, 0x2f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x69, 0x75, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x76, 0x31, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
file_api_v1_get_runner_proto_rawDescOnce sync.Once
file_api_v1_get_runner_proto_rawDescData = file_api_v1_get_runner_proto_rawDesc
)
func file_api_v1_get_runner_proto_rawDescGZIP() []byte {
file_api_v1_get_runner_proto_rawDescOnce.Do(func() {
file_api_v1_get_runner_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_v1_get_runner_proto_rawDescData)
})
return file_api_v1_get_runner_proto_rawDescData
}
var file_api_v1_get_runner_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_api_v1_get_runner_proto_goTypes = []interface{}{
(*GetRunnerOptions)(nil), // 0: api.v1.GetRunnerOptions
(*GetRunnerRequest)(nil), // 1: api.v1.GetRunnerRequest
(*GetRunnerResponse)(nil), // 2: api.v1.GetRunnerResponse
}
var file_api_v1_get_runner_proto_depIdxs = []int32{
0, // 0: api.v1.GetRunnerRequest.options:type_name -> api.v1.GetRunnerOptions
1, // 1: api.v1.GetRunnerService.GetRunner:input_type -> api.v1.GetRunnerRequest
2, // 2: api.v1.GetRunnerService.GetRunner:output_type -> api.v1.GetRunnerResponse
2, // [2:3] is the sub-list for method output_type
1, // [1:2] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_api_v1_get_runner_proto_init() }
func file_api_v1_get_runner_proto_init() {
if File_api_v1_get_runner_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_api_v1_get_runner_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetRunnerOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_v1_get_runner_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetRunnerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_v1_get_runner_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetRunnerResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_api_v1_get_runner_proto_rawDesc,
NumEnums: 0,
NumMessages: 3,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_api_v1_get_runner_proto_goTypes,
DependencyIndexes: file_api_v1_get_runner_proto_depIdxs,
MessageInfos: file_api_v1_get_runner_proto_msgTypes,
}.Build()
File_api_v1_get_runner_proto = out.File
file_api_v1_get_runner_proto_rawDesc = nil
file_api_v1_get_runner_proto_goTypes = nil
file_api_v1_get_runner_proto_depIdxs = nil
}
-245
View File
@@ -1,245 +0,0 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc (unknown)
// source: api/v1/run_command.proto
package apiv1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type RunCommandRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Command string `protobuf:"bytes,2,opt,name=command,proto3" json:"command,omitempty"`
}
func (x *RunCommandRequest) Reset() {
*x = RunCommandRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_run_command_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RunCommandRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RunCommandRequest) ProtoMessage() {}
func (x *RunCommandRequest) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_run_command_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RunCommandRequest.ProtoReflect.Descriptor instead.
func (*RunCommandRequest) Descriptor() ([]byte, []int) {
return file_api_v1_run_command_proto_rawDescGZIP(), []int{0}
}
func (x *RunCommandRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *RunCommandRequest) GetCommand() string {
if x != nil {
return x.Command
}
return ""
}
type RunCommandResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReturnCode int64 `protobuf:"varint,1,opt,name=return_code,json=returnCode,proto3" json:"return_code,omitempty"`
Stdout string `protobuf:"bytes,2,opt,name=stdout,proto3" json:"stdout,omitempty"`
Stderr string `protobuf:"bytes,3,opt,name=stderr,proto3" json:"stderr,omitempty"`
}
func (x *RunCommandResponse) Reset() {
*x = RunCommandResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_run_command_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RunCommandResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RunCommandResponse) ProtoMessage() {}
func (x *RunCommandResponse) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_run_command_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RunCommandResponse.ProtoReflect.Descriptor instead.
func (*RunCommandResponse) Descriptor() ([]byte, []int) {
return file_api_v1_run_command_proto_rawDescGZIP(), []int{1}
}
func (x *RunCommandResponse) GetReturnCode() int64 {
if x != nil {
return x.ReturnCode
}
return 0
}
func (x *RunCommandResponse) GetStdout() string {
if x != nil {
return x.Stdout
}
return ""
}
func (x *RunCommandResponse) GetStderr() string {
if x != nil {
return x.Stderr
}
return ""
}
var File_api_v1_run_command_proto protoreflect.FileDescriptor
var file_api_v1_run_command_proto_rawDesc = []byte{
0x0a, 0x18, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6d,
0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61, 0x70, 0x69, 0x2e,
0x76, 0x31, 0x22, 0x3d, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
0x64, 0x22, 0x65, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72,
0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65,
0x74, 0x75, 0x72, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x6f,
0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x64, 0x6f, 0x75, 0x74,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x32, 0x5a, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x43,
0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x45, 0x0a,
0x0a, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x19, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e,
0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x22, 0x00, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x2e, 0x6f, 0x68, 0x65, 0x61,
0x2e, 0x78, 0x79, 0x7a, 0x2f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x69, 0x75, 0x73, 0x2f, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_api_v1_run_command_proto_rawDescOnce sync.Once
file_api_v1_run_command_proto_rawDescData = file_api_v1_run_command_proto_rawDesc
)
func file_api_v1_run_command_proto_rawDescGZIP() []byte {
file_api_v1_run_command_proto_rawDescOnce.Do(func() {
file_api_v1_run_command_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_v1_run_command_proto_rawDescData)
})
return file_api_v1_run_command_proto_rawDescData
}
var file_api_v1_run_command_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_api_v1_run_command_proto_goTypes = []interface{}{
(*RunCommandRequest)(nil), // 0: api.v1.RunCommandRequest
(*RunCommandResponse)(nil), // 1: api.v1.RunCommandResponse
}
var file_api_v1_run_command_proto_depIdxs = []int32{
0, // 0: api.v1.RunCommandService.RunCommand:input_type -> api.v1.RunCommandRequest
1, // 1: api.v1.RunCommandService.RunCommand:output_type -> api.v1.RunCommandResponse
1, // [1:2] is the sub-list for method output_type
0, // [0:1] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_api_v1_run_command_proto_init() }
func file_api_v1_run_command_proto_init() {
if File_api_v1_run_command_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_api_v1_run_command_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RunCommandRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_v1_run_command_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RunCommandResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_api_v1_run_command_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_api_v1_run_command_proto_goTypes,
DependencyIndexes: file_api_v1_run_command_proto_depIdxs,
MessageInfos: file_api_v1_run_command_proto_msgTypes,
}.Build()
File_api_v1_run_command_proto = out.File
file_api_v1_run_command_proto_rawDesc = nil
file_api_v1_run_command_proto_goTypes = nil
file_api_v1_run_command_proto_depIdxs = nil
}