diff --git a/api/nfd/v1alpha1/zz_generated.deepcopy.go b/api/nfd/v1alpha1/zz_generated.deepcopy.go index d4d4cc5de..94748d2ad 100644 --- a/api/nfd/v1alpha1/zz_generated.deepcopy.go +++ b/api/nfd/v1alpha1/zz_generated.deepcopy.go @@ -1,12 +1,29 @@ //go:build !ignore_autogenerated +// +build !ignore_autogenerated -// Code generated by controller-gen. DO NOT EDIT. +/* +Copyright 2024 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by deepcopy-gen. DO NOT EDIT. package v1alpha1 import ( - "k8s.io/api/core/v1" - "k8s.io/apimachinery/pkg/runtime" + v1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. @@ -19,6 +36,7 @@ func (in *AttributeFeatureSet) DeepCopyInto(out *AttributeFeatureSet) { (*out)[key] = val } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttributeFeatureSet. @@ -39,6 +57,7 @@ func (in FeatureMatcher) DeepCopyInto(out *FeatureMatcher) { for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } + return } } @@ -66,8 +85,7 @@ func (in *FeatureMatcherTerm) DeepCopyInto(out *FeatureMatcherTerm) { if val == nil { (*out)[key] = nil } else { - inVal := (*in)[key] - in, out := &inVal, &outVal + in, out := &val, &outVal *out = new(MatchExpression) (*in).DeepCopyInto(*out) } @@ -80,6 +98,7 @@ func (in *FeatureMatcherTerm) DeepCopyInto(out *FeatureMatcherTerm) { *out = new(MatchExpression) (*in).DeepCopyInto(*out) } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureMatcherTerm. @@ -116,6 +135,7 @@ func (in *Features) DeepCopyInto(out *Features) { (*out)[key] = *val.DeepCopy() } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Features. @@ -138,6 +158,7 @@ func (in *FlagFeatureSet) DeepCopyInto(out *FlagFeatureSet) { (*out)[key] = val } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlagFeatureSet. @@ -160,6 +181,7 @@ func (in *InstanceFeature) DeepCopyInto(out *InstanceFeature) { (*out)[key] = val } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFeature. @@ -182,6 +204,7 @@ func (in *InstanceFeatureSet) DeepCopyInto(out *InstanceFeatureSet) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFeatureSet. @@ -204,6 +227,7 @@ func (in *MatchAnyElem) DeepCopyInto(out *MatchAnyElem) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchAnyElem. @@ -224,6 +248,7 @@ func (in *MatchExpression) DeepCopyInto(out *MatchExpression) { *out = make(MatchValue, len(*in)) copy(*out, *in) } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchExpression. @@ -246,13 +271,13 @@ func (in MatchExpressionSet) DeepCopyInto(out *MatchExpressionSet) { if val == nil { (*out)[key] = nil } else { - inVal := (*in)[key] - in, out := &inVal, &outVal + in, out := &val, &outVal *out = new(MatchExpression) (*in).DeepCopyInto(*out) } (*out)[key] = outVal } + return } } @@ -272,6 +297,7 @@ func (in MatchValue) DeepCopyInto(out *MatchValue) { in := &in *out = make(MatchValue, len(*in)) copy(*out, *in) + return } } @@ -288,6 +314,7 @@ func (in MatchValue) DeepCopy() MatchValue { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Nil) DeepCopyInto(out *Nil) { *out = *in + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nil. @@ -306,6 +333,7 @@ func (in *NodeFeature) DeepCopyInto(out *NodeFeature) { out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeFeature. @@ -338,6 +366,7 @@ func (in *NodeFeatureList) DeepCopyInto(out *NodeFeatureList) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeFeatureList. @@ -364,6 +393,7 @@ func (in *NodeFeatureRule) DeepCopyInto(out *NodeFeatureRule) { out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeFeatureRule. @@ -396,6 +426,7 @@ func (in *NodeFeatureRuleList) DeepCopyInto(out *NodeFeatureRuleList) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeFeatureRuleList. @@ -426,6 +457,7 @@ func (in *NodeFeatureRuleSpec) DeepCopyInto(out *NodeFeatureRuleSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeFeatureRuleSpec. @@ -449,6 +481,7 @@ func (in *NodeFeatureSpec) DeepCopyInto(out *NodeFeatureSpec) { (*out)[key] = val } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeFeatureSpec. @@ -513,6 +546,7 @@ func (in *Rule) DeepCopyInto(out *Rule) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule. diff --git a/hack/update_codegen.sh b/hack/update_codegen.sh index 052cb6551..bcd697d9f 100755 --- a/hack/update_codegen.sh +++ b/hack/update_codegen.sh @@ -18,51 +18,55 @@ set -o errexit set -o nounset set -o pipefail +TMP_VENDOR_DIR=gen-vendor + +function cleanup() { + echo "Cleaning up..." + rm -rf ${TMP_VENDOR_DIR} + rm sigs.k8s.io + # We need to clean up the go.mod file since code-generator adds temporary library to the go.mod file. + "${GO_CMD}" mod tidy +} + +trap cleanup EXIT GO_CMD=${1:-go} NFD_ROOT=$(realpath $(dirname ${BASH_SOURCE[0]})/..) -go mod vendor +"${GO_CMD}" mod vendor -CODEGEN_PKG=${CODEGEN_PKG:-$(cd "${NFD_ROOT}"; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} +# Go generate +"${GO_CMD}" generate ./cmd/... ./pkg/... ./source/... + +# Generate CRDs +controller-gen object crd output:crd:stdout paths=./api/... > deployment/base/nfd-crds/nfd-api-crds.yaml +mkdir -p deployment/helm/node-feature-discovery/crds +cp deployment/base/nfd-crds/nfd-api-crds.yaml deployment/helm/node-feature-discovery/crds + +# Generate clientset and informers +mv vendor ${TMP_VENDOR_DIR} +CODEGEN_PKG=${CODEGEN_PKG:-$(ls -d -1 ./${TMP_VENDOR_DIR}/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} cd $(dirname ${BASH_SOURCE[0]})/.. source "${CODEGEN_PKG}/kube_codegen.sh" -# TODO: remove the workaround when the issue is solved in the code-generator -# (https://github.com/kubernetes/code-generator/issues/165). -# Here, we create the soft link named "sigs.k8s.io" to the parent directory of -# node-feature-discovery to ensure the layout required by the kube_codegen.sh script. +# TODO: https://github.com/kubernetes/code-generator/issues/165 has been closed +# we need to bump the version of code-generator to v0.30.0 once it's released ln -s .. sigs.k8s.io -trap "rm sigs.k8s.io" EXIT - -CODEGEN_PKG=${CODEGEN_PKG:-$(ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} - -source "${CODEGEN_PKG}/kube_codegen.sh" - -go generate ./cmd/... ./pkg/... ./source/... - -controller-gen object crd output:crd:stdout paths=./apis/... > deployment/base/nfd-crds/nfd-api-crds.yaml - -mkdir -p deployment/helm/node-feature-discovery/crds -cp deployment/base/nfd-crds/nfd-api-crds.yaml deployment/helm/node-feature-discovery/crds # Generating conversion and defaults functions kube::codegen::gen_helpers \ - --input-pkg-root sigs.k8s.io/node-feature-discovery/apis \ + --input-pkg-root sigs.k8s.io/node-feature-discovery/api/nfd \ --output-base "${NFD_ROOT}" \ --boilerplate ${NFD_ROOT}/hack/boilerplate.go.txt +# HACK: manually patching the auto-generated code as code-generator cannot +# properly handle deepcopy of MatchExpressionSet. +sed s'/out = new(map\[string\]\*MatchExpression)/out = new(MatchExpressionSet)/' -i api/nfd/v1alpha1/zz_generated.deepcopy.go + kube::codegen::gen_client \ - --input-pkg-root sigs.k8s.io/node-feature-discovery/apis \ - --output-pkg-root sigs.k8s.io/node-feature-discovery/generated \ + --input-pkg-root sigs.k8s.io/node-feature-discovery/api \ + --output-pkg-root sigs.k8s.io/node-feature-discovery/api/generated \ --output-base "${NFD_ROOT}" \ --boilerplate ${NFD_ROOT}/hack/boilerplate.go.txt \ --with-watch - -# HACK: manually patching the auto-generated code as code-generator cannot -# properly handle deepcopy of MatchExpressionSet. -sed s'/out = new(map\[string\]\*MatchExpression)/out = new(MatchExpressionSet)/' -i apis/nfd/v1alpha1/zz_generated.deepcopy.go - -# We need to clean up the go.mod file since code-generator adds temporary library to the go.mod file. -"${GO_CMD}" mod tidy \ No newline at end of file diff --git a/pkg/labeler/labeler.pb.go b/pkg/labeler/labeler.pb.go index 23469ee7d..742f4a77e 100644 --- a/pkg/labeler/labeler.pb.go +++ b/pkg/labeler/labeler.pb.go @@ -158,35 +158,37 @@ var File_labeler_proto protoreflect.FileDescriptor var file_labeler_proto_rawDesc = []byte{ 0x0a, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x1a, 0x25, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, - 0x69, 0x73, 0x2f, 0x6e, 0x66, 0x64, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xfa, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x66, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x66, 0x64, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 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, 0x2e, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 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, 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, 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, + 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x1a, 0x43, 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, 0x61, 0x70, 0x69, + 0x2f, 0x6e, 0x66, 0x64, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x01, + 0x0a, 0x10, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x66, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x66, 0x64, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 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, + 0x2e, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 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, 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, 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 ( diff --git a/pkg/labeler/labeler.proto b/pkg/labeler/labeler.proto index 10630d229..57cd8daaa 100644 --- a/pkg/labeler/labeler.proto +++ b/pkg/labeler/labeler.proto @@ -18,7 +18,7 @@ syntax = "proto3"; option go_package = "sigs.k8s.io/node-feature-discovery/pkg/labeler"; -import "pkg/apis/nfd/v1alpha1/generated.proto"; +import "sigs.k8s.io/node-feature-discovery/api/nfd/v1alpha1/generated.proto"; package labeler;