diff --git a/.github/workflows/buf.yaml b/.github/workflows/buf.yaml new file mode 100644 index 000000000..e0f559e1e --- /dev/null +++ b/.github/workflows/buf.yaml @@ -0,0 +1,28 @@ +name: Buf + +on: + push: + branches: + - main + + pull_request: + branches: + - main + paths: + - "proto/**" + +jobs: + buf: + name: Run buf + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - uses: bufbuild/buf-action@v1 + with: + github_token: ${{ github.token }} \ No newline at end of file diff --git a/buf.gen.yaml b/buf.gen.yaml new file mode 100644 index 000000000..b1e3cef85 --- /dev/null +++ b/buf.gen.yaml @@ -0,0 +1,21 @@ +version: v2 +managed: + enabled: true + override: + - file_option: go_package_prefix + value: github.com/distribworks/dkron/v4/types + +inputs: + - directory: ./proto +plugins: + #- remote: buf.build/protocolbuffers/go:v1.31.0 + - local: protoc-gen-go + out: types + opt: + - paths=source_relative + #- remote: buf.build/grpc/go:v1.5.1 + - local: protoc-gen-go-grpc + out: types + opt: + - paths=source_relative + diff --git a/proto/dkron.proto b/proto/dkron.proto index e74224d6f..e6c2001a1 100644 --- a/proto/dkron.proto +++ b/proto/dkron.proto @@ -2,10 +2,11 @@ syntax = "proto3"; package types; -option go_package = "github.com/distribworks/dkron/plugin/types"; -import "google/protobuf/timestamp.proto"; import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "github.com/distribworks/dkron/plugin/types"; message Job { string name = 1; @@ -54,7 +55,7 @@ message DeleteJobRequest { string job_name = 1; } -message DeleteJobResponse{ +message DeleteJobResponse { Job job = 1; } @@ -68,10 +69,10 @@ message GetJobResponse { message Execution { string job_name = 1; - bool success = 2; - bytes output = 3; - string node_name = 4; - int64 group = 5; + bool success = 2; + bytes output = 3; + string node_name = 4; + int64 group = 5; uint32 attempt = 6; google.protobuf.Timestamp started_at = 7; google.protobuf.Timestamp finished_at = 8; @@ -104,16 +105,16 @@ message ToggleJobResponse { message RaftServer { string id = 1; - string node = 2; - string address = 3; - bool leader = 4; - bool voter = 5; - string raft_protocol = 6; + string node = 2; + string address = 3; + bool leader = 4; + bool voter = 5; + string raft_protocol = 6; } message RaftGetConfigurationResponse { repeated RaftServer servers = 1; - uint64 index = 2; + uint64 index = 2; } message RaftRemovePeerByIDRequest { @@ -134,17 +135,17 @@ message GetActiveExecutionsResponse { } service Dkron { - rpc GetJob (GetJobRequest) returns (GetJobResponse); - rpc ExecutionDone (ExecutionDoneRequest) returns (ExecutionDoneResponse); - rpc Leave (google.protobuf.Empty) returns (google.protobuf.Empty); - rpc SetJob (SetJobRequest) returns (SetJobResponse); - rpc DeleteJob (DeleteJobRequest) returns (DeleteJobResponse); - rpc RunJob (RunJobRequest) returns (RunJobResponse); - rpc ToggleJob (ToggleJobRequest) returns (ToggleJobResponse); - rpc RaftGetConfiguration (google.protobuf.Empty) returns (RaftGetConfigurationResponse); - rpc RaftRemovePeerByID (RaftRemovePeerByIDRequest) returns (google.protobuf.Empty); - rpc GetActiveExecutions (google.protobuf.Empty) returns (GetActiveExecutionsResponse); - rpc SetExecution (Execution) returns (google.protobuf.Empty); + rpc GetJob(GetJobRequest) returns (GetJobResponse); + rpc ExecutionDone(ExecutionDoneRequest) returns (ExecutionDoneResponse); + rpc Leave(google.protobuf.Empty) returns (google.protobuf.Empty); + rpc SetJob(SetJobRequest) returns (SetJobResponse); + rpc DeleteJob(DeleteJobRequest) returns (DeleteJobResponse); + rpc RunJob(RunJobRequest) returns (RunJobResponse); + rpc ToggleJob(ToggleJobRequest) returns (ToggleJobResponse); + rpc RaftGetConfiguration(google.protobuf.Empty) returns (RaftGetConfigurationResponse); + rpc RaftRemovePeerByID(RaftRemovePeerByIDRequest) returns (google.protobuf.Empty); + rpc GetActiveExecutions(google.protobuf.Empty) returns (GetActiveExecutionsResponse); + rpc SetExecution(Execution) returns (google.protobuf.Empty); } message AgentRunRequest { @@ -153,5 +154,5 @@ message AgentRunRequest { } service Agent { - rpc AgentRun (AgentRunRequest) returns (stream AgentRunStream); + rpc AgentRun(AgentRunRequest) returns (stream AgentRunStream); } diff --git a/proto/executor.proto b/proto/executor.proto index 0ab22db7c..3858aa283 100644 --- a/proto/executor.proto +++ b/proto/executor.proto @@ -2,6 +2,7 @@ syntax = "proto3"; package types; + option go_package = "github.com/distribworks/dkron/plugin/types"; message ExecuteRequest { @@ -11,12 +12,12 @@ message ExecuteRequest { } message ExecuteResponse { - bytes output = 1; - string error = 2; + bytes output = 1; + string error = 2; } service Executor { - rpc Execute (ExecuteRequest) returns (ExecuteResponse); + rpc Execute(ExecuteRequest) returns (ExecuteResponse); } message StatusUpdateRequest { diff --git a/proto/pro.proto b/proto/pro.proto index 0bde058cd..7bd1a00ce 100644 --- a/proto/pro.proto +++ b/proto/pro.proto @@ -2,96 +2,98 @@ syntax = "proto3"; package types; -option go_package = "github.com/distribworks/dkron/types"; + import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; +option go_package = "github.com/distribworks/dkron/types"; + // Policy is a policy definition message Policy { - string name = 1; - string rules = 2; + string name = 1; + string rules = 2; } message ACLPolicyUpsertRequest { - Policy policy = 1; + Policy policy = 1; } message ACLPolicyUpsertResponse { - bool success = 1; + bool success = 1; } message ACLPolicyDeleteRequest { - string name = 1; + string name = 1; } message ACLPolicyDeleteResponse { - bool success = 1; + bool success = 1; } message ACLPolicyInfoRequest { - string name = 1; + string name = 1; } message ACLPolicyInfoResponse { - Policy policy = 1; + Policy policy = 1; } message ACLPolicyListResponse { - repeated Policy policies = 1; + repeated Policy policies = 1; } enum TokenType { - management = 0; - client = 1; + management = 0; + client = 1; } // Token is the representation of a token message Token { - string accessor = 1; - string secret = 2; - string name = 3; - TokenType type = 4; - google.protobuf.Timestamp create_time = 5; - google.protobuf.Timestamp expire_time = 6; - repeated string policies = 7; + string accessor = 1; + string secret = 2; + string name = 3; + TokenType type = 4; + google.protobuf.Timestamp create_time = 5; + google.protobuf.Timestamp expire_time = 6; + repeated string policies = 7; } message ACLTokenUpsertRequest { - Token token = 1; + Token token = 1; } message ACLTokenUpsertResponse { - bool success = 1; + bool success = 1; } message ACLTokenDeleteRequest { - string accessor = 1; + string accessor = 1; } message ACLTokenDeleteResponse { - bool success = 1; + bool success = 1; } message ACLTokenInfoRequest { - string accessor = 1; + string accessor = 1; } message ACLTokenInfoResponse { - Token token = 1; + Token token = 1; } message ACLTokenListResponse { - repeated Token tokens = 1; + repeated Token tokens = 1; } // DkronPro is the DkronPro service definition service DkronPro { - rpc ACLPolicyUpsert (ACLPolicyUpsertRequest) returns (ACLPolicyUpsertResponse); - rpc ACLPolicyDelete (ACLPolicyDeleteRequest) returns (ACLPolicyDeleteResponse); - rpc ACLPolicyInfo (ACLPolicyInfoRequest) returns (ACLPolicyInfoResponse); - rpc ACLPolicyList (google.protobuf.Empty) returns (ACLPolicyListResponse); - rpc ACLTokenUpsert (ACLTokenUpsertRequest) returns (ACLTokenUpsertResponse); - rpc ACLTokenDelete (ACLTokenDeleteRequest) returns (ACLTokenDeleteResponse); - rpc ACLTokenInfo (ACLTokenInfoRequest) returns (ACLTokenInfoResponse); - rpc ACLTokenList (google.protobuf.Empty) returns (ACLTokenListResponse); + rpc ACLPolicyUpsert(ACLPolicyUpsertRequest) returns (ACLPolicyUpsertResponse); + rpc ACLPolicyDelete(ACLPolicyDeleteRequest) returns (ACLPolicyDeleteResponse); + rpc ACLPolicyInfo(ACLPolicyInfoRequest) returns (ACLPolicyInfoResponse); + rpc ACLPolicyList(google.protobuf.Empty) returns (ACLPolicyListResponse); + rpc ACLTokenUpsert(ACLTokenUpsertRequest) returns (ACLTokenUpsertResponse); + rpc ACLTokenDelete(ACLTokenDeleteRequest) returns (ACLTokenDeleteResponse); + rpc ACLTokenInfo(ACLTokenInfoRequest) returns (ACLTokenInfoResponse); + rpc ACLTokenList(google.protobuf.Empty) returns (ACLTokenListResponse); } diff --git a/types/dkron.pb.go b/types/dkron.pb.go index 9b961fa37..a0c0066f3 100644 --- a/types/dkron.pb.go +++ b/types/dkron.pb.go @@ -1,9 +1,9 @@ -// protoc -I proto/ --go_out=plugin/types --go_opt=paths=source_relative --go-grpc_out=plugin/types --go-grpc_opt=paths=source_relative dkron.proto +// protoc -I proto/ --go_out=types --go_opt=paths=source_relative --go-grpc_out=types --go-grpc_opt=paths=source_relative dkron.proto // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.19.3 +// protoc-gen-go v1.26.0 +// protoc (unknown) // source: dkron.proto package types @@ -1429,10 +1429,10 @@ var File_dkron_proto protoreflect.FileDescriptor var file_dkron_proto_rawDesc = []byte{ 0x0a, 0x0b, 0x64, 0x6b, 0x72, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x79, 0x70, 0x65, 0x73, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x0a, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, @@ -1668,10 +1668,14 @@ var file_dkron_proto_rawDesc = []byte{ 0x12, 0x16, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, - 0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x64, 0x6b, 0x72, - 0x6f, 0x6e, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x42, 0x73, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x42, 0x0a, + 0x44, 0x6b, 0x72, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x26, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x64, 0x6b, 0x72, 0x6f, 0x6e, 0x2f, 0x76, 0x34, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0xa2, 0x02, 0x03, 0x54, 0x58, 0x58, 0xaa, 0x02, 0x05, 0x54, 0x79, 0x70, + 0x65, 0x73, 0xca, 0x02, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0xe2, 0x02, 0x11, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/types/dkron_grpc.pb.go b/types/dkron_grpc.pb.go index 39c90be51..6a01ac206 100644 --- a/types/dkron_grpc.pb.go +++ b/types/dkron_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.3 +// - protoc (unknown) // source: dkron.proto package types diff --git a/types/executor.pb.go b/types/executor.pb.go index a4b0584cf..f1668af32 100644 --- a/types/executor.pb.go +++ b/types/executor.pb.go @@ -2,8 +2,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.19.3 +// protoc-gen-go v1.26.0 +// protoc (unknown) // source: executor.proto package types @@ -279,10 +279,15 @@ var file_executor_proto_rawDesc = []byte{ 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x2f, 0x64, 0x6b, 0x72, 0x6f, 0x6e, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x76, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x42, 0x0d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x64, 0x6b, 0x72, + 0x6f, 0x6e, 0x2f, 0x76, 0x34, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0xa2, 0x02, 0x03, 0x54, 0x58, + 0x58, 0xaa, 0x02, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0xca, 0x02, 0x05, 0x54, 0x79, 0x70, 0x65, + 0x73, 0xe2, 0x02, 0x11, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/types/executor_grpc.pb.go b/types/executor_grpc.pb.go index e6bcffed7..8e91f2f97 100644 --- a/types/executor_grpc.pb.go +++ b/types/executor_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.3 +// - protoc (unknown) // source: executor.proto package types diff --git a/types/pro.pb.go b/types/pro.pb.go index 53c6712a6..0c26a81b6 100644 --- a/types/pro.pb.go +++ b/types/pro.pb.go @@ -2,8 +2,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.12 +// protoc-gen-go v1.26.0 +// protoc (unknown) // source: pro.proto package types @@ -998,10 +998,15 @@ var file_pro_proto_rawDesc = []byte{ 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x43, 0x4c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x25, 0x5a, 0x23, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x64, 0x6b, 0x72, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x71, 0x0a, 0x09, 0x63, + 0x6f, 0x6d, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x42, 0x08, 0x50, 0x72, 0x6f, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x64, 0x6b, + 0x72, 0x6f, 0x6e, 0x2f, 0x76, 0x34, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0xa2, 0x02, 0x03, 0x54, + 0x58, 0x58, 0xaa, 0x02, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0xca, 0x02, 0x05, 0x54, 0x79, 0x70, + 0x65, 0x73, 0xe2, 0x02, 0x11, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/types/pro_grpc.pb.go b/types/pro_grpc.pb.go index 69575f711..7d92adc84 100644 --- a/types/pro_grpc.pb.go +++ b/types/pro_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v3.21.12 +// - protoc (unknown) // source: pro.proto package types