Add generated code

This commit is contained in:
justinsb 2023-02-11 09:40:11 -05:00
parent c67f895226
commit 79ca2600fb
3 changed files with 375 additions and 2 deletions

4
go.mod
View File

@ -54,6 +54,8 @@ require (
golang.org/x/sync v0.1.0
golang.org/x/sys v0.6.0
google.golang.org/api v0.112.0
google.golang.org/grpc v1.53.0
google.golang.org/protobuf v1.28.1
gopkg.in/gcfg.v1 v1.2.3
gopkg.in/inf.v0 v0.9.1
gopkg.in/square/go-jose.v2 v2.6.0
@ -213,8 +215,6 @@ require (
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488 // indirect
google.golang.org/grpc v1.53.0 // indirect
google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect

View File

@ -0,0 +1,253 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc (unknown)
// source: kops/bootstrap/v1/bootstrap.proto
package v1
import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
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 ChallengeRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// challenge_id is a random value (nonce) that the node generated and passed in its bootstrap request.
ChallengeId string `protobuf:"bytes,1,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
// challenge_random is a random value (nonce) that kops-controller generated, it is hashed into the response.
ChallengeRandom []byte `protobuf:"bytes,2,opt,name=challenge_random,json=challengeRandom,proto3" json:"challenge_random,omitempty"`
}
func (x *ChallengeRequest) Reset() {
*x = ChallengeRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_kops_bootstrap_v1_bootstrap_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChallengeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChallengeRequest) ProtoMessage() {}
func (x *ChallengeRequest) ProtoReflect() protoreflect.Message {
mi := &file_kops_bootstrap_v1_bootstrap_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 ChallengeRequest.ProtoReflect.Descriptor instead.
func (*ChallengeRequest) Descriptor() ([]byte, []int) {
return file_kops_bootstrap_v1_bootstrap_proto_rawDescGZIP(), []int{0}
}
func (x *ChallengeRequest) GetChallengeId() string {
if x != nil {
return x.ChallengeId
}
return ""
}
func (x *ChallengeRequest) GetChallengeRandom() []byte {
if x != nil {
return x.ChallengeRandom
}
return nil
}
type ChallengeResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// challenge_response combines the node nonce with the kops-controller nonce.
// The node nonce is passed in the bootstrap request.
// The kops-controller nonce is challenge_random in the ChallengeRequest.
// challenge_response is expected to be sha256(node-node + kops-controller-nonce)
ChallengeResponse []byte `protobuf:"bytes,1,opt,name=challenge_response,json=challengeResponse,proto3" json:"challenge_response,omitempty"`
}
func (x *ChallengeResponse) Reset() {
*x = ChallengeResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_kops_bootstrap_v1_bootstrap_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChallengeResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChallengeResponse) ProtoMessage() {}
func (x *ChallengeResponse) ProtoReflect() protoreflect.Message {
mi := &file_kops_bootstrap_v1_bootstrap_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 ChallengeResponse.ProtoReflect.Descriptor instead.
func (*ChallengeResponse) Descriptor() ([]byte, []int) {
return file_kops_bootstrap_v1_bootstrap_proto_rawDescGZIP(), []int{1}
}
func (x *ChallengeResponse) GetChallengeResponse() []byte {
if x != nil {
return x.ChallengeResponse
}
return nil
}
var File_kops_bootstrap_v1_bootstrap_proto protoreflect.FileDescriptor
var file_kops_bootstrap_v1_bootstrap_proto_rawDesc = []byte{
0x0a, 0x21, 0x6b, 0x6f, 0x70, 0x73, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70,
0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x11, 0x6b, 0x6f, 0x70, 0x73, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74,
0x72, 0x61, 0x70, 0x2e, 0x76, 0x31, 0x22, 0x60, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68,
0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x29, 0x0a,
0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f,
0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
0x67, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x22, 0x42, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6c,
0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a,
0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6c, 0x6c,
0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x6b, 0x0a, 0x0f,
0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
0x58, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x2e, 0x6b,
0x6f, 0x70, 0x73, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x31,
0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x24, 0x2e, 0x6b, 0x6f, 0x70, 0x73, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72,
0x61, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x25, 0x5a, 0x23, 0x6b, 0x38, 0x73,
0x2e, 0x69, 0x6f, 0x2f, 0x6b, 0x6f, 0x70, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b,
0x6f, 0x70, 0x73, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x76, 0x31,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_kops_bootstrap_v1_bootstrap_proto_rawDescOnce sync.Once
file_kops_bootstrap_v1_bootstrap_proto_rawDescData = file_kops_bootstrap_v1_bootstrap_proto_rawDesc
)
func file_kops_bootstrap_v1_bootstrap_proto_rawDescGZIP() []byte {
file_kops_bootstrap_v1_bootstrap_proto_rawDescOnce.Do(func() {
file_kops_bootstrap_v1_bootstrap_proto_rawDescData = protoimpl.X.CompressGZIP(file_kops_bootstrap_v1_bootstrap_proto_rawDescData)
})
return file_kops_bootstrap_v1_bootstrap_proto_rawDescData
}
var file_kops_bootstrap_v1_bootstrap_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_kops_bootstrap_v1_bootstrap_proto_goTypes = []interface{}{
(*ChallengeRequest)(nil), // 0: kops.bootstrap.v1.ChallengeRequest
(*ChallengeResponse)(nil), // 1: kops.bootstrap.v1.ChallengeResponse
}
var file_kops_bootstrap_v1_bootstrap_proto_depIdxs = []int32{
0, // 0: kops.bootstrap.v1.CallbackService.Challenge:input_type -> kops.bootstrap.v1.ChallengeRequest
1, // 1: kops.bootstrap.v1.CallbackService.Challenge:output_type -> kops.bootstrap.v1.ChallengeResponse
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_kops_bootstrap_v1_bootstrap_proto_init() }
func file_kops_bootstrap_v1_bootstrap_proto_init() {
if File_kops_bootstrap_v1_bootstrap_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_kops_bootstrap_v1_bootstrap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChallengeRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kops_bootstrap_v1_bootstrap_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChallengeResponse); 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_kops_bootstrap_v1_bootstrap_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_kops_bootstrap_v1_bootstrap_proto_goTypes,
DependencyIndexes: file_kops_bootstrap_v1_bootstrap_proto_depIdxs,
MessageInfos: file_kops_bootstrap_v1_bootstrap_proto_msgTypes,
}.Build()
File_kops_bootstrap_v1_bootstrap_proto = out.File
file_kops_bootstrap_v1_bootstrap_proto_rawDesc = nil
file_kops_bootstrap_v1_bootstrap_proto_goTypes = nil
file_kops_bootstrap_v1_bootstrap_proto_depIdxs = nil
}

View File

@ -0,0 +1,120 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
package v1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
// CallbackServiceClient is the client API for CallbackService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type CallbackServiceClient interface {
// Answers challenges to cross-check bootstrap requests.
Challenge(ctx context.Context, in *ChallengeRequest, opts ...grpc.CallOption) (*ChallengeResponse, error)
}
type callbackServiceClient struct {
cc grpc.ClientConnInterface
}
func NewCallbackServiceClient(cc grpc.ClientConnInterface) CallbackServiceClient {
return &callbackServiceClient{cc}
}
func (c *callbackServiceClient) Challenge(ctx context.Context, in *ChallengeRequest, opts ...grpc.CallOption) (*ChallengeResponse, error) {
out := new(ChallengeResponse)
err := c.cc.Invoke(ctx, "/kops.bootstrap.v1.CallbackService/Challenge", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// CallbackServiceServer is the server API for CallbackService service.
// All implementations must embed UnimplementedCallbackServiceServer
// for forward compatibility
type CallbackServiceServer interface {
// Answers challenges to cross-check bootstrap requests.
Challenge(context.Context, *ChallengeRequest) (*ChallengeResponse, error)
mustEmbedUnimplementedCallbackServiceServer()
}
// UnimplementedCallbackServiceServer must be embedded to have forward compatible implementations.
type UnimplementedCallbackServiceServer struct {
}
func (UnimplementedCallbackServiceServer) Challenge(context.Context, *ChallengeRequest) (*ChallengeResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Challenge not implemented")
}
func (UnimplementedCallbackServiceServer) mustEmbedUnimplementedCallbackServiceServer() {}
// UnsafeCallbackServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to CallbackServiceServer will
// result in compilation errors.
type UnsafeCallbackServiceServer interface {
mustEmbedUnimplementedCallbackServiceServer()
}
func RegisterCallbackServiceServer(s grpc.ServiceRegistrar, srv CallbackServiceServer) {
s.RegisterService(&CallbackService_ServiceDesc, srv)
}
func _CallbackService_Challenge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ChallengeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CallbackServiceServer).Challenge(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/kops.bootstrap.v1.CallbackService/Challenge",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CallbackServiceServer).Challenge(ctx, req.(*ChallengeRequest))
}
return interceptor(ctx, in, info, handler)
}
// CallbackService_ServiceDesc is the grpc.ServiceDesc for CallbackService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var CallbackService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "kops.bootstrap.v1.CallbackService",
HandlerType: (*CallbackServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Challenge",
Handler: _CallbackService_Challenge_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "kops/bootstrap/v1/bootstrap.proto",
}