mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2024-12-14 11:57:51 +00:00
grpc: extend the API to send raw features
Enable transmitting the discovered "raw" features over the gRPC API. Extend pkg/api/feature with protobuf and gRPC code. In this, utilize go-to-protobuf from k8s code-generator for auto-generating the gRPC interface from golang code. The tool can be Installed with: go install k8s.io/code-generator/cmd/go-to-protobuf@v0.20.7 The auto-generated code is (re-)generated/updated with "make apigen".
This commit is contained in:
parent
c29ab3bb35
commit
d4d9a03732
9 changed files with 2193 additions and 39 deletions
1
go.mod
1
go.mod
|
@ -5,6 +5,7 @@ go 1.17
|
||||||
require (
|
require (
|
||||||
github.com/fsnotify/fsnotify v1.4.9
|
github.com/fsnotify/fsnotify v1.4.9
|
||||||
github.com/ghodss/yaml v1.0.0
|
github.com/ghodss/yaml v1.0.0
|
||||||
|
github.com/gogo/protobuf v1.3.2
|
||||||
github.com/golang/protobuf v1.5.2
|
github.com/golang/protobuf v1.5.2
|
||||||
github.com/google/go-cmp v0.5.5
|
github.com/google/go-cmp v0.5.5
|
||||||
github.com/jaypipes/ghw v0.8.1-0.20210827132705-c7224150a17e
|
github.com/jaypipes/ghw v0.8.1-0.20210827132705-c7224150a17e
|
||||||
|
|
16
hack/boilerplate.go.txt
Normal file
16
hack/boilerplate.go.txt
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
/*
|
||||||
|
Copyright YEAR The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
16
pkg/api/feature/generate.sh
Executable file
16
pkg/api/feature/generate.sh
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh -ex
|
||||||
|
|
||||||
|
# go-to-protobuf seems unable to run in the package directory -> move to parent dir
|
||||||
|
cd ..
|
||||||
|
go-to-protobuf \
|
||||||
|
--output-base=. \
|
||||||
|
--go-header-file ../../hack/boilerplate.go.txt \
|
||||||
|
--proto-import ../../vendor \
|
||||||
|
--packages ./feature=feature \
|
||||||
|
--keep-gogoproto=false \
|
||||||
|
--apimachinery-packages "-k8s.io/apimachinery/pkg/util/intstr"
|
||||||
|
cd -
|
||||||
|
|
||||||
|
# Mangle the go_package option to comply with newer versions protoc-gen-go
|
||||||
|
sed s',go_package =.*,go_package = "sigs.k8s.io/node-feature-discovery/pkg/api/feature";,' \
|
||||||
|
-i generated.proto
|
2033
pkg/api/feature/generated.pb.go
Normal file
2033
pkg/api/feature/generated.pb.go
Normal file
File diff suppressed because it is too large
Load diff
59
pkg/api/feature/generated.proto
Normal file
59
pkg/api/feature/generated.proto
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
/*
|
||||||
|
Copyright 2021 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package feature;
|
||||||
|
|
||||||
|
// Package-wide variables from generator "generated".
|
||||||
|
option go_package = "sigs.k8s.io/node-feature-discovery/pkg/api/feature";
|
||||||
|
|
||||||
|
// DomainFeatures is the collection of all discovered features of one domain.
|
||||||
|
message DomainFeatures {
|
||||||
|
map<string, KeyFeatureSet> keys = 1;
|
||||||
|
|
||||||
|
map<string, ValueFeatureSet> values = 2;
|
||||||
|
|
||||||
|
map<string, InstanceFeatureSet> instances = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// InstanceFeature represents one instance of a complex features, e.g. a device.
|
||||||
|
message InstanceFeature {
|
||||||
|
map<string, string> attributes = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// InstanceFeatureSet is a set of features each of which is an instance having multiple attributes.
|
||||||
|
message InstanceFeatureSet {
|
||||||
|
repeated InstanceFeature elements = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyFeatureSet is a set of simple features only containing names without values.
|
||||||
|
message KeyFeatureSet {
|
||||||
|
map<string, Nil> elements = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Nil is a dummy empty struct for protobuf compatibility
|
||||||
|
message Nil {
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValueFeatureSet is a set of features having string value.
|
||||||
|
message ValueFeatureSet {
|
||||||
|
map<string, string> elements = 1;
|
||||||
|
}
|
||||||
|
|
|
@ -16,6 +16,8 @@ limitations under the License.
|
||||||
|
|
||||||
package feature
|
package feature
|
||||||
|
|
||||||
|
//go:generate ./generate.sh
|
||||||
|
|
||||||
// Features is a collection of all features of the system, arranged by domain.
|
// Features is a collection of all features of the system, arranged by domain.
|
||||||
// +protobuf
|
// +protobuf
|
||||||
type Features map[string]*DomainFeatures
|
type Features map[string]*DomainFeatures
|
||||||
|
|
|
@ -16,5 +16,5 @@ limitations under the License.
|
||||||
|
|
||||||
package labeler
|
package labeler
|
||||||
|
|
||||||
//go:generate protoc --go_opt=paths=source_relative --go_out=plugins=grpc:. labeler.proto
|
//go:generate protoc --go_opt=paths=source_relative --go_out=plugins=grpc:. -I . -I ../.. -I ../../vendor labeler.proto
|
||||||
//go:generate mockery --name=LabelerClient --inpkg
|
//go:generate mockery --name=LabelerClient --inpkg
|
||||||
|
|
|
@ -30,6 +30,7 @@ import (
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
reflect "reflect"
|
reflect "reflect"
|
||||||
|
feature "sigs.k8s.io/node-feature-discovery/pkg/api/feature"
|
||||||
sync "sync"
|
sync "sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -49,9 +50,10 @@ type SetLabelsRequest struct {
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
NfdVersion string `protobuf:"bytes,1,opt,name=nfd_version,json=nfdVersion,proto3" json:"nfd_version,omitempty"`
|
NfdVersion string `protobuf:"bytes,1,opt,name=nfd_version,json=nfdVersion,proto3" json:"nfd_version,omitempty"`
|
||||||
NodeName string `protobuf:"bytes,2,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
|
NodeName string `protobuf:"bytes,2,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
|
||||||
Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||||
|
Features map[string]*feature.DomainFeatures `protobuf:"bytes,4,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *SetLabelsRequest) Reset() {
|
func (x *SetLabelsRequest) Reset() {
|
||||||
|
@ -107,6 +109,13 @@ func (x *SetLabelsRequest) GetLabels() map[string]string {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *SetLabelsRequest) GetFeatures() map[string]*feature.DomainFeatures {
|
||||||
|
if x != nil {
|
||||||
|
return x.Features
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
type SetLabelsReply struct {
|
type SetLabelsReply struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
|
@ -149,29 +158,41 @@ var File_labeler_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_labeler_proto_rawDesc = []byte{
|
var file_labeler_proto_rawDesc = []byte{
|
||||||
0x0a, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
0x0a, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||||
0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x22, 0xca, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74,
|
0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x1a, 0x1f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70,
|
||||||
0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a,
|
0x69, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
|
||||||
0x0b, 0x6e, 0x66, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
|
0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x02, 0x0a, 0x10, 0x53, 0x65,
|
||||||
0x28, 0x09, 0x52, 0x0a, 0x6e, 0x66, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b,
|
0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f,
|
||||||
0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
0x0a, 0x0b, 0x6e, 0x66, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
|
||||||
0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x6c,
|
0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x66, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
|
||||||
0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x61,
|
0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||||
|
0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06,
|
||||||
|
0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c,
|
||||||
|
0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
|
||||||
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
|
||||||
|
0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x66,
|
||||||
|
0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e,
|
||||||
|
0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c,
|
||||||
|
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
|
||||||
|
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
|
||||||
|
0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
|
||||||
|
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
|
||||||
|
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||||
|
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54, 0x0a, 0x0d, 0x46,
|
||||||
|
0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
|
||||||
|
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d,
|
||||||
|
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
|
||||||
|
0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x65,
|
||||||
|
0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
|
||||||
|
0x01, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65,
|
||||||
|
0x70, 0x6c, 0x79, 0x32, 0x4c, 0x0a, 0x07, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x12, 0x41,
|
||||||
|
0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x61,
|
||||||
0x62, 0x65, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52,
|
0x62, 0x65, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52,
|
||||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72,
|
||||||
0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61,
|
0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
|
||||||
0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
|
0x00, 0x42, 0x30, 0x5a, 0x2e, 0x73, 0x69, 0x67, 0x73, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
|
0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2d, 0x64, 0x69,
|
||||||
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6c, 0x61, 0x62, 0x65,
|
||||||
0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65,
|
0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x6c, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x32, 0x4c, 0x0a, 0x07, 0x4c, 0x61, 0x62, 0x65, 0x6c,
|
|
||||||
0x65, 0x72, 0x12, 0x41, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12,
|
|
||||||
0x19, 0x2e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62,
|
|
||||||
0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x61, 0x62,
|
|
||||||
0x65, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65,
|
|
||||||
0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x30, 0x5a, 0x2e, 0x73, 0x69, 0x67, 0x73, 0x2e, 0x6b, 0x38,
|
|
||||||
0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
|
|
||||||
0x65, 0x2d, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f,
|
|
||||||
0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -186,21 +207,25 @@ func file_labeler_proto_rawDescGZIP() []byte {
|
||||||
return file_labeler_proto_rawDescData
|
return file_labeler_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_labeler_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
|
var file_labeler_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||||
var file_labeler_proto_goTypes = []interface{}{
|
var file_labeler_proto_goTypes = []interface{}{
|
||||||
(*SetLabelsRequest)(nil), // 0: labeler.SetLabelsRequest
|
(*SetLabelsRequest)(nil), // 0: labeler.SetLabelsRequest
|
||||||
(*SetLabelsReply)(nil), // 1: labeler.SetLabelsReply
|
(*SetLabelsReply)(nil), // 1: labeler.SetLabelsReply
|
||||||
nil, // 2: labeler.SetLabelsRequest.LabelsEntry
|
nil, // 2: labeler.SetLabelsRequest.LabelsEntry
|
||||||
|
nil, // 3: labeler.SetLabelsRequest.FeaturesEntry
|
||||||
|
(*feature.DomainFeatures)(nil), // 4: feature.DomainFeatures
|
||||||
}
|
}
|
||||||
var file_labeler_proto_depIdxs = []int32{
|
var file_labeler_proto_depIdxs = []int32{
|
||||||
2, // 0: labeler.SetLabelsRequest.labels:type_name -> labeler.SetLabelsRequest.LabelsEntry
|
2, // 0: labeler.SetLabelsRequest.labels:type_name -> labeler.SetLabelsRequest.LabelsEntry
|
||||||
0, // 1: labeler.Labeler.SetLabels:input_type -> labeler.SetLabelsRequest
|
3, // 1: labeler.SetLabelsRequest.features:type_name -> labeler.SetLabelsRequest.FeaturesEntry
|
||||||
1, // 2: labeler.Labeler.SetLabels:output_type -> labeler.SetLabelsReply
|
4, // 2: labeler.SetLabelsRequest.FeaturesEntry.value:type_name -> feature.DomainFeatures
|
||||||
2, // [2:3] is the sub-list for method output_type
|
0, // 3: labeler.Labeler.SetLabels:input_type -> labeler.SetLabelsRequest
|
||||||
1, // [1:2] is the sub-list for method input_type
|
1, // 4: labeler.Labeler.SetLabels:output_type -> labeler.SetLabelsReply
|
||||||
1, // [1:1] is the sub-list for extension type_name
|
4, // [4:5] is the sub-list for method output_type
|
||||||
1, // [1:1] is the sub-list for extension extendee
|
3, // [3:4] is the sub-list for method input_type
|
||||||
0, // [0:1] is the sub-list for field type_name
|
3, // [3:3] is the sub-list for extension type_name
|
||||||
|
3, // [3:3] is the sub-list for extension extendee
|
||||||
|
0, // [0:3] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_labeler_proto_init() }
|
func init() { file_labeler_proto_init() }
|
||||||
|
@ -240,7 +265,7 @@ func file_labeler_proto_init() {
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_labeler_proto_rawDesc,
|
RawDescriptor: file_labeler_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 3,
|
NumMessages: 4,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 1,
|
NumServices: 1,
|
||||||
},
|
},
|
||||||
|
|
|
@ -18,6 +18,8 @@ syntax = "proto3";
|
||||||
|
|
||||||
option go_package = "sigs.k8s.io/node-feature-discovery/pkg/labeler";
|
option go_package = "sigs.k8s.io/node-feature-discovery/pkg/labeler";
|
||||||
|
|
||||||
|
import "pkg/api/feature/generated.proto";
|
||||||
|
|
||||||
package labeler;
|
package labeler;
|
||||||
|
|
||||||
service Labeler{
|
service Labeler{
|
||||||
|
@ -28,8 +30,8 @@ message SetLabelsRequest {
|
||||||
string nfd_version = 1;
|
string nfd_version = 1;
|
||||||
string node_name = 2;
|
string node_name = 2;
|
||||||
map<string, string> labels = 3;
|
map<string, string> labels = 3;
|
||||||
|
map<string, feature.DomainFeatures> features = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message SetLabelsReply {
|
message SetLabelsReply {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue