mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2024-12-14 11:57:51 +00:00
c3e2315834
Add a cluster-scoped Custom Resource Definition for specifying labeling rules. Nodes (node features, node objects) are cluster-level objects and thus the natural and encouraged setup is to only have one NFD deployment per cluster - the set of underlying features of the node stays the same independent of how many parallel NFD deployments you have. Our extension points (hooks, feature files and now CRs) can be be used by multiple actors (depending on us) simultaneously. Having the CRD cluster-scoped hopefully drives deployments in this direction. It also should make deployment of vendor-specific labeling rules easy as there is no need to worry about the namespace. This patch virtually replicates the source.custom.FeatureSpec in a CRD API (located in the pkg/apis/nfd/v1alpha1 package) with the notable exception that "MatchOn" legacy rules are not supported. Legacy rules are left out in order to keep the CRD simple and clean. The duplicate functionality in source/custom will be dropped by upcoming patches. This patch utilizes controller-gen (from sigs.k8s.io/controller-tools) for generating the CRD and deepcopy methods. Code can be (re-)generated with "make generate". Install controller-gen with: go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.7.0 Update kustomize and helm deployments to deploy the CRD.
236 lines
12 KiB
Modula-2
236 lines
12 KiB
Modula-2
module sigs.k8s.io/node-feature-discovery
|
|
|
|
go 1.17
|
|
|
|
require (
|
|
github.com/fsnotify/fsnotify v1.4.9
|
|
github.com/ghodss/yaml v1.0.0
|
|
github.com/gogo/protobuf v1.3.2
|
|
github.com/golang/protobuf v1.5.2
|
|
github.com/google/go-cmp v0.5.5
|
|
github.com/jaypipes/ghw v0.8.1-0.20210827132705-c7224150a17e
|
|
github.com/k8stopologyawareschedwg/noderesourcetopology-api v0.0.12
|
|
github.com/klauspost/cpuid/v2 v2.0.9
|
|
github.com/onsi/ginkgo v1.14.0
|
|
github.com/onsi/gomega v1.10.1
|
|
github.com/smartystreets/assertions v1.2.0
|
|
github.com/smartystreets/goconvey v1.6.4
|
|
github.com/stretchr/testify v1.7.0
|
|
github.com/vektra/errors v0.0.0-20140903201135-c64d83aba85a
|
|
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d
|
|
google.golang.org/grpc v1.38.0
|
|
google.golang.org/protobuf v1.27.1
|
|
k8s.io/api v0.22.0
|
|
k8s.io/apimachinery v0.22.3
|
|
k8s.io/client-go v0.22.3
|
|
k8s.io/klog/v2 v2.9.0
|
|
k8s.io/kubelet v0.0.0
|
|
k8s.io/kubernetes v1.22.0
|
|
sigs.k8s.io/yaml v1.2.0
|
|
)
|
|
|
|
require (
|
|
cloud.google.com/go v0.54.0 // indirect
|
|
github.com/Azure/azure-sdk-for-go v55.0.0+incompatible // indirect
|
|
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
|
|
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
|
github.com/Azure/go-autorest/autorest v0.11.18 // indirect
|
|
github.com/Azure/go-autorest/autorest/adal v0.9.13 // indirect
|
|
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
|
|
github.com/Azure/go-autorest/autorest/mocks v0.4.1 // indirect
|
|
github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
|
|
github.com/Azure/go-autorest/autorest/validation v0.1.0 // indirect
|
|
github.com/Azure/go-autorest/logger v0.2.1 // indirect
|
|
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
|
|
github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20200415212048-7901bc822317 // indirect
|
|
github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab // indirect
|
|
github.com/Microsoft/go-winio v0.4.15 // indirect
|
|
github.com/Microsoft/hcsshim v0.8.10-0.20200715222032-5eafd1556990 // indirect
|
|
github.com/NYTimes/gziphandler v1.1.1 // indirect
|
|
github.com/PuerkitoBio/purell v1.1.1 // indirect
|
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
|
|
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect
|
|
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e // indirect
|
|
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a // indirect
|
|
github.com/aws/aws-sdk-go v1.38.49 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/bits-and-blooms/bitset v1.2.0 // indirect
|
|
github.com/blang/semver v3.5.1+incompatible // indirect
|
|
github.com/cespare/xxhash/v2 v2.1.1 // indirect
|
|
github.com/checkpoint-restore/go-criu/v5 v5.0.0 // indirect
|
|
github.com/cilium/ebpf v0.6.2 // indirect
|
|
github.com/clusterhq/flocker-go v0.0.0-20160920122132-2b8b7259d313 // indirect
|
|
github.com/container-storage-interface/spec v1.5.0 // indirect
|
|
github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59 // indirect
|
|
github.com/containerd/console v1.0.2 // indirect
|
|
github.com/containerd/containerd v1.4.4 // indirect
|
|
github.com/containerd/ttrpc v1.0.2 // indirect
|
|
github.com/containernetworking/cni v0.8.1 // indirect
|
|
github.com/coreos/go-semver v0.3.0 // indirect
|
|
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
|
github.com/cyphar/filepath-securejoin v0.2.2 // indirect
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
github.com/docker/distribution v2.7.1+incompatible // indirect
|
|
github.com/docker/docker v20.10.2+incompatible // indirect
|
|
github.com/docker/go-connections v0.4.0 // indirect
|
|
github.com/docker/go-units v0.4.0 // indirect
|
|
github.com/emicklei/go-restful v2.9.5+incompatible // indirect
|
|
github.com/euank/go-kmsg-parser v2.0.0+incompatible // indirect
|
|
github.com/evanphx/json-patch v4.11.0+incompatible // indirect
|
|
github.com/felixge/httpsnoop v1.0.1 // indirect
|
|
github.com/form3tech-oss/jwt-go v3.2.3+incompatible // indirect
|
|
github.com/go-logr/logr v0.4.0 // indirect
|
|
github.com/go-ole/go-ole v1.2.4 // indirect
|
|
github.com/go-openapi/jsonpointer v0.19.5 // indirect
|
|
github.com/go-openapi/jsonreference v0.19.5 // indirect
|
|
github.com/go-openapi/swag v0.19.14 // indirect
|
|
github.com/go-ozzo/ozzo-validation v3.5.0+incompatible // indirect
|
|
github.com/godbus/dbus/v5 v5.0.4 // indirect
|
|
github.com/gofrs/uuid v4.0.0+incompatible // indirect
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
|
github.com/golang/mock v1.4.4 // indirect
|
|
github.com/google/cadvisor v0.39.2 // indirect
|
|
github.com/google/gofuzz v1.1.0 // indirect
|
|
github.com/google/uuid v1.1.2 // indirect
|
|
github.com/googleapis/gax-go/v2 v2.0.5 // indirect
|
|
github.com/googleapis/gnostic v0.5.5 // indirect
|
|
github.com/gophercloud/gophercloud v0.1.0 // indirect
|
|
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
|
|
github.com/heketi/heketi v10.3.0+incompatible // indirect
|
|
github.com/imdario/mergo v0.3.5 // indirect
|
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
|
github.com/jaypipes/pcidb v0.6.0 // indirect
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
github.com/josharian/intern v1.0.0 // indirect
|
|
github.com/json-iterator/go v1.1.11 // indirect
|
|
github.com/jtolds/gls v4.20.0+incompatible // indirect
|
|
github.com/karrick/godirwalk v1.16.1 // indirect
|
|
github.com/libopenstorage/openstorage v1.0.0 // indirect
|
|
github.com/lithammer/dedent v1.1.0 // indirect
|
|
github.com/mailru/easyjson v0.7.6 // indirect
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
|
|
github.com/mindprince/gonvml v0.0.0-20190828220739-9ebdce4bb989 // indirect
|
|
github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible // indirect
|
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
|
github.com/mitchellh/mapstructure v1.1.2 // indirect
|
|
github.com/moby/ipvs v1.0.1 // indirect
|
|
github.com/moby/spdystream v0.2.0 // indirect
|
|
github.com/moby/sys/mountinfo v0.4.1 // indirect
|
|
github.com/moby/term v0.0.0-20210610120745-9d4ed1856297 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.1 // indirect
|
|
github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb // indirect
|
|
github.com/morikuni/aec v1.0.0 // indirect
|
|
github.com/mrunalp/fileutils v0.5.0 // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
|
|
github.com/nxadm/tail v1.4.4 // indirect
|
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
|
github.com/opencontainers/image-spec v1.0.1 // indirect
|
|
github.com/opencontainers/runc v1.0.1 // indirect
|
|
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 // indirect
|
|
github.com/opencontainers/selinux v1.8.2 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/prometheus/client_golang v1.11.0 // indirect
|
|
github.com/prometheus/client_model v0.2.0 // indirect
|
|
github.com/prometheus/common v0.26.0 // indirect
|
|
github.com/prometheus/procfs v0.6.0 // indirect
|
|
github.com/quobyte/api v0.1.8 // indirect
|
|
github.com/rubiojr/go-vhd v0.0.0-20200706105327-02e210299021 // indirect
|
|
github.com/seccomp/libseccomp-golang v0.9.1 // indirect
|
|
github.com/sirupsen/logrus v1.8.1 // indirect
|
|
github.com/spf13/cobra v1.1.3 // indirect
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
|
github.com/storageos/go-api v2.2.0+incompatible // indirect
|
|
github.com/stretchr/objx v0.2.0 // indirect
|
|
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 // indirect
|
|
github.com/vishvananda/netlink v1.1.0 // indirect
|
|
github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae // indirect
|
|
github.com/vmware/govmomi v0.20.3 // indirect
|
|
go.etcd.io/etcd/api/v3 v3.5.0 // indirect
|
|
go.etcd.io/etcd/client/pkg/v3 v3.5.0 // indirect
|
|
go.etcd.io/etcd/client/v3 v3.5.0 // indirect
|
|
go.opencensus.io v0.22.3 // indirect
|
|
go.opentelemetry.io/contrib v0.20.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0 // indirect
|
|
go.opentelemetry.io/otel v0.20.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp v0.20.0 // indirect
|
|
go.opentelemetry.io/otel/metric v0.20.0 // indirect
|
|
go.opentelemetry.io/otel/sdk v0.20.0 // indirect
|
|
go.opentelemetry.io/otel/sdk/export/metric v0.20.0 // indirect
|
|
go.opentelemetry.io/otel/sdk/metric v0.20.0 // indirect
|
|
go.opentelemetry.io/otel/trace v0.20.0 // indirect
|
|
go.opentelemetry.io/proto/otlp v0.7.0 // indirect
|
|
go.uber.org/atomic v1.7.0 // indirect
|
|
go.uber.org/multierr v1.6.0 // indirect
|
|
go.uber.org/zap v1.17.0 // indirect
|
|
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 // indirect
|
|
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d // indirect
|
|
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
|
|
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect
|
|
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d // indirect
|
|
golang.org/x/text v0.3.6 // indirect
|
|
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect
|
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
|
|
google.golang.org/api v0.20.0 // indirect
|
|
google.golang.org/appengine v1.6.5 // indirect
|
|
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c // indirect
|
|
gopkg.in/gcfg.v1 v1.2.0 // indirect
|
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
|
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
|
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
|
gopkg.in/warnings.v0 v0.1.1 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
|
|
howett.net/plist v0.0.0-20181124034731-591f970eefbb // indirect
|
|
k8s.io/apiserver v0.22.0 // indirect
|
|
k8s.io/cloud-provider v0.22.0 // indirect
|
|
k8s.io/component-base v0.22.0 // indirect
|
|
k8s.io/component-helpers v0.22.0 // indirect
|
|
k8s.io/cri-api v0.0.0 // indirect
|
|
k8s.io/csi-translation-lib v0.22.0 // indirect
|
|
k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e // indirect
|
|
k8s.io/kube-proxy v0.0.0 // indirect
|
|
k8s.io/kube-scheduler v0.0.0 // indirect
|
|
k8s.io/kubectl v0.0.0 // indirect
|
|
k8s.io/legacy-cloud-providers v0.0.0 // indirect
|
|
k8s.io/mount-utils v0.22.0 // indirect
|
|
k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9 // indirect
|
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22 // indirect
|
|
sigs.k8s.io/structured-merge-diff/v4 v4.1.2 // indirect
|
|
)
|
|
|
|
// The k8s "sub-"packages do not have 'semver' compatible versions. Thus, we
|
|
// need to override with commits (corresponding their kubernetes-* tags)
|
|
replace (
|
|
github.com/gogo/protobuf => github.com/gogo/protobuf v1.3.2
|
|
k8s.io/api => k8s.io/api v0.22.0
|
|
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.22.0
|
|
k8s.io/apimachinery => k8s.io/apimachinery v0.22.0
|
|
k8s.io/apiserver => k8s.io/apiserver v0.22.0
|
|
k8s.io/cli-runtime => k8s.io/cli-runtime v0.22.0
|
|
k8s.io/client-go => k8s.io/client-go v0.22.0
|
|
k8s.io/cloud-provider => k8s.io/cloud-provider v0.22.0
|
|
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.22.0
|
|
k8s.io/code-generator => k8s.io/code-generator v0.22.0
|
|
k8s.io/component-base => k8s.io/component-base v0.22.0
|
|
k8s.io/component-helpers => k8s.io/component-helpers v0.22.0
|
|
k8s.io/controller-manager => k8s.io/controller-manager v0.22.0
|
|
k8s.io/cri-api => k8s.io/cri-api v0.22.0
|
|
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.22.0
|
|
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.22.0
|
|
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.22.0
|
|
k8s.io/kube-proxy => k8s.io/kube-proxy v0.22.0
|
|
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.22.0
|
|
k8s.io/kubectl => k8s.io/kubectl v0.22.0
|
|
k8s.io/kubelet => k8s.io/kubelet v0.22.0
|
|
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.22.0
|
|
k8s.io/metrics => k8s.io/metrics v0.22.0
|
|
k8s.io/mount-utils => k8s.io/mount-utils v0.22.0
|
|
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.22.0
|
|
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.22.0
|
|
)
|