diff --git a/Makefile b/Makefile index 79571b63..008b6f49 100644 --- a/Makefile +++ b/Makefile @@ -11,9 +11,12 @@ gen-protoc: mkdir -p capten/agent/internal/pb/captenpluginspb mkdir -p server/pkg/pb/agentpb mkdir -p server/pkg/pb/captenpluginspb + mkdir -p server/pkg/pb/pluginstorepb mkdir -p capten/agent/internal/pb/captensdkpb mkdir -p capten/common-pkg/vault-cred/vaultcredpb mkdir -p capten/common-pkg/capten-sdk/captensdkpb + mkdir -p capten/common-pkg/vault-cred/vaultcredpb + mkdir -p capten/common-pkg/cluster-plugins/clusterpluginspb cd proto && protoc --go_out=../server/pkg/pb/serverpb/ --go_opt=paths=source_relative \ --go-grpc_out=../server/pkg/pb/serverpb --go-grpc_opt=paths=source_relative \ @@ -55,6 +58,14 @@ gen-protoc: --go-grpc_out=../capten/common-pkg/vault-cred/vaultcredpb --go-grpc_opt=paths=source_relative \ ./vault_cred.proto + cd proto && protoc --go_out=../server/pkg/pb/pluginstorepb --go_opt=paths=source_relative \ + --go-grpc_out=../server/pkg/pb/pluginstorepb --go-grpc_opt=paths=source_relative \ + ./plugin_store.proto + + cd proto && protoc --go_out=../capten/common-pkg/cluster-plugins/clusterpluginspb --go_opt=paths=source_relative \ + --go-grpc_out=../capten/common-pkg/cluster-plugins/clusterpluginspb --go-grpc_opt=paths=source_relative \ + ./cluster_plugins.proto + docker-build-server: # The prefix for server to changed either as server or intelops-kad-server docker build --platform=linux/amd64 -f dockerfiles/server/Dockerfile -t ${PREFIX}-${SERVER_APP_NAME}:${BUILD} . diff --git a/capten/agent/internal/api/agent.go b/capten/agent/internal/api/agent.go index 54d94e5e..038589f6 100644 --- a/capten/agent/internal/api/agent.go +++ b/capten/agent/internal/api/agent.go @@ -11,6 +11,7 @@ import ( "github.com/kube-tarian/kad/capten/agent/internal/pb/captenpluginspb" "github.com/kube-tarian/kad/capten/agent/internal/pb/captensdkpb" "github.com/kube-tarian/kad/capten/agent/internal/temporalclient" + "github.com/kube-tarian/kad/capten/common-pkg/cluster-plugins/clusterpluginspb" ) var _ agentpb.AgentServer = &Agent{} @@ -19,6 +20,7 @@ type Agent struct { agentpb.UnimplementedAgentServer captenpluginspb.UnimplementedCaptenPluginsServer captensdkpb.UnimplementedCaptenSdkServer + clusterpluginspb.UnimplementedClusterPluginsServer tc *temporalclient.Client as *captenstore.Store log logging.Logger diff --git a/capten/agent/internal/api/cluster_plugin_apis.go b/capten/agent/internal/api/cluster_plugin_apis.go new file mode 100644 index 00000000..eb8b2b1b --- /dev/null +++ b/capten/agent/internal/api/cluster_plugin_apis.go @@ -0,0 +1,25 @@ +package api + +import ( + "context" + + "github.com/kube-tarian/kad/capten/common-pkg/cluster-plugins/clusterpluginspb" +) + +func (a *Agent) GetClusterPlugins(ctx context.Context, request *clusterpluginspb.GetClusterPluginsRequest) ( + *clusterpluginspb.GetClusterPluginsResponse, error) { + return &clusterpluginspb.GetClusterPluginsResponse{ + Status: clusterpluginspb.StatusCode_OK}, nil +} + +func (a *Agent) DeployClusterPlugin(ctx context.Context, request *clusterpluginspb.DeployClusterPluginRequest) ( + *clusterpluginspb.DeployClusterPluginResponse, error) { + return &clusterpluginspb.DeployClusterPluginResponse{ + Status: clusterpluginspb.StatusCode_OK}, nil +} + +func (a *Agent) UnDeployClusterPlugin(ctx context.Context, request *clusterpluginspb.UnDeployClusterPluginRequest) ( + *clusterpluginspb.UnDeployClusterPluginResponse, error) { + return &clusterpluginspb.UnDeployClusterPluginResponse{ + Status: clusterpluginspb.StatusCode_OK}, nil +} diff --git a/capten/agent/internal/pb/agentpb/agent.pb.go b/capten/agent/internal/pb/agentpb/agent.pb.go index afc54ca6..f9e70baa 100644 --- a/capten/agent/internal/pb/agentpb/agent.pb.go +++ b/capten/agent/internal/pb/agentpb/agent.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.30.0 // protoc v3.12.4 // source: agent.proto diff --git a/capten/agent/internal/pb/captenpluginspb/capten_plugins.pb.go b/capten/agent/internal/pb/captenpluginspb/capten_plugins.pb.go index 5408956c..80d492b9 100644 --- a/capten/agent/internal/pb/captenpluginspb/capten_plugins.pb.go +++ b/capten/agent/internal/pb/captenpluginspb/capten_plugins.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.30.0 // protoc v3.12.4 // source: capten_plugins.proto diff --git a/capten/agent/internal/pb/captensdkpb/capten_sdk.pb.go b/capten/agent/internal/pb/captensdkpb/capten_sdk.pb.go index f4c2dadc..c833dfd4 100644 --- a/capten/agent/internal/pb/captensdkpb/capten_sdk.pb.go +++ b/capten/agent/internal/pb/captensdkpb/capten_sdk.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.30.0 // protoc v3.12.4 // source: capten_sdk.proto diff --git a/capten/common-pkg/capten-sdk/captensdkpb/capten_sdk.pb.go b/capten/common-pkg/capten-sdk/captensdkpb/capten_sdk.pb.go index f4c2dadc..c833dfd4 100644 --- a/capten/common-pkg/capten-sdk/captensdkpb/capten_sdk.pb.go +++ b/capten/common-pkg/capten-sdk/captensdkpb/capten_sdk.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.30.0 // protoc v3.12.4 // source: capten_sdk.proto diff --git a/capten/common-pkg/cluster-plugins/clusterpluginspb/cluster_plugins.pb.go b/capten/common-pkg/cluster-plugins/clusterpluginspb/cluster_plugins.pb.go new file mode 100644 index 00000000..05e5a877 --- /dev/null +++ b/capten/common-pkg/cluster-plugins/clusterpluginspb/cluster_plugins.pb.go @@ -0,0 +1,960 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v3.12.4 +// source: cluster_plugins.proto + +package clusterpluginspb + +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 StatusCode int32 + +const ( + StatusCode_OK StatusCode = 0 + StatusCode_INTERNRAL_ERROR StatusCode = 1 + StatusCode_INVALID_ARGUMENT StatusCode = 2 + StatusCode_NOT_FOUND StatusCode = 3 +) + +// Enum value maps for StatusCode. +var ( + StatusCode_name = map[int32]string{ + 0: "OK", + 1: "INTERNRAL_ERROR", + 2: "INVALID_ARGUMENT", + 3: "NOT_FOUND", + } + StatusCode_value = map[string]int32{ + "OK": 0, + "INTERNRAL_ERROR": 1, + "INVALID_ARGUMENT": 2, + "NOT_FOUND": 3, + } +) + +func (x StatusCode) Enum() *StatusCode { + p := new(StatusCode) + *p = x + return p +} + +func (x StatusCode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StatusCode) Descriptor() protoreflect.EnumDescriptor { + return file_cluster_plugins_proto_enumTypes[0].Descriptor() +} + +func (StatusCode) Type() protoreflect.EnumType { + return &file_cluster_plugins_proto_enumTypes[0] +} + +func (x StatusCode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StatusCode.Descriptor instead. +func (StatusCode) EnumDescriptor() ([]byte, []int) { + return file_cluster_plugins_proto_rawDescGZIP(), []int{0} +} + +type StoreType int32 + +const ( + StoreType_CENTRAL_CAPTEN_STORE StoreType = 0 + StoreType_LOCAL_CAPTEN_STORE StoreType = 1 +) + +// Enum value maps for StoreType. +var ( + StoreType_name = map[int32]string{ + 0: "CENTRAL_CAPTEN_STORE", + 1: "LOCAL_CAPTEN_STORE", + } + StoreType_value = map[string]int32{ + "CENTRAL_CAPTEN_STORE": 0, + "LOCAL_CAPTEN_STORE": 1, + } +) + +func (x StoreType) Enum() *StoreType { + p := new(StoreType) + *p = x + return p +} + +func (x StoreType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StoreType) Descriptor() protoreflect.EnumDescriptor { + return file_cluster_plugins_proto_enumTypes[1].Descriptor() +} + +func (StoreType) Type() protoreflect.EnumType { + return &file_cluster_plugins_proto_enumTypes[1] +} + +func (x StoreType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StoreType.Descriptor instead. +func (StoreType) EnumDescriptor() ([]byte, []int) { + return file_cluster_plugins_proto_rawDescGZIP(), []int{1} +} + +type Plugin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoreType StoreType `protobuf:"varint,1,opt,name=storeType,proto3,enum=clusterpluginspb.StoreType" json:"storeType,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=pluginName,proto3" json:"pluginName,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Category string `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"` + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + Icon []byte `protobuf:"bytes,6,opt,name=icon,proto3" json:"icon,omitempty"` + ChartName string `protobuf:"bytes,7,opt,name=chartName,proto3" json:"chartName,omitempty"` + ChartRepo string `protobuf:"bytes,8,opt,name=chartRepo,proto3" json:"chartRepo,omitempty"` + DefaultNamespace string `protobuf:"bytes,9,opt,name=defaultNamespace,proto3" json:"defaultNamespace,omitempty"` + PrivilegedNamespace bool `protobuf:"varint,10,opt,name=privilegedNamespace,proto3" json:"privilegedNamespace,omitempty"` + PluginEndpoint string `protobuf:"bytes,11,opt,name=pluginEndpoint,proto3" json:"pluginEndpoint,omitempty"` + Capabilities []string `protobuf:"bytes,12,rep,name=capabilities,proto3" json:"capabilities,omitempty"` + Values []byte `protobuf:"bytes,13,opt,name=values,proto3" json:"values,omitempty"` +} + +func (x *Plugin) Reset() { + *x = Plugin{} + if protoimpl.UnsafeEnabled { + mi := &file_cluster_plugins_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Plugin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Plugin) ProtoMessage() {} + +func (x *Plugin) ProtoReflect() protoreflect.Message { + mi := &file_cluster_plugins_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 Plugin.ProtoReflect.Descriptor instead. +func (*Plugin) Descriptor() ([]byte, []int) { + return file_cluster_plugins_proto_rawDescGZIP(), []int{0} +} + +func (x *Plugin) GetStoreType() StoreType { + if x != nil { + return x.StoreType + } + return StoreType_CENTRAL_CAPTEN_STORE +} + +func (x *Plugin) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *Plugin) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Plugin) GetCategory() string { + if x != nil { + return x.Category + } + return "" +} + +func (x *Plugin) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *Plugin) GetIcon() []byte { + if x != nil { + return x.Icon + } + return nil +} + +func (x *Plugin) GetChartName() string { + if x != nil { + return x.ChartName + } + return "" +} + +func (x *Plugin) GetChartRepo() string { + if x != nil { + return x.ChartRepo + } + return "" +} + +func (x *Plugin) GetDefaultNamespace() string { + if x != nil { + return x.DefaultNamespace + } + return "" +} + +func (x *Plugin) GetPrivilegedNamespace() bool { + if x != nil { + return x.PrivilegedNamespace + } + return false +} + +func (x *Plugin) GetPluginEndpoint() string { + if x != nil { + return x.PluginEndpoint + } + return "" +} + +func (x *Plugin) GetCapabilities() []string { + if x != nil { + return x.Capabilities + } + return nil +} + +func (x *Plugin) GetValues() []byte { + if x != nil { + return x.Values + } + return nil +} + +type DeployClusterPluginRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Plugin *Plugin `protobuf:"bytes,1,opt,name=plugin,proto3" json:"plugin,omitempty"` +} + +func (x *DeployClusterPluginRequest) Reset() { + *x = DeployClusterPluginRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cluster_plugins_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployClusterPluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployClusterPluginRequest) ProtoMessage() {} + +func (x *DeployClusterPluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_cluster_plugins_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 DeployClusterPluginRequest.ProtoReflect.Descriptor instead. +func (*DeployClusterPluginRequest) Descriptor() ([]byte, []int) { + return file_cluster_plugins_proto_rawDescGZIP(), []int{1} +} + +func (x *DeployClusterPluginRequest) GetPlugin() *Plugin { + if x != nil { + return x.Plugin + } + return nil +} + +type DeployClusterPluginResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=clusterpluginspb.StatusCode" json:"status,omitempty"` + StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` +} + +func (x *DeployClusterPluginResponse) Reset() { + *x = DeployClusterPluginResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cluster_plugins_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployClusterPluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployClusterPluginResponse) ProtoMessage() {} + +func (x *DeployClusterPluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_cluster_plugins_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 DeployClusterPluginResponse.ProtoReflect.Descriptor instead. +func (*DeployClusterPluginResponse) Descriptor() ([]byte, []int) { + return file_cluster_plugins_proto_rawDescGZIP(), []int{2} +} + +func (x *DeployClusterPluginResponse) GetStatus() StatusCode { + if x != nil { + return x.Status + } + return StatusCode_OK +} + +func (x *DeployClusterPluginResponse) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +type UnDeployClusterPluginRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoreType StoreType `protobuf:"varint,1,opt,name=storeType,proto3,enum=clusterpluginspb.StoreType" json:"storeType,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=pluginName,proto3" json:"pluginName,omitempty"` +} + +func (x *UnDeployClusterPluginRequest) Reset() { + *x = UnDeployClusterPluginRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cluster_plugins_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnDeployClusterPluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnDeployClusterPluginRequest) ProtoMessage() {} + +func (x *UnDeployClusterPluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_cluster_plugins_proto_msgTypes[3] + 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 UnDeployClusterPluginRequest.ProtoReflect.Descriptor instead. +func (*UnDeployClusterPluginRequest) Descriptor() ([]byte, []int) { + return file_cluster_plugins_proto_rawDescGZIP(), []int{3} +} + +func (x *UnDeployClusterPluginRequest) GetStoreType() StoreType { + if x != nil { + return x.StoreType + } + return StoreType_CENTRAL_CAPTEN_STORE +} + +func (x *UnDeployClusterPluginRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +type UnDeployClusterPluginResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=clusterpluginspb.StatusCode" json:"status,omitempty"` + StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` +} + +func (x *UnDeployClusterPluginResponse) Reset() { + *x = UnDeployClusterPluginResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cluster_plugins_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnDeployClusterPluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnDeployClusterPluginResponse) ProtoMessage() {} + +func (x *UnDeployClusterPluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_cluster_plugins_proto_msgTypes[4] + 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 UnDeployClusterPluginResponse.ProtoReflect.Descriptor instead. +func (*UnDeployClusterPluginResponse) Descriptor() ([]byte, []int) { + return file_cluster_plugins_proto_rawDescGZIP(), []int{4} +} + +func (x *UnDeployClusterPluginResponse) GetStatus() StatusCode { + if x != nil { + return x.Status + } + return StatusCode_OK +} + +func (x *UnDeployClusterPluginResponse) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +type ClusterPlugin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoreType StoreType `protobuf:"varint,1,opt,name=storeType,proto3,enum=clusterpluginspb.StoreType" json:"storeType,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=pluginName,proto3" json:"pluginName,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Category string `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"` + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + Icon []byte `protobuf:"bytes,6,opt,name=icon,proto3" json:"icon,omitempty"` +} + +func (x *ClusterPlugin) Reset() { + *x = ClusterPlugin{} + if protoimpl.UnsafeEnabled { + mi := &file_cluster_plugins_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterPlugin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterPlugin) ProtoMessage() {} + +func (x *ClusterPlugin) ProtoReflect() protoreflect.Message { + mi := &file_cluster_plugins_proto_msgTypes[5] + 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 ClusterPlugin.ProtoReflect.Descriptor instead. +func (*ClusterPlugin) Descriptor() ([]byte, []int) { + return file_cluster_plugins_proto_rawDescGZIP(), []int{5} +} + +func (x *ClusterPlugin) GetStoreType() StoreType { + if x != nil { + return x.StoreType + } + return StoreType_CENTRAL_CAPTEN_STORE +} + +func (x *ClusterPlugin) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *ClusterPlugin) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ClusterPlugin) GetCategory() string { + if x != nil { + return x.Category + } + return "" +} + +func (x *ClusterPlugin) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *ClusterPlugin) GetIcon() []byte { + if x != nil { + return x.Icon + } + return nil +} + +type GetClusterPluginsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetClusterPluginsRequest) Reset() { + *x = GetClusterPluginsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cluster_plugins_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetClusterPluginsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetClusterPluginsRequest) ProtoMessage() {} + +func (x *GetClusterPluginsRequest) ProtoReflect() protoreflect.Message { + mi := &file_cluster_plugins_proto_msgTypes[6] + 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 GetClusterPluginsRequest.ProtoReflect.Descriptor instead. +func (*GetClusterPluginsRequest) Descriptor() ([]byte, []int) { + return file_cluster_plugins_proto_rawDescGZIP(), []int{6} +} + +type GetClusterPluginsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=clusterpluginspb.StatusCode" json:"status,omitempty"` + StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` + Plugins []*ClusterPlugin `protobuf:"bytes,3,rep,name=plugins,proto3" json:"plugins,omitempty"` +} + +func (x *GetClusterPluginsResponse) Reset() { + *x = GetClusterPluginsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cluster_plugins_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetClusterPluginsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetClusterPluginsResponse) ProtoMessage() {} + +func (x *GetClusterPluginsResponse) ProtoReflect() protoreflect.Message { + mi := &file_cluster_plugins_proto_msgTypes[7] + 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 GetClusterPluginsResponse.ProtoReflect.Descriptor instead. +func (*GetClusterPluginsResponse) Descriptor() ([]byte, []int) { + return file_cluster_plugins_proto_rawDescGZIP(), []int{7} +} + +func (x *GetClusterPluginsResponse) GetStatus() StatusCode { + if x != nil { + return x.Status + } + return StatusCode_OK +} + +func (x *GetClusterPluginsResponse) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *GetClusterPluginsResponse) GetPlugins() []*ClusterPlugin { + if x != nil { + return x.Plugins + } + return nil +} + +var File_cluster_plugins_proto protoreflect.FileDescriptor + +var file_cluster_plugins_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x22, 0xcd, 0x03, 0x0a, 0x06, 0x50, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, + 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x13, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x22, 0x0a, + 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4e, 0x0a, 0x1a, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x52, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x22, 0x79, 0x0a, 0x1b, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, + 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x22, 0x79, 0x0a, 0x1c, 0x55, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x7b, 0x0a, 0x1d, 0x55, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xd6, 0x01, 0x0a, + 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x39, + 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1c, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x07, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x2a, 0x4e, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x52, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x01, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, + 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, + 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x2a, 0x3d, 0x0a, 0x09, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x45, 0x4e, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x43, + 0x41, 0x50, 0x54, 0x45, 0x4e, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, + 0x12, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x43, 0x41, 0x50, 0x54, 0x45, 0x4e, 0x5f, 0x53, 0x54, + 0x4f, 0x52, 0x45, 0x10, 0x01, 0x32, 0xf2, 0x02, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x74, 0x0a, 0x13, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, + 0x2c, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x70, 0x62, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, + 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, + 0x0a, 0x15, 0x55, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, + 0x2a, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x13, 0x5a, 0x11, 0x2f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cluster_plugins_proto_rawDescOnce sync.Once + file_cluster_plugins_proto_rawDescData = file_cluster_plugins_proto_rawDesc +) + +func file_cluster_plugins_proto_rawDescGZIP() []byte { + file_cluster_plugins_proto_rawDescOnce.Do(func() { + file_cluster_plugins_proto_rawDescData = protoimpl.X.CompressGZIP(file_cluster_plugins_proto_rawDescData) + }) + return file_cluster_plugins_proto_rawDescData +} + +var file_cluster_plugins_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_cluster_plugins_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_cluster_plugins_proto_goTypes = []interface{}{ + (StatusCode)(0), // 0: clusterpluginspb.StatusCode + (StoreType)(0), // 1: clusterpluginspb.StoreType + (*Plugin)(nil), // 2: clusterpluginspb.Plugin + (*DeployClusterPluginRequest)(nil), // 3: clusterpluginspb.DeployClusterPluginRequest + (*DeployClusterPluginResponse)(nil), // 4: clusterpluginspb.DeployClusterPluginResponse + (*UnDeployClusterPluginRequest)(nil), // 5: clusterpluginspb.UnDeployClusterPluginRequest + (*UnDeployClusterPluginResponse)(nil), // 6: clusterpluginspb.UnDeployClusterPluginResponse + (*ClusterPlugin)(nil), // 7: clusterpluginspb.ClusterPlugin + (*GetClusterPluginsRequest)(nil), // 8: clusterpluginspb.GetClusterPluginsRequest + (*GetClusterPluginsResponse)(nil), // 9: clusterpluginspb.GetClusterPluginsResponse +} +var file_cluster_plugins_proto_depIdxs = []int32{ + 1, // 0: clusterpluginspb.Plugin.storeType:type_name -> clusterpluginspb.StoreType + 2, // 1: clusterpluginspb.DeployClusterPluginRequest.plugin:type_name -> clusterpluginspb.Plugin + 0, // 2: clusterpluginspb.DeployClusterPluginResponse.status:type_name -> clusterpluginspb.StatusCode + 1, // 3: clusterpluginspb.UnDeployClusterPluginRequest.storeType:type_name -> clusterpluginspb.StoreType + 0, // 4: clusterpluginspb.UnDeployClusterPluginResponse.status:type_name -> clusterpluginspb.StatusCode + 1, // 5: clusterpluginspb.ClusterPlugin.storeType:type_name -> clusterpluginspb.StoreType + 0, // 6: clusterpluginspb.GetClusterPluginsResponse.status:type_name -> clusterpluginspb.StatusCode + 7, // 7: clusterpluginspb.GetClusterPluginsResponse.plugins:type_name -> clusterpluginspb.ClusterPlugin + 3, // 8: clusterpluginspb.ClusterPlugins.DeployClusterPlugin:input_type -> clusterpluginspb.DeployClusterPluginRequest + 5, // 9: clusterpluginspb.ClusterPlugins.UnDeployClusterPlugin:input_type -> clusterpluginspb.UnDeployClusterPluginRequest + 8, // 10: clusterpluginspb.ClusterPlugins.GetClusterPlugins:input_type -> clusterpluginspb.GetClusterPluginsRequest + 4, // 11: clusterpluginspb.ClusterPlugins.DeployClusterPlugin:output_type -> clusterpluginspb.DeployClusterPluginResponse + 6, // 12: clusterpluginspb.ClusterPlugins.UnDeployClusterPlugin:output_type -> clusterpluginspb.UnDeployClusterPluginResponse + 9, // 13: clusterpluginspb.ClusterPlugins.GetClusterPlugins:output_type -> clusterpluginspb.GetClusterPluginsResponse + 11, // [11:14] is the sub-list for method output_type + 8, // [8:11] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_cluster_plugins_proto_init() } +func file_cluster_plugins_proto_init() { + if File_cluster_plugins_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cluster_plugins_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Plugin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cluster_plugins_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployClusterPluginRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cluster_plugins_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployClusterPluginResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cluster_plugins_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnDeployClusterPluginRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cluster_plugins_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnDeployClusterPluginResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cluster_plugins_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterPlugin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cluster_plugins_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetClusterPluginsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cluster_plugins_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetClusterPluginsResponse); 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_cluster_plugins_proto_rawDesc, + NumEnums: 2, + NumMessages: 8, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_cluster_plugins_proto_goTypes, + DependencyIndexes: file_cluster_plugins_proto_depIdxs, + EnumInfos: file_cluster_plugins_proto_enumTypes, + MessageInfos: file_cluster_plugins_proto_msgTypes, + }.Build() + File_cluster_plugins_proto = out.File + file_cluster_plugins_proto_rawDesc = nil + file_cluster_plugins_proto_goTypes = nil + file_cluster_plugins_proto_depIdxs = nil +} diff --git a/capten/common-pkg/cluster-plugins/clusterpluginspb/cluster_plugins_grpc.pb.go b/capten/common-pkg/cluster-plugins/clusterpluginspb/cluster_plugins_grpc.pb.go new file mode 100644 index 00000000..f984c037 --- /dev/null +++ b/capten/common-pkg/cluster-plugins/clusterpluginspb/cluster_plugins_grpc.pb.go @@ -0,0 +1,183 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v3.12.4 +// source: cluster_plugins.proto + +package clusterpluginspb + +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 + +const ( + ClusterPlugins_DeployClusterPlugin_FullMethodName = "/clusterpluginspb.ClusterPlugins/DeployClusterPlugin" + ClusterPlugins_UnDeployClusterPlugin_FullMethodName = "/clusterpluginspb.ClusterPlugins/UnDeployClusterPlugin" + ClusterPlugins_GetClusterPlugins_FullMethodName = "/clusterpluginspb.ClusterPlugins/GetClusterPlugins" +) + +// ClusterPluginsClient is the client API for ClusterPlugins 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 ClusterPluginsClient interface { + DeployClusterPlugin(ctx context.Context, in *DeployClusterPluginRequest, opts ...grpc.CallOption) (*DeployClusterPluginResponse, error) + UnDeployClusterPlugin(ctx context.Context, in *UnDeployClusterPluginRequest, opts ...grpc.CallOption) (*UnDeployClusterPluginResponse, error) + GetClusterPlugins(ctx context.Context, in *GetClusterPluginsRequest, opts ...grpc.CallOption) (*GetClusterPluginsResponse, error) +} + +type clusterPluginsClient struct { + cc grpc.ClientConnInterface +} + +func NewClusterPluginsClient(cc grpc.ClientConnInterface) ClusterPluginsClient { + return &clusterPluginsClient{cc} +} + +func (c *clusterPluginsClient) DeployClusterPlugin(ctx context.Context, in *DeployClusterPluginRequest, opts ...grpc.CallOption) (*DeployClusterPluginResponse, error) { + out := new(DeployClusterPluginResponse) + err := c.cc.Invoke(ctx, ClusterPlugins_DeployClusterPlugin_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *clusterPluginsClient) UnDeployClusterPlugin(ctx context.Context, in *UnDeployClusterPluginRequest, opts ...grpc.CallOption) (*UnDeployClusterPluginResponse, error) { + out := new(UnDeployClusterPluginResponse) + err := c.cc.Invoke(ctx, ClusterPlugins_UnDeployClusterPlugin_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *clusterPluginsClient) GetClusterPlugins(ctx context.Context, in *GetClusterPluginsRequest, opts ...grpc.CallOption) (*GetClusterPluginsResponse, error) { + out := new(GetClusterPluginsResponse) + err := c.cc.Invoke(ctx, ClusterPlugins_GetClusterPlugins_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ClusterPluginsServer is the server API for ClusterPlugins service. +// All implementations must embed UnimplementedClusterPluginsServer +// for forward compatibility +type ClusterPluginsServer interface { + DeployClusterPlugin(context.Context, *DeployClusterPluginRequest) (*DeployClusterPluginResponse, error) + UnDeployClusterPlugin(context.Context, *UnDeployClusterPluginRequest) (*UnDeployClusterPluginResponse, error) + GetClusterPlugins(context.Context, *GetClusterPluginsRequest) (*GetClusterPluginsResponse, error) + mustEmbedUnimplementedClusterPluginsServer() +} + +// UnimplementedClusterPluginsServer must be embedded to have forward compatible implementations. +type UnimplementedClusterPluginsServer struct { +} + +func (UnimplementedClusterPluginsServer) DeployClusterPlugin(context.Context, *DeployClusterPluginRequest) (*DeployClusterPluginResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeployClusterPlugin not implemented") +} +func (UnimplementedClusterPluginsServer) UnDeployClusterPlugin(context.Context, *UnDeployClusterPluginRequest) (*UnDeployClusterPluginResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnDeployClusterPlugin not implemented") +} +func (UnimplementedClusterPluginsServer) GetClusterPlugins(context.Context, *GetClusterPluginsRequest) (*GetClusterPluginsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetClusterPlugins not implemented") +} +func (UnimplementedClusterPluginsServer) mustEmbedUnimplementedClusterPluginsServer() {} + +// UnsafeClusterPluginsServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ClusterPluginsServer will +// result in compilation errors. +type UnsafeClusterPluginsServer interface { + mustEmbedUnimplementedClusterPluginsServer() +} + +func RegisterClusterPluginsServer(s grpc.ServiceRegistrar, srv ClusterPluginsServer) { + s.RegisterService(&ClusterPlugins_ServiceDesc, srv) +} + +func _ClusterPlugins_DeployClusterPlugin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeployClusterPluginRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ClusterPluginsServer).DeployClusterPlugin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ClusterPlugins_DeployClusterPlugin_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ClusterPluginsServer).DeployClusterPlugin(ctx, req.(*DeployClusterPluginRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ClusterPlugins_UnDeployClusterPlugin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnDeployClusterPluginRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ClusterPluginsServer).UnDeployClusterPlugin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ClusterPlugins_UnDeployClusterPlugin_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ClusterPluginsServer).UnDeployClusterPlugin(ctx, req.(*UnDeployClusterPluginRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ClusterPlugins_GetClusterPlugins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetClusterPluginsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ClusterPluginsServer).GetClusterPlugins(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ClusterPlugins_GetClusterPlugins_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ClusterPluginsServer).GetClusterPlugins(ctx, req.(*GetClusterPluginsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ClusterPlugins_ServiceDesc is the grpc.ServiceDesc for ClusterPlugins service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ClusterPlugins_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "clusterpluginspb.ClusterPlugins", + HandlerType: (*ClusterPluginsServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "DeployClusterPlugin", + Handler: _ClusterPlugins_DeployClusterPlugin_Handler, + }, + { + MethodName: "UnDeployClusterPlugin", + Handler: _ClusterPlugins_UnDeployClusterPlugin_Handler, + }, + { + MethodName: "GetClusterPlugins", + Handler: _ClusterPlugins_GetClusterPlugins_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cluster_plugins.proto", +} diff --git a/capten/common-pkg/vault-cred/vaultcredpb/vault_cred.pb.go b/capten/common-pkg/vault-cred/vaultcredpb/vault_cred.pb.go index 4abfdae4..57a56e31 100644 --- a/capten/common-pkg/vault-cred/vaultcredpb/vault_cred.pb.go +++ b/capten/common-pkg/vault-cred/vaultcredpb/vault_cred.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.30.0 // protoc v3.12.4 // source: vault_cred.proto diff --git a/capten/go.mod b/capten/go.mod index 3cd5f7ec..39c513c7 100644 --- a/capten/go.mod +++ b/capten/go.mod @@ -15,8 +15,10 @@ require ( github.com/kube-tarian/kad/integrator v0.0.0-20230520105805-73f03d9dcfcc github.com/ory/client-go v1.1.49 github.com/pkg/errors v0.9.1 + github.com/sigstore/sigstore v1.8.2 github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.8.4 + github.com/theupdateframework/go-tuf v0.7.0 go.temporal.io/api v1.13.0 go.temporal.io/sdk v1.19.0 go.uber.org/atomic v1.9.0 @@ -42,7 +44,6 @@ require ( github.com/cloudflare/circl v1.3.3 // indirect github.com/coreos/go-oidc/v3 v3.9.0 // indirect github.com/go-redis/cache/v9 v9.0.0 // indirect - github.com/go-test/deep v1.1.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/google/go-github/v53 v53.0.0 // indirect @@ -57,16 +58,19 @@ require ( github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.1 // indirect github.com/json-iterator/go v1.1.12 // indirect + github.com/letsencrypt/boulder v0.0.0-20230907030200-6d76a0f91e1e // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect - github.com/poy/onpar v1.1.2 // indirect github.com/redis/go-redis/v9 v9.1.0 // indirect + github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect github.com/skeema/knownhosts v1.2.1 // indirect + github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 // indirect go.opentelemetry.io/otel/metric v1.17.0 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/tools v0.13.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect + gopkg.in/go-jose/go-jose.v2 v2.6.1 // indirect oras.land/oras-go/v2 v2.2.0 // indirect ) @@ -114,7 +118,7 @@ require ( github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/go-git/go-git/v5 v5.11.0 github.com/go-gorp/gorp/v3 v3.0.2 // indirect - github.com/go-jose/go-jose/v3 v3.0.1 // indirect + github.com/go-jose/go-jose/v3 v3.0.2 // indirect github.com/go-logr/logr v1.2.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect @@ -218,12 +222,12 @@ require ( go.opentelemetry.io/otel v1.17.0 // indirect go.opentelemetry.io/otel/trace v1.17.0 // indirect go.starlark.net v0.0.0-20220928063852-5fccb4daaf6d // indirect - golang.org/x/crypto v0.18.0 // indirect - golang.org/x/net v0.20.0 // indirect - golang.org/x/oauth2 v0.16.0 // indirect + golang.org/x/crypto v0.20.0 // indirect + golang.org/x/net v0.21.0 // indirect + golang.org/x/oauth2 v0.17.0 // indirect golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect + golang.org/x/sys v0.17.0 // indirect + golang.org/x/term v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect google.golang.org/appengine v1.6.8 // indirect diff --git a/capten/go.sum b/capten/go.sum index 199c7048..9b1125af 100644 --- a/capten/go.sum +++ b/capten/go.sum @@ -464,7 +464,6 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= -github.com/a8m/expect v1.0.0/go.mod h1:4IwSCMumY49ScypDnjNbYEjgVeqy1/U2cEs3Lat96eA= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -855,7 +854,6 @@ github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a/go.mod h1:7Ga40eg github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= @@ -909,8 +907,8 @@ github.com/go-gorp/gorp/v3 v3.0.2 h1:ULqJXIekoqMx29FI5ekXXFoH1dT2Vc8UhnRzBg+Emz4 github.com/go-gorp/gorp/v3 v3.0.2/go.mod h1:BJ3q1ejpV8cVALtcXvXaXyTOlMmJhWDxTmncaR6rwBY= github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-jose/go-jose/v3 v3.0.0/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8= -github.com/go-jose/go-jose/v3 v3.0.1 h1:pWmKFVtt+Jl0vBZTIpz/eAKwsm6LkIxDVVbFHKkchhA= -github.com/go-jose/go-jose/v3 v3.0.1/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8= +github.com/go-jose/go-jose/v3 v3.0.2 h1:2Edjn8Nrb44UvTdp84KU0bBPs1cO7noRCybtS3eJEUQ= +github.com/go-jose/go-jose/v3 v3.0.2/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= @@ -1323,6 +1321,8 @@ github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/jmhodges/clock v1.2.0 h1:eq4kys+NI0PLngzaHEe7AmPT90XMGIEySD1JfV1PDIs= +github.com/jmhodges/clock v1.2.0/go.mod h1:qKjhA7x7u/lQpPB1XAqX1b1lCI/w3/fNuYpI/ZjLynI= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jmoiron/sqlx v1.3.1/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= @@ -1400,6 +1400,8 @@ github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 h1:SOEGU9fKiNWd/HOJuq github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o= github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhRWSsG5rVo6hYhAB/ADZrk= github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw= +github.com/letsencrypt/boulder v0.0.0-20230907030200-6d76a0f91e1e h1:RLTpX495BXToqxpM90Ws4hXEo4Wfh81jr9DX1n/4WOo= +github.com/letsencrypt/boulder v0.0.0-20230907030200-6d76a0f91e1e/go.mod h1:EAuqr9VFWxBi9nD5jc/EA2MT1RFty9288TF6zdtYoCU= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -1448,7 +1450,6 @@ github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= @@ -1544,7 +1545,6 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nakagami/firebirdsql v0.0.0-20190310045651-3c02a58cfed8/go.mod h1:86wM1zFnC6/uDBfZGNwB65O+pR2OFi5q/YQaEUid1qA= github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= -github.com/nelsam/hel/v2 v2.3.2/go.mod h1:1ZTGfU2PFTOd5mx22i5O0Lc2GY933lQ2wb/ggy+rL3w= github.com/neo4j/neo4j-go-driver v1.8.1-0.20200803113522-b626aa943eba/go.mod h1:ncO5VaFWh0Nrt+4KT4mOZboaczBZcLuHrG+/sUeP8gI= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= @@ -1664,7 +1664,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/poy/onpar v0.0.0-20190519213022-ee068f8ea4d1/go.mod h1:nSbFQvMj97ZyhFRSJYtut+msi4sOY6zJDGCdSc+/rZU= -github.com/poy/onpar v0.0.0-20200406201722-06f95a1c68e8/go.mod h1:nSbFQvMj97ZyhFRSJYtut+msi4sOY6zJDGCdSc+/rZU= github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY= github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg= github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= @@ -1760,6 +1759,8 @@ github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24 github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= +github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= +github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= @@ -1770,6 +1771,8 @@ github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFR github.com/showa-93/go-mask v0.6.0 h1:nNW3dgEocYB7QCGzgRx9wlYrepEg+tRw/keg7u1ftY8= github.com/showa-93/go-mask v0.6.0/go.mod h1:aswIj007gm0EPAzOGES9ACy1jDm3QT08/LPSClMp410= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sigstore/sigstore v1.8.2 h1:0Ttjcn3V0fVQXlYq7+oHaaHkGFIt3ywm7SF4JTU/l8c= +github.com/sigstore/sigstore v1.8.2/go.mod h1:CHVcSyknCcjI4K2ZhS1SI28r0tcQyBlwtALG536x1DY= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -1802,7 +1805,6 @@ github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= @@ -1846,7 +1848,11 @@ github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= +github.com/theupdateframework/go-tuf v0.7.0 h1:CqbQFrWo1ae3/I0UCblSbczevCCbS31Qvs5LdxRWqRI= +github.com/theupdateframework/go-tuf v0.7.0/go.mod h1:uEB7WSY+7ZIugK6R1hiBMBjQftaFzn7ZCDJcp1tCUug= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0= +github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= @@ -2026,8 +2032,9 @@ golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58 golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.20.0 h1:jmAMJJZXr5KiCw05dfYK9QnqaqKLYXijU23lsEdcQqg= +golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2175,8 +2182,8 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/oauth2 v0.0.0-20180227000427-d7d64896b5ff/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -2207,8 +2214,8 @@ golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= -golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= -golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= +golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ= +golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2380,8 +2387,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2394,8 +2401,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2478,7 +2485,6 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200313205530-4303120df7d8/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -2802,6 +2808,8 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/go-jose/go-jose.v2 v2.6.1 h1:qEzJlIDmG9q5VO0M/o8tGS65QMHMS1w01TQJB1VPJ4U= +gopkg.in/go-jose/go-jose.v2 v2.6.1/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= diff --git a/proto/cluster_plugins.proto b/proto/cluster_plugins.proto new file mode 100644 index 00000000..06244ea6 --- /dev/null +++ b/proto/cluster_plugins.proto @@ -0,0 +1,79 @@ + +syntax = "proto3"; + +option go_package = "/clusterpluginspb"; + +package clusterpluginspb; + +// The greeting service definition. +service ClusterPlugins { + rpc DeployClusterPlugin (DeployClusterPluginRequest) returns (DeployClusterPluginResponse) {} + rpc UnDeployClusterPlugin (UnDeployClusterPluginRequest) returns (UnDeployClusterPluginResponse) {} + rpc GetClusterPlugins (GetClusterPluginsRequest) returns (GetClusterPluginsResponse) {} +} + +enum StatusCode { + OK = 0; + INTERNRAL_ERROR = 1; + INVALID_ARGUMENT = 2; + NOT_FOUND = 3; +} + +enum StoreType { + CENTRAL_CAPTEN_STORE = 0; + LOCAL_CAPTEN_STORE = 1; +} + +message Plugin { + StoreType storeType = 1; + string pluginName = 2; + string description = 3; + string category = 4; + string version = 5; + bytes icon = 6; + string chartName = 7; + string chartRepo = 8; + string defaultNamespace = 9; + bool privilegedNamespace = 10; + string pluginEndpoint = 11; + repeated string capabilities = 12; + bytes values = 13; +} + +message DeployClusterPluginRequest { + Plugin plugin = 1; +} + +message DeployClusterPluginResponse { + StatusCode status = 1; + string statusMessage = 2; +} + +message UnDeployClusterPluginRequest { + StoreType storeType = 1; + string pluginName = 2; +} + +message UnDeployClusterPluginResponse { + StatusCode status = 1; + string statusMessage = 2; +} + +message ClusterPlugin { + StoreType storeType = 1; + string pluginName = 2; + string description = 3; + string category = 4; + string version = 5; + bytes icon = 6; +} + +message GetClusterPluginsRequest { +} + +message GetClusterPluginsResponse { + StatusCode status = 1; + string statusMessage = 2; + repeated ClusterPlugin plugins = 3; +} + diff --git a/proto/plugin_store.proto b/proto/plugin_store.proto new file mode 100644 index 00000000..8239f640 --- /dev/null +++ b/proto/plugin_store.proto @@ -0,0 +1,99 @@ + +syntax = "proto3"; + +option go_package = "/pluginstorepb"; + +package pluginstorepb; + +service PluginStore { + rpc ConfigPluginStore(ConfigPluginStoreRequest) returns (ConfigPluginStoreResponse) {} + rpc SyncPluginStore(SyncPluginStoreRequest) returns (SyncPluginStoreResponse) {} + rpc GetPlugins(GetPluginsRequest) returns (GetPluginsResponse) {} + rpc GetPluginValues(GetPluginValuesRequest) returns (GetPluginValuesResponse) {} + + rpc DeployPlugin(DeployPluginRequest) returns (DeployPluginResponse) {} + rpc UnDeployPlugin(UnDeployPluginRequest) returns (UnDeployPluginResponse) {} +} + +enum StatusCode { + OK = 0; + INTERNRAL_ERROR = 1; + INVALID_ARGUMENT = 2; + NOT_FOUND = 3; +} + +enum StoreType { + CENTRAL_CAPTEN_STORE = 0; + LOCAL_CAPTEN_STORE = 1; +} + +message ConfigPluginStoreRequest { + StoreType storeType = 1; + string gitProjectId = 2; +} + +message ConfigPluginStoreResponse { + StatusCode status = 1; + string statusMessage = 2; +} + +message Plugin { + StoreType storeType = 1; + string pluginName = 2; + string description = 3; + string category = 4; + repeated string versions = 5; + bytes icon = 6; +} + +message SyncPluginStoreRequest { +} + +message SyncPluginStoreResponse { + StatusCode status = 1; + string statusMessage = 2; +} + +message GetPluginsRequest { + StoreType storeType = 1; +} + +message GetPluginsResponse { + StatusCode status = 1; + string statusMessage = 2; + repeated Plugin plugins = 3; +} + +message GetPluginValuesRequest { + StoreType storeType = 1; + string pluginName = 2; + string version = 3; +} + +message GetPluginValuesResponse { + StatusCode status = 1; + string statusMessage = 2; + bytes values = 3; +} + +message DeployPluginRequest { + StoreType storeType = 1; + string pluginName = 2; + string version = 3; + bytes values = 4; +} + +message DeployPluginResponse{ + StatusCode status = 1; + string statusMessage = 2; +} + +message UnDeployPluginRequest { + StoreType storeType = 1; + string pluginName = 2; +} + +message UnDeployPluginResponse{ + StatusCode status = 1; + string statusMessage = 2; +} \ No newline at end of file diff --git a/proto/server.proto b/proto/server.proto index 8968f020..ed20efd4 100644 --- a/proto/server.proto +++ b/proto/server.proto @@ -344,4 +344,4 @@ message DBMigrationRequest { message DBMigrationResponse { StatusCode status = 1; string statusMessage = 2; -} +} \ No newline at end of file diff --git a/server/cmd/server/main.go b/server/cmd/server/main.go index 6853d4f1..905c82b8 100644 --- a/server/cmd/server/main.go +++ b/server/cmd/server/main.go @@ -18,6 +18,7 @@ import ( storeapps "github.com/kube-tarian/kad/server/pkg/store-apps" "github.com/kube-tarian/kad/server/pkg/pb/captenpluginspb" + "github.com/kube-tarian/kad/server/pkg/pb/pluginstorepb" "github.com/kube-tarian/kad/server/pkg/pb/serverpb" "github.com/kube-tarian/kad/server/pkg/store" ) @@ -100,6 +101,7 @@ func main() { serverpb.RegisterServerServer(grpcServer, rpcServer) captenpluginspb.RegisterCaptenPluginsServer(grpcServer, rpcServer) + pluginstorepb.RegisterPluginStoreServer(grpcServer, rpcServer) log.Info("Server listening at ", listener.Addr()) reflection.Register(grpcServer) diff --git a/server/data/plugin-store/data/argo-cd/plugin.yaml b/server/data/plugin-store/data/argo-cd/plugin.yaml new file mode 100644 index 00000000..100a1432 --- /dev/null +++ b/server/data/plugin-store/data/argo-cd/plugin.yaml @@ -0,0 +1,17 @@ +name: "argo-cd" +description: "" +category: "CI/CD" +icon: "argocd.svg" +deploymentConfig: + chartName: "argo-cd" + chartRepo: "https://kube-tarian.github.io/helmrepo-supporting-tools" + versions: + - "v1.0.2" + defaultNamespace: "argo-cd" + privilegedNamespace: false +pluginConfig: + pluginAccessEndpoint: https://argo.{{.domainName}} + capabilities: + - name: capten-sdk + - name: postgress-store + - name: vault-store diff --git a/server/data/plugin-store/data/argo-cd/v1.0.2/argocd.svg b/server/data/plugin-store/data/argo-cd/v1.0.2/argocd.svg new file mode 100644 index 00000000..fb7bc6fe --- /dev/null +++ b/server/data/plugin-store/data/argo-cd/v1.0.2/argocd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/server/data/plugin-store/data/argo-cd/v1.0.2/values.yaml b/server/data/plugin-store/data/argo-cd/v1.0.2/values.yaml new file mode 100644 index 00000000..e0c85187 --- /dev/null +++ b/server/data/plugin-store/data/argo-cd/v1.0.2/values.yaml @@ -0,0 +1,24 @@ +server: + extraArgs: + - --insecure + ingress: + enabled: true + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod-cluster + kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ssl-redirect: "true" + kubernetes.io/tls-acme: "true" + hosts: + - argo.{{.DomainName}} + paths: + - / + pathType: Prefix + tls: + - secretName: argocd-cert + hosts: + - argo.{{.DomainName}} +webhooks: + enabled: true +configs: + cm: + url: "https://argocd.{{.DomainName}}" diff --git a/server/data/plugin-store/data/crossplane/plugin.yaml b/server/data/plugin-store/data/crossplane/plugin.yaml new file mode 100644 index 00000000..5120f6a0 --- /dev/null +++ b/server/data/plugin-store/data/crossplane/plugin.yaml @@ -0,0 +1,15 @@ +name: "crossplane" +description: "" +category: "iaas" +deploymentConfig: + chartName: "crossplane" + chartRepo: "https://kube-tarian.github.io/helmrepo-supporting-tools" + versions: ["1.0.2"] + defaultNamespace: "crossplane-system" + privilegedNamespace: true +pluginConfig: + pluginAccessEndpoint: https://crossplane.{{.domainName}} + capabilities: + - name: capten-sdk + - name: postgress-store + - name: vault-store diff --git a/server/data/plugin-store/data/crossplane/v1.0.2/values.yaml b/server/data/plugin-store/data/crossplane/v1.0.2/values.yaml new file mode 100644 index 00000000..ed612806 --- /dev/null +++ b/server/data/plugin-store/data/crossplane/v1.0.2/values.yaml @@ -0,0 +1,2 @@ +webhooks: + enabled: true diff --git a/server/data/plugin-store/data/plugins.yaml b/server/data/plugin-store/data/plugins.yaml new file mode 100644 index 00000000..ade90218 --- /dev/null +++ b/server/data/plugin-store/data/plugins.yaml @@ -0,0 +1,5 @@ +plugins: + - argo-cd + - crossplane + - testkube + - tekton diff --git a/server/data/plugin-store/data/tekton/plugin.yaml b/server/data/plugin-store/data/tekton/plugin.yaml new file mode 100644 index 00000000..7b9ada27 --- /dev/null +++ b/server/data/plugin-store/data/tekton/plugin.yaml @@ -0,0 +1,18 @@ +name: "tekton" +description: "" +category: "CI/CD" +icon: "tekton.svg" +deploymentConfig: + chartName: "tekton" + chartRepo: "https://kube-tarian.github.io/helmrepo-supporting-tools" + versions: ["0.1.9"] + defaultNamespace: "tekton" + privilegedNamespace: false +pluginConfig: + pluginAccessEndpoint: https://tekton.{{.domainName}} + capabilities: + - name: capten-sdk + - name: postgress-store + - name: vault-store + attributes: + storePath: tektonplg diff --git a/server/data/plugin-store/data/tekton/v0.1.9/tekton.svg b/server/data/plugin-store/data/tekton/v0.1.9/tekton.svg new file mode 100644 index 00000000..04fae8b3 --- /dev/null +++ b/server/data/plugin-store/data/tekton/v0.1.9/tekton.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/server/data/plugin-store/data/tekton/v0.1.9/values.yaml b/server/data/plugin-store/data/tekton/v0.1.9/values.yaml new file mode 100644 index 00000000..f308f9bf --- /dev/null +++ b/server/data/plugin-store/data/tekton/v0.1.9/values.yaml @@ -0,0 +1,14 @@ +dashboard: + ingress: + enabled: true + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod-cluster + kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ssl-redirect: "true" + kubernetes.io/tls-acme: "true" + hosts: + - tekton.{{.DomainName}} + tls: + - hosts: + - tekton.{{.DomainName}} + secretName: tekton-dashboard-cert diff --git a/server/go.mod b/server/go.mod index 633e8098..3b91d4d5 100644 --- a/server/go.mod +++ b/server/go.mod @@ -4,7 +4,6 @@ go 1.21 require ( github.com/gocql/gocql v1.3.1 - github.com/golang-migrate/migrate/v4 v4.17.0 github.com/google/uuid v1.4.0 github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 github.com/intelops/go-common v1.0.20 @@ -20,8 +19,12 @@ require ( ) require ( + github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect github.com/cenkalti/backoff/v3 v3.0.0 // indirect github.com/containerd/containerd v1.7.13 // indirect + github.com/docker/distribution v2.8.2+incompatible // indirect + github.com/docker/docker v24.0.7+incompatible // indirect + github.com/docker/go-units v0.5.0 // indirect github.com/fatih/color v1.13.0 // indirect github.com/go-jose/go-jose/v3 v3.0.0 // indirect github.com/golang/protobuf v1.5.3 // indirect @@ -42,10 +45,13 @@ require ( github.com/klauspost/compress v1.16.0 // indirect github.com/kr/pretty v0.3.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/patternmatcher v0.6.0 // indirect github.com/moby/sys/sequential v0.5.0 // indirect + github.com/moby/term v0.5.0 // indirect + github.com/morikuni/aec v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b // indirect github.com/rogpeppe/go-internal v1.8.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect diff --git a/server/go.sum b/server/go.sum index 15192b4f..3ed85ae5 100644 --- a/server/go.sum +++ b/server/go.sum @@ -37,8 +37,6 @@ github.com/gocql/gocql v1.3.1 h1:BTwM4rux+ah5G3oH6/MQa+tur/TDd/XAAOXDxBBs7rg= github.com/gocql/gocql v1.3.1/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-migrate/migrate/v4 v4.17.0 h1:rd40H3QXU0AA4IoLllFcEAEo9dYKRHYND2gB4p7xcaU= -github.com/golang-migrate/migrate/v4 v4.17.0/go.mod h1:+Cp2mtLP4/aXDTKb9wmXYitdrNx2HGs45rbWAo6OsKM= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= @@ -199,6 +197,7 @@ golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/server/pkg/api/plugin_store_apis.go b/server/pkg/api/plugin_store_apis.go new file mode 100644 index 00000000..d990b581 --- /dev/null +++ b/server/pkg/api/plugin_store_apis.go @@ -0,0 +1,57 @@ +package api + +import ( + "context" + + "github.com/kube-tarian/kad/server/pkg/pb/pluginstorepb" + pluginstore "github.com/kube-tarian/kad/server/pkg/plugin-store" +) + +func (s *Server) ConfigPluginStore(ctx context.Context, request *pluginstorepb.ConfigPluginStoreRequest) ( + *pluginstorepb.ConfigPluginStoreResponse, error) { + return &pluginstorepb.ConfigPluginStoreResponse{ + Status: pluginstorepb.StatusCode_OK, + }, nil +} + +func (s *Server) SyncPluginStore(ctx context.Context, request *pluginstorepb.SyncPluginStoreRequest) ( + *pluginstorepb.SyncPluginStoreResponse, error) { + err := pluginstore.SyncPluginApps(s.log, s.serverStore) + if err != nil { + return &pluginstorepb.SyncPluginStoreResponse{ + Status: pluginstorepb.StatusCode_INTERNRAL_ERROR, + StatusMessage: err.Error(), + }, err + } + return &pluginstorepb.SyncPluginStoreResponse{ + Status: pluginstorepb.StatusCode_OK, + }, nil +} + +func (s *Server) GetPlugins(ctx context.Context, request *pluginstorepb.GetPluginsRequest) ( + *pluginstorepb.GetPluginsResponse, error) { + return &pluginstorepb.GetPluginsResponse{ + Status: pluginstorepb.StatusCode_OK, + }, nil +} + +func (s *Server) GetPluginValues(ctx context.Context, request *pluginstorepb.GetPluginValuesRequest) ( + *pluginstorepb.GetPluginValuesResponse, error) { + return &pluginstorepb.GetPluginValuesResponse{ + Status: pluginstorepb.StatusCode_OK, + }, nil +} + +func (s *Server) DeployPlugin(ctx context.Context, request *pluginstorepb.DeployPluginRequest) ( + *pluginstorepb.DeployPluginResponse, error) { + return &pluginstorepb.DeployPluginResponse{ + Status: pluginstorepb.StatusCode_OK, + }, nil +} + +func (s *Server) UnDeployPlugin(ctx context.Context, request *pluginstorepb.UnDeployPluginRequest) ( + *pluginstorepb.UnDeployPluginResponse, error) { + return &pluginstorepb.UnDeployPluginResponse{ + Status: pluginstorepb.StatusCode_OK, + }, nil +} diff --git a/server/pkg/api/server.go b/server/pkg/api/server.go index 8c82dc57..dacfb980 100644 --- a/server/pkg/api/server.go +++ b/server/pkg/api/server.go @@ -11,6 +11,7 @@ import ( iamclient "github.com/kube-tarian/kad/server/pkg/iam-client" oryclient "github.com/kube-tarian/kad/server/pkg/ory-client" "github.com/kube-tarian/kad/server/pkg/pb/captenpluginspb" + "github.com/kube-tarian/kad/server/pkg/pb/pluginstorepb" "github.com/kube-tarian/kad/server/pkg/pb/serverpb" "github.com/kube-tarian/kad/server/pkg/store" "google.golang.org/grpc/metadata" @@ -26,6 +27,7 @@ const ( type Server struct { serverpb.UnimplementedServerServer captenpluginspb.UnimplementedCaptenPluginsServer + pluginstorepb.UnimplementedPluginStoreServer serverStore store.ServerStore agentHandeler *agent.AgentHandler log logging.Logger diff --git a/server/pkg/pb/agentpb/agent.pb.go b/server/pkg/pb/agentpb/agent.pb.go index afc54ca6..f9e70baa 100644 --- a/server/pkg/pb/agentpb/agent.pb.go +++ b/server/pkg/pb/agentpb/agent.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.30.0 // protoc v3.12.4 // source: agent.proto diff --git a/server/pkg/pb/captenpluginspb/capten_plugins.pb.go b/server/pkg/pb/captenpluginspb/capten_plugins.pb.go index 5408956c..80d492b9 100644 --- a/server/pkg/pb/captenpluginspb/capten_plugins.pb.go +++ b/server/pkg/pb/captenpluginspb/capten_plugins.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.30.0 // protoc v3.12.4 // source: capten_plugins.proto diff --git a/server/pkg/pb/pluginstorepb/plugin_store.pb.go b/server/pkg/pb/pluginstorepb/plugin_store.pb.go new file mode 100644 index 00000000..74ab7943 --- /dev/null +++ b/server/pkg/pb/pluginstorepb/plugin_store.pb.go @@ -0,0 +1,1285 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v3.12.4 +// source: plugin_store.proto + +package pluginstorepb + +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 StatusCode int32 + +const ( + StatusCode_OK StatusCode = 0 + StatusCode_INTERNRAL_ERROR StatusCode = 1 + StatusCode_INVALID_ARGUMENT StatusCode = 2 + StatusCode_NOT_FOUND StatusCode = 3 +) + +// Enum value maps for StatusCode. +var ( + StatusCode_name = map[int32]string{ + 0: "OK", + 1: "INTERNRAL_ERROR", + 2: "INVALID_ARGUMENT", + 3: "NOT_FOUND", + } + StatusCode_value = map[string]int32{ + "OK": 0, + "INTERNRAL_ERROR": 1, + "INVALID_ARGUMENT": 2, + "NOT_FOUND": 3, + } +) + +func (x StatusCode) Enum() *StatusCode { + p := new(StatusCode) + *p = x + return p +} + +func (x StatusCode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StatusCode) Descriptor() protoreflect.EnumDescriptor { + return file_plugin_store_proto_enumTypes[0].Descriptor() +} + +func (StatusCode) Type() protoreflect.EnumType { + return &file_plugin_store_proto_enumTypes[0] +} + +func (x StatusCode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StatusCode.Descriptor instead. +func (StatusCode) EnumDescriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{0} +} + +type StoreType int32 + +const ( + StoreType_CENTRAL_CAPTEN_STORE StoreType = 0 + StoreType_LOCAL_CAPTEN_STORE StoreType = 1 +) + +// Enum value maps for StoreType. +var ( + StoreType_name = map[int32]string{ + 0: "CENTRAL_CAPTEN_STORE", + 1: "LOCAL_CAPTEN_STORE", + } + StoreType_value = map[string]int32{ + "CENTRAL_CAPTEN_STORE": 0, + "LOCAL_CAPTEN_STORE": 1, + } +) + +func (x StoreType) Enum() *StoreType { + p := new(StoreType) + *p = x + return p +} + +func (x StoreType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StoreType) Descriptor() protoreflect.EnumDescriptor { + return file_plugin_store_proto_enumTypes[1].Descriptor() +} + +func (StoreType) Type() protoreflect.EnumType { + return &file_plugin_store_proto_enumTypes[1] +} + +func (x StoreType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StoreType.Descriptor instead. +func (StoreType) EnumDescriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{1} +} + +type ConfigPluginStoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoreType StoreType `protobuf:"varint,1,opt,name=storeType,proto3,enum=pluginstorepb.StoreType" json:"storeType,omitempty"` + GitProjectId string `protobuf:"bytes,2,opt,name=gitProjectId,proto3" json:"gitProjectId,omitempty"` +} + +func (x *ConfigPluginStoreRequest) Reset() { + *x = ConfigPluginStoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigPluginStoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigPluginStoreRequest) ProtoMessage() {} + +func (x *ConfigPluginStoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_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 ConfigPluginStoreRequest.ProtoReflect.Descriptor instead. +func (*ConfigPluginStoreRequest) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{0} +} + +func (x *ConfigPluginStoreRequest) GetStoreType() StoreType { + if x != nil { + return x.StoreType + } + return StoreType_CENTRAL_CAPTEN_STORE +} + +func (x *ConfigPluginStoreRequest) GetGitProjectId() string { + if x != nil { + return x.GitProjectId + } + return "" +} + +type ConfigPluginStoreResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=pluginstorepb.StatusCode" json:"status,omitempty"` + StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` +} + +func (x *ConfigPluginStoreResponse) Reset() { + *x = ConfigPluginStoreResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigPluginStoreResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigPluginStoreResponse) ProtoMessage() {} + +func (x *ConfigPluginStoreResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_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 ConfigPluginStoreResponse.ProtoReflect.Descriptor instead. +func (*ConfigPluginStoreResponse) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{1} +} + +func (x *ConfigPluginStoreResponse) GetStatus() StatusCode { + if x != nil { + return x.Status + } + return StatusCode_OK +} + +func (x *ConfigPluginStoreResponse) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +type Plugin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoreType StoreType `protobuf:"varint,1,opt,name=storeType,proto3,enum=pluginstorepb.StoreType" json:"storeType,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=pluginName,proto3" json:"pluginName,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Category string `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"` + Versions []string `protobuf:"bytes,5,rep,name=versions,proto3" json:"versions,omitempty"` + Icon []byte `protobuf:"bytes,6,opt,name=icon,proto3" json:"icon,omitempty"` +} + +func (x *Plugin) Reset() { + *x = Plugin{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Plugin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Plugin) ProtoMessage() {} + +func (x *Plugin) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_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 Plugin.ProtoReflect.Descriptor instead. +func (*Plugin) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{2} +} + +func (x *Plugin) GetStoreType() StoreType { + if x != nil { + return x.StoreType + } + return StoreType_CENTRAL_CAPTEN_STORE +} + +func (x *Plugin) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *Plugin) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Plugin) GetCategory() string { + if x != nil { + return x.Category + } + return "" +} + +func (x *Plugin) GetVersions() []string { + if x != nil { + return x.Versions + } + return nil +} + +func (x *Plugin) GetIcon() []byte { + if x != nil { + return x.Icon + } + return nil +} + +type SyncPluginStoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SyncPluginStoreRequest) Reset() { + *x = SyncPluginStoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncPluginStoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncPluginStoreRequest) ProtoMessage() {} + +func (x *SyncPluginStoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_proto_msgTypes[3] + 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 SyncPluginStoreRequest.ProtoReflect.Descriptor instead. +func (*SyncPluginStoreRequest) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{3} +} + +type SyncPluginStoreResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=pluginstorepb.StatusCode" json:"status,omitempty"` + StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` +} + +func (x *SyncPluginStoreResponse) Reset() { + *x = SyncPluginStoreResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncPluginStoreResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncPluginStoreResponse) ProtoMessage() {} + +func (x *SyncPluginStoreResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_proto_msgTypes[4] + 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 SyncPluginStoreResponse.ProtoReflect.Descriptor instead. +func (*SyncPluginStoreResponse) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{4} +} + +func (x *SyncPluginStoreResponse) GetStatus() StatusCode { + if x != nil { + return x.Status + } + return StatusCode_OK +} + +func (x *SyncPluginStoreResponse) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +type GetPluginsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoreType StoreType `protobuf:"varint,1,opt,name=storeType,proto3,enum=pluginstorepb.StoreType" json:"storeType,omitempty"` +} + +func (x *GetPluginsRequest) Reset() { + *x = GetPluginsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPluginsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPluginsRequest) ProtoMessage() {} + +func (x *GetPluginsRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_proto_msgTypes[5] + 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 GetPluginsRequest.ProtoReflect.Descriptor instead. +func (*GetPluginsRequest) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{5} +} + +func (x *GetPluginsRequest) GetStoreType() StoreType { + if x != nil { + return x.StoreType + } + return StoreType_CENTRAL_CAPTEN_STORE +} + +type GetPluginsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=pluginstorepb.StatusCode" json:"status,omitempty"` + StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` + Plugins []*Plugin `protobuf:"bytes,3,rep,name=plugins,proto3" json:"plugins,omitempty"` +} + +func (x *GetPluginsResponse) Reset() { + *x = GetPluginsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPluginsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPluginsResponse) ProtoMessage() {} + +func (x *GetPluginsResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_proto_msgTypes[6] + 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 GetPluginsResponse.ProtoReflect.Descriptor instead. +func (*GetPluginsResponse) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{6} +} + +func (x *GetPluginsResponse) GetStatus() StatusCode { + if x != nil { + return x.Status + } + return StatusCode_OK +} + +func (x *GetPluginsResponse) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *GetPluginsResponse) GetPlugins() []*Plugin { + if x != nil { + return x.Plugins + } + return nil +} + +type GetPluginValuesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoreType StoreType `protobuf:"varint,1,opt,name=storeType,proto3,enum=pluginstorepb.StoreType" json:"storeType,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=pluginName,proto3" json:"pluginName,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *GetPluginValuesRequest) Reset() { + *x = GetPluginValuesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPluginValuesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPluginValuesRequest) ProtoMessage() {} + +func (x *GetPluginValuesRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_proto_msgTypes[7] + 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 GetPluginValuesRequest.ProtoReflect.Descriptor instead. +func (*GetPluginValuesRequest) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{7} +} + +func (x *GetPluginValuesRequest) GetStoreType() StoreType { + if x != nil { + return x.StoreType + } + return StoreType_CENTRAL_CAPTEN_STORE +} + +func (x *GetPluginValuesRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *GetPluginValuesRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type GetPluginValuesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=pluginstorepb.StatusCode" json:"status,omitempty"` + StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` + Values []byte `protobuf:"bytes,3,opt,name=values,proto3" json:"values,omitempty"` +} + +func (x *GetPluginValuesResponse) Reset() { + *x = GetPluginValuesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPluginValuesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPluginValuesResponse) ProtoMessage() {} + +func (x *GetPluginValuesResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_proto_msgTypes[8] + 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 GetPluginValuesResponse.ProtoReflect.Descriptor instead. +func (*GetPluginValuesResponse) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{8} +} + +func (x *GetPluginValuesResponse) GetStatus() StatusCode { + if x != nil { + return x.Status + } + return StatusCode_OK +} + +func (x *GetPluginValuesResponse) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *GetPluginValuesResponse) GetValues() []byte { + if x != nil { + return x.Values + } + return nil +} + +type DeployPluginRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoreType StoreType `protobuf:"varint,1,opt,name=storeType,proto3,enum=pluginstorepb.StoreType" json:"storeType,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=pluginName,proto3" json:"pluginName,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + Values []byte `protobuf:"bytes,4,opt,name=values,proto3" json:"values,omitempty"` +} + +func (x *DeployPluginRequest) Reset() { + *x = DeployPluginRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployPluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployPluginRequest) ProtoMessage() {} + +func (x *DeployPluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_proto_msgTypes[9] + 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 DeployPluginRequest.ProtoReflect.Descriptor instead. +func (*DeployPluginRequest) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{9} +} + +func (x *DeployPluginRequest) GetStoreType() StoreType { + if x != nil { + return x.StoreType + } + return StoreType_CENTRAL_CAPTEN_STORE +} + +func (x *DeployPluginRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *DeployPluginRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *DeployPluginRequest) GetValues() []byte { + if x != nil { + return x.Values + } + return nil +} + +type DeployPluginResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=pluginstorepb.StatusCode" json:"status,omitempty"` + StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` +} + +func (x *DeployPluginResponse) Reset() { + *x = DeployPluginResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployPluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployPluginResponse) ProtoMessage() {} + +func (x *DeployPluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_proto_msgTypes[10] + 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 DeployPluginResponse.ProtoReflect.Descriptor instead. +func (*DeployPluginResponse) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{10} +} + +func (x *DeployPluginResponse) GetStatus() StatusCode { + if x != nil { + return x.Status + } + return StatusCode_OK +} + +func (x *DeployPluginResponse) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +type UnDeployPluginRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoreType StoreType `protobuf:"varint,1,opt,name=storeType,proto3,enum=pluginstorepb.StoreType" json:"storeType,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=pluginName,proto3" json:"pluginName,omitempty"` +} + +func (x *UnDeployPluginRequest) Reset() { + *x = UnDeployPluginRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnDeployPluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnDeployPluginRequest) ProtoMessage() {} + +func (x *UnDeployPluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_proto_msgTypes[11] + 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 UnDeployPluginRequest.ProtoReflect.Descriptor instead. +func (*UnDeployPluginRequest) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{11} +} + +func (x *UnDeployPluginRequest) GetStoreType() StoreType { + if x != nil { + return x.StoreType + } + return StoreType_CENTRAL_CAPTEN_STORE +} + +func (x *UnDeployPluginRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +type UnDeployPluginResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=pluginstorepb.StatusCode" json:"status,omitempty"` + StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` +} + +func (x *UnDeployPluginResponse) Reset() { + *x = UnDeployPluginResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_plugin_store_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnDeployPluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnDeployPluginResponse) ProtoMessage() {} + +func (x *UnDeployPluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_plugin_store_proto_msgTypes[12] + 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 UnDeployPluginResponse.ProtoReflect.Descriptor instead. +func (*UnDeployPluginResponse) Descriptor() ([]byte, []int) { + return file_plugin_store_proto_rawDescGZIP(), []int{12} +} + +func (x *UnDeployPluginResponse) GetStatus() StatusCode { + if x != nil { + return x.Status + } + return StatusCode_OK +} + +func (x *UnDeployPluginResponse) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +var File_plugin_store_proto protoreflect.FileDescriptor + +var file_plugin_store_proto_rawDesc = []byte{ + 0x0a, 0x12, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x70, 0x62, 0x22, 0x76, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x36, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, + 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x74, 0x0a, 0x19, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, + 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0xce, 0x01, 0x0a, 0x06, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x36, 0x0a, 0x09, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x18, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x69, 0x63, + 0x6f, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x72, 0x0a, 0x17, + 0x53, 0x79, 0x6e, 0x63, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x4b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x9e, 0x01, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2f, 0x0a, + 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x22, 0x8a, + 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x36, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x6f, 0x0a, 0x14, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x6f, 0x0a, 0x15, 0x55, + 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x71, 0x0a, 0x16, + 0x55, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, + 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, + 0x4e, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, + 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x52, + 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, + 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x2a, + 0x3d, 0x0a, 0x09, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, + 0x43, 0x45, 0x4e, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x43, 0x41, 0x50, 0x54, 0x45, 0x4e, 0x5f, 0x53, + 0x54, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, + 0x43, 0x41, 0x50, 0x54, 0x45, 0x4e, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x32, 0xd0, + 0x04, 0x0a, 0x0b, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x68, + 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0f, 0x53, 0x79, 0x6e, 0x63, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x2e, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x70, 0x62, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0a, + 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x62, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x22, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x5f, 0x0a, 0x0e, 0x55, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x42, 0x10, 0x5a, 0x0e, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_plugin_store_proto_rawDescOnce sync.Once + file_plugin_store_proto_rawDescData = file_plugin_store_proto_rawDesc +) + +func file_plugin_store_proto_rawDescGZIP() []byte { + file_plugin_store_proto_rawDescOnce.Do(func() { + file_plugin_store_proto_rawDescData = protoimpl.X.CompressGZIP(file_plugin_store_proto_rawDescData) + }) + return file_plugin_store_proto_rawDescData +} + +var file_plugin_store_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_plugin_store_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_plugin_store_proto_goTypes = []interface{}{ + (StatusCode)(0), // 0: pluginstorepb.StatusCode + (StoreType)(0), // 1: pluginstorepb.StoreType + (*ConfigPluginStoreRequest)(nil), // 2: pluginstorepb.ConfigPluginStoreRequest + (*ConfigPluginStoreResponse)(nil), // 3: pluginstorepb.ConfigPluginStoreResponse + (*Plugin)(nil), // 4: pluginstorepb.Plugin + (*SyncPluginStoreRequest)(nil), // 5: pluginstorepb.SyncPluginStoreRequest + (*SyncPluginStoreResponse)(nil), // 6: pluginstorepb.SyncPluginStoreResponse + (*GetPluginsRequest)(nil), // 7: pluginstorepb.GetPluginsRequest + (*GetPluginsResponse)(nil), // 8: pluginstorepb.GetPluginsResponse + (*GetPluginValuesRequest)(nil), // 9: pluginstorepb.GetPluginValuesRequest + (*GetPluginValuesResponse)(nil), // 10: pluginstorepb.GetPluginValuesResponse + (*DeployPluginRequest)(nil), // 11: pluginstorepb.DeployPluginRequest + (*DeployPluginResponse)(nil), // 12: pluginstorepb.DeployPluginResponse + (*UnDeployPluginRequest)(nil), // 13: pluginstorepb.UnDeployPluginRequest + (*UnDeployPluginResponse)(nil), // 14: pluginstorepb.UnDeployPluginResponse +} +var file_plugin_store_proto_depIdxs = []int32{ + 1, // 0: pluginstorepb.ConfigPluginStoreRequest.storeType:type_name -> pluginstorepb.StoreType + 0, // 1: pluginstorepb.ConfigPluginStoreResponse.status:type_name -> pluginstorepb.StatusCode + 1, // 2: pluginstorepb.Plugin.storeType:type_name -> pluginstorepb.StoreType + 0, // 3: pluginstorepb.SyncPluginStoreResponse.status:type_name -> pluginstorepb.StatusCode + 1, // 4: pluginstorepb.GetPluginsRequest.storeType:type_name -> pluginstorepb.StoreType + 0, // 5: pluginstorepb.GetPluginsResponse.status:type_name -> pluginstorepb.StatusCode + 4, // 6: pluginstorepb.GetPluginsResponse.plugins:type_name -> pluginstorepb.Plugin + 1, // 7: pluginstorepb.GetPluginValuesRequest.storeType:type_name -> pluginstorepb.StoreType + 0, // 8: pluginstorepb.GetPluginValuesResponse.status:type_name -> pluginstorepb.StatusCode + 1, // 9: pluginstorepb.DeployPluginRequest.storeType:type_name -> pluginstorepb.StoreType + 0, // 10: pluginstorepb.DeployPluginResponse.status:type_name -> pluginstorepb.StatusCode + 1, // 11: pluginstorepb.UnDeployPluginRequest.storeType:type_name -> pluginstorepb.StoreType + 0, // 12: pluginstorepb.UnDeployPluginResponse.status:type_name -> pluginstorepb.StatusCode + 2, // 13: pluginstorepb.PluginStore.ConfigPluginStore:input_type -> pluginstorepb.ConfigPluginStoreRequest + 5, // 14: pluginstorepb.PluginStore.SyncPluginStore:input_type -> pluginstorepb.SyncPluginStoreRequest + 7, // 15: pluginstorepb.PluginStore.GetPlugins:input_type -> pluginstorepb.GetPluginsRequest + 9, // 16: pluginstorepb.PluginStore.GetPluginValues:input_type -> pluginstorepb.GetPluginValuesRequest + 11, // 17: pluginstorepb.PluginStore.DeployPlugin:input_type -> pluginstorepb.DeployPluginRequest + 13, // 18: pluginstorepb.PluginStore.UnDeployPlugin:input_type -> pluginstorepb.UnDeployPluginRequest + 3, // 19: pluginstorepb.PluginStore.ConfigPluginStore:output_type -> pluginstorepb.ConfigPluginStoreResponse + 6, // 20: pluginstorepb.PluginStore.SyncPluginStore:output_type -> pluginstorepb.SyncPluginStoreResponse + 8, // 21: pluginstorepb.PluginStore.GetPlugins:output_type -> pluginstorepb.GetPluginsResponse + 10, // 22: pluginstorepb.PluginStore.GetPluginValues:output_type -> pluginstorepb.GetPluginValuesResponse + 12, // 23: pluginstorepb.PluginStore.DeployPlugin:output_type -> pluginstorepb.DeployPluginResponse + 14, // 24: pluginstorepb.PluginStore.UnDeployPlugin:output_type -> pluginstorepb.UnDeployPluginResponse + 19, // [19:25] is the sub-list for method output_type + 13, // [13:19] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_plugin_store_proto_init() } +func file_plugin_store_proto_init() { + if File_plugin_store_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_plugin_store_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigPluginStoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigPluginStoreResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Plugin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncPluginStoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncPluginStoreResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPluginsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPluginsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPluginValuesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPluginValuesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployPluginRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployPluginResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnDeployPluginRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_plugin_store_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnDeployPluginResponse); 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_plugin_store_proto_rawDesc, + NumEnums: 2, + NumMessages: 13, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_plugin_store_proto_goTypes, + DependencyIndexes: file_plugin_store_proto_depIdxs, + EnumInfos: file_plugin_store_proto_enumTypes, + MessageInfos: file_plugin_store_proto_msgTypes, + }.Build() + File_plugin_store_proto = out.File + file_plugin_store_proto_rawDesc = nil + file_plugin_store_proto_goTypes = nil + file_plugin_store_proto_depIdxs = nil +} diff --git a/server/pkg/pb/pluginstorepb/plugin_store_grpc.pb.go b/server/pkg/pb/pluginstorepb/plugin_store_grpc.pb.go new file mode 100644 index 00000000..c981a24f --- /dev/null +++ b/server/pkg/pb/pluginstorepb/plugin_store_grpc.pb.go @@ -0,0 +1,294 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v3.12.4 +// source: plugin_store.proto + +package pluginstorepb + +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 + +const ( + PluginStore_ConfigPluginStore_FullMethodName = "/pluginstorepb.PluginStore/ConfigPluginStore" + PluginStore_SyncPluginStore_FullMethodName = "/pluginstorepb.PluginStore/SyncPluginStore" + PluginStore_GetPlugins_FullMethodName = "/pluginstorepb.PluginStore/GetPlugins" + PluginStore_GetPluginValues_FullMethodName = "/pluginstorepb.PluginStore/GetPluginValues" + PluginStore_DeployPlugin_FullMethodName = "/pluginstorepb.PluginStore/DeployPlugin" + PluginStore_UnDeployPlugin_FullMethodName = "/pluginstorepb.PluginStore/UnDeployPlugin" +) + +// PluginStoreClient is the client API for PluginStore 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 PluginStoreClient interface { + ConfigPluginStore(ctx context.Context, in *ConfigPluginStoreRequest, opts ...grpc.CallOption) (*ConfigPluginStoreResponse, error) + SyncPluginStore(ctx context.Context, in *SyncPluginStoreRequest, opts ...grpc.CallOption) (*SyncPluginStoreResponse, error) + GetPlugins(ctx context.Context, in *GetPluginsRequest, opts ...grpc.CallOption) (*GetPluginsResponse, error) + GetPluginValues(ctx context.Context, in *GetPluginValuesRequest, opts ...grpc.CallOption) (*GetPluginValuesResponse, error) + DeployPlugin(ctx context.Context, in *DeployPluginRequest, opts ...grpc.CallOption) (*DeployPluginResponse, error) + UnDeployPlugin(ctx context.Context, in *UnDeployPluginRequest, opts ...grpc.CallOption) (*UnDeployPluginResponse, error) +} + +type pluginStoreClient struct { + cc grpc.ClientConnInterface +} + +func NewPluginStoreClient(cc grpc.ClientConnInterface) PluginStoreClient { + return &pluginStoreClient{cc} +} + +func (c *pluginStoreClient) ConfigPluginStore(ctx context.Context, in *ConfigPluginStoreRequest, opts ...grpc.CallOption) (*ConfigPluginStoreResponse, error) { + out := new(ConfigPluginStoreResponse) + err := c.cc.Invoke(ctx, PluginStore_ConfigPluginStore_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pluginStoreClient) SyncPluginStore(ctx context.Context, in *SyncPluginStoreRequest, opts ...grpc.CallOption) (*SyncPluginStoreResponse, error) { + out := new(SyncPluginStoreResponse) + err := c.cc.Invoke(ctx, PluginStore_SyncPluginStore_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pluginStoreClient) GetPlugins(ctx context.Context, in *GetPluginsRequest, opts ...grpc.CallOption) (*GetPluginsResponse, error) { + out := new(GetPluginsResponse) + err := c.cc.Invoke(ctx, PluginStore_GetPlugins_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pluginStoreClient) GetPluginValues(ctx context.Context, in *GetPluginValuesRequest, opts ...grpc.CallOption) (*GetPluginValuesResponse, error) { + out := new(GetPluginValuesResponse) + err := c.cc.Invoke(ctx, PluginStore_GetPluginValues_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pluginStoreClient) DeployPlugin(ctx context.Context, in *DeployPluginRequest, opts ...grpc.CallOption) (*DeployPluginResponse, error) { + out := new(DeployPluginResponse) + err := c.cc.Invoke(ctx, PluginStore_DeployPlugin_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pluginStoreClient) UnDeployPlugin(ctx context.Context, in *UnDeployPluginRequest, opts ...grpc.CallOption) (*UnDeployPluginResponse, error) { + out := new(UnDeployPluginResponse) + err := c.cc.Invoke(ctx, PluginStore_UnDeployPlugin_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// PluginStoreServer is the server API for PluginStore service. +// All implementations must embed UnimplementedPluginStoreServer +// for forward compatibility +type PluginStoreServer interface { + ConfigPluginStore(context.Context, *ConfigPluginStoreRequest) (*ConfigPluginStoreResponse, error) + SyncPluginStore(context.Context, *SyncPluginStoreRequest) (*SyncPluginStoreResponse, error) + GetPlugins(context.Context, *GetPluginsRequest) (*GetPluginsResponse, error) + GetPluginValues(context.Context, *GetPluginValuesRequest) (*GetPluginValuesResponse, error) + DeployPlugin(context.Context, *DeployPluginRequest) (*DeployPluginResponse, error) + UnDeployPlugin(context.Context, *UnDeployPluginRequest) (*UnDeployPluginResponse, error) + mustEmbedUnimplementedPluginStoreServer() +} + +// UnimplementedPluginStoreServer must be embedded to have forward compatible implementations. +type UnimplementedPluginStoreServer struct { +} + +func (UnimplementedPluginStoreServer) ConfigPluginStore(context.Context, *ConfigPluginStoreRequest) (*ConfigPluginStoreResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConfigPluginStore not implemented") +} +func (UnimplementedPluginStoreServer) SyncPluginStore(context.Context, *SyncPluginStoreRequest) (*SyncPluginStoreResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SyncPluginStore not implemented") +} +func (UnimplementedPluginStoreServer) GetPlugins(context.Context, *GetPluginsRequest) (*GetPluginsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPlugins not implemented") +} +func (UnimplementedPluginStoreServer) GetPluginValues(context.Context, *GetPluginValuesRequest) (*GetPluginValuesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPluginValues not implemented") +} +func (UnimplementedPluginStoreServer) DeployPlugin(context.Context, *DeployPluginRequest) (*DeployPluginResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeployPlugin not implemented") +} +func (UnimplementedPluginStoreServer) UnDeployPlugin(context.Context, *UnDeployPluginRequest) (*UnDeployPluginResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnDeployPlugin not implemented") +} +func (UnimplementedPluginStoreServer) mustEmbedUnimplementedPluginStoreServer() {} + +// UnsafePluginStoreServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to PluginStoreServer will +// result in compilation errors. +type UnsafePluginStoreServer interface { + mustEmbedUnimplementedPluginStoreServer() +} + +func RegisterPluginStoreServer(s grpc.ServiceRegistrar, srv PluginStoreServer) { + s.RegisterService(&PluginStore_ServiceDesc, srv) +} + +func _PluginStore_ConfigPluginStore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigPluginStoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PluginStoreServer).ConfigPluginStore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: PluginStore_ConfigPluginStore_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PluginStoreServer).ConfigPluginStore(ctx, req.(*ConfigPluginStoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PluginStore_SyncPluginStore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SyncPluginStoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PluginStoreServer).SyncPluginStore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: PluginStore_SyncPluginStore_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PluginStoreServer).SyncPluginStore(ctx, req.(*SyncPluginStoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PluginStore_GetPlugins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPluginsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PluginStoreServer).GetPlugins(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: PluginStore_GetPlugins_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PluginStoreServer).GetPlugins(ctx, req.(*GetPluginsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PluginStore_GetPluginValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPluginValuesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PluginStoreServer).GetPluginValues(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: PluginStore_GetPluginValues_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PluginStoreServer).GetPluginValues(ctx, req.(*GetPluginValuesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PluginStore_DeployPlugin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeployPluginRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PluginStoreServer).DeployPlugin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: PluginStore_DeployPlugin_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PluginStoreServer).DeployPlugin(ctx, req.(*DeployPluginRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PluginStore_UnDeployPlugin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnDeployPluginRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PluginStoreServer).UnDeployPlugin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: PluginStore_UnDeployPlugin_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PluginStoreServer).UnDeployPlugin(ctx, req.(*UnDeployPluginRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// PluginStore_ServiceDesc is the grpc.ServiceDesc for PluginStore service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var PluginStore_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "pluginstorepb.PluginStore", + HandlerType: (*PluginStoreServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ConfigPluginStore", + Handler: _PluginStore_ConfigPluginStore_Handler, + }, + { + MethodName: "SyncPluginStore", + Handler: _PluginStore_SyncPluginStore_Handler, + }, + { + MethodName: "GetPlugins", + Handler: _PluginStore_GetPlugins_Handler, + }, + { + MethodName: "GetPluginValues", + Handler: _PluginStore_GetPluginValues_Handler, + }, + { + MethodName: "DeployPlugin", + Handler: _PluginStore_DeployPlugin_Handler, + }, + { + MethodName: "UnDeployPlugin", + Handler: _PluginStore_UnDeployPlugin_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "plugin_store.proto", +} diff --git a/server/pkg/pb/serverpb/server.pb.go b/server/pkg/pb/serverpb/server.pb.go index 13ad5c99..1a6c26b4 100644 --- a/server/pkg/pb/serverpb/server.pb.go +++ b/server/pkg/pb/serverpb/server.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.30.0 // protoc v3.12.4 // source: server.proto diff --git a/server/pkg/plugin-store/plugin_store_handler.go b/server/pkg/plugin-store/plugin_store_handler.go new file mode 100644 index 00000000..cc2200f7 --- /dev/null +++ b/server/pkg/plugin-store/plugin_store_handler.go @@ -0,0 +1,103 @@ +package pluginstore + +import ( + "fmt" + "os" + + "github.com/intelops/go-common/logging" + "github.com/kelseyhightower/envconfig" + "github.com/kube-tarian/kad/server/pkg/store" + "github.com/kube-tarian/kad/server/pkg/types" + "github.com/pkg/errors" + "gopkg.in/yaml.v2" +) + +type Config struct { + PluginsStorePath string `envconfig:"PLUGIN_APP_CONFIG_PATH" default:"/data/app-store/data"` + PluginsFileName string `envconfig:"APP_STORE_CONFIG_FILE" default:"plugins.yaml"` +} + +type PluginStoreConfig struct { + Plugins []string `yaml:"plugins"` +} + +type DeploymentConfig struct { + Versions []string `yaml:"versions"` + ChartName string `yaml:"chartName"` + ChartRepo string `yaml:"chartRepo"` + DefaultNamespace string `yaml:"defaultNamespace"` + PrivilegedNamespace bool `yaml:"privilegedNamespace"` +} + +type PluginConfig struct { + Endpoint string `yaml:"Endpoint"` + Capabilities []string `yaml:"capabilities"` +} + +type Plugin struct { + PluginName string `yaml:"pluginName"` + Description string `yaml:"description"` + Category string `yaml:"category"` + Icon string `yaml:"icon"` + DeploymentConfig DeploymentConfig `yaml:"deploymentConfig"` + PluginConfig PluginConfig `yaml:"pluginConfig"` +} + +func SyncPluginApps(log logging.Logger, appStore store.ServerStore) error { + cfg := &Config{} + if err := envconfig.Process("", cfg); err != nil { + return err + } + + appListData, err := os.ReadFile(cfg.PluginsStorePath + "/" + cfg.PluginsFileName) + if err != nil { + return errors.WithMessage(err, "failed to read store config file") + } + + var config PluginStoreConfig + if err := yaml.Unmarshal(appListData, &config); err != nil { + return errors.WithMessage(err, "failed to unmarshall store config file") + } + + for _, pluginName := range config.Plugins { + err := addPluginApp(pluginName, cfg, appStore) + if err != nil { + log.Errorf("%v", err) + } + } + return nil +} + +func addPluginApp(pluginName string, cfg *Config, appStore store.ServerStore) error { + appData, err := os.ReadFile(cfg.PluginsStorePath + "/" + pluginName + "/plugin.yaml") + if err != nil { + return errors.WithMessagef(err, "failed to read store plugin %s", pluginName) + } + + var appConfig Plugin + if err := yaml.Unmarshal(appData, &appConfig); err != nil { + return errors.WithMessagef(err, "failed to unmarshall store plugin %s", pluginName) + } + + if appConfig.PluginName == "" || len(appConfig.DeploymentConfig.Versions) == 0 { + return fmt.Errorf("app name/version is missing for %s", pluginName) + } + + plugin := &types.Plugin{ + PluginName: appConfig.PluginName, + Description: appConfig.Description, + Category: appConfig.Category, + ChartName: appConfig.DeploymentConfig.ChartName, + ChartRepo: appConfig.DeploymentConfig.ChartRepo, + Versions: appConfig.DeploymentConfig.Versions, + DefaultNamespace: appConfig.DeploymentConfig.DefaultNamespace, + PrivilegedNamespace: appConfig.DeploymentConfig.PrivilegedNamespace, + PluginEndpoint: appConfig.PluginConfig.Endpoint, + Capabilities: appConfig.PluginConfig.Capabilities, + } + + if err := appStore.AddOrUpdatePlugin(plugin); err != nil { + return errors.WithMessagef(err, "failed to store plugin %s", pluginName) + } + return nil +} diff --git a/server/pkg/store/astra/plugin_store.go b/server/pkg/store/astra/plugin_store.go new file mode 100644 index 00000000..41f7a918 --- /dev/null +++ b/server/pkg/store/astra/plugin_store.go @@ -0,0 +1,12 @@ +package astra + +import ( + "fmt" + + "github.com/kube-tarian/kad/server/pkg/types" +) + +func (a *AstraServerStore) AddOrUpdatePlugin(config *types.Plugin) error { + fmt.Println("Plugin added, %+v", config) + return nil +} diff --git a/server/pkg/store/store.go b/server/pkg/store/store.go index 72bfcb11..cf983c17 100644 --- a/server/pkg/store/store.go +++ b/server/pkg/store/store.go @@ -22,6 +22,7 @@ type ServerStore interface { GetAppFromStore(name, version string) (*types.AppConfig, error) GetAppsFromStore() ([]types.AppConfig, error) GetStoreAppValues(name, version string) (*types.AppConfig, error) + AddOrUpdatePlugin(config *types.Plugin) error } func NewStore(db string) (ServerStore, error) { diff --git a/server/pkg/types/plugin_store_types.go b/server/pkg/types/plugin_store_types.go new file mode 100644 index 00000000..731a17d2 --- /dev/null +++ b/server/pkg/types/plugin_store_types.go @@ -0,0 +1,15 @@ +package types + +type Plugin struct { + PluginName string `json:"pluginName,omitempty"` + Description string `json:"description,omitempty"` + Category string `json:"category,omitempty"` + Icon string `json:"icon,omitempty"` + ChartName string `json:"chartName,omitempty"` + ChartRepo string `json:"chartRepo,omitempty"` + Versions []string `json:"versions,omitempty"` + DefaultNamespace string `json:"defaultNamespace,omitempty"` + PrivilegedNamespace bool `json:"privilegedNamespace"` + PluginEndpoint string `json:"pluginAccessEndpoint"` + Capabilities []string `json:"capabilities,omitempty"` +}