Skip to content

Commit d50ad2d

Browse files
committed
sync helm chart crds/rbac with the kustomize files
The helm charts are out of sync with those used by the kustomize installer, this commit copies them over and converts them to use helm variables. This should now mean you get the same set of crds, serviceaccounts, bindings, etc. whichever of the two installation methods you use, and nfd should all Just Work (tm) either way. (Most rbac objects should have the chart fullname in their name but the serviceaccount names are hardwired to nfd-master, nfd-worker etc. in the operator reconciliation code (that creates the deployment/daemonsets) so they can't be templated.)
1 parent febaa0a commit d50ad2d

33 files changed

+1948
-1143
lines changed

deploy/helm/nfd-operator/crds/nfd-api-crds.yaml

-774
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,271 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.14.0
7+
name: nodefeaturegroups.nfd.k8s-sigs.io
8+
spec:
9+
group: nfd.k8s-sigs.io
10+
names:
11+
kind: NodeFeatureGroup
12+
listKind: NodeFeatureGroupList
13+
plural: nodefeaturegroups
14+
shortNames:
15+
- nfg
16+
singular: nodefeaturegroup
17+
scope: Namespaced
18+
versions:
19+
- name: v1alpha1
20+
schema:
21+
openAPIV3Schema:
22+
description: NodeFeatureGroup resource holds Node pools by featureGroup
23+
properties:
24+
apiVersion:
25+
description: |-
26+
APIVersion defines the versioned schema of this representation of an object.
27+
Servers should convert recognized schemas to the latest internal value, and
28+
may reject unrecognized values.
29+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
30+
type: string
31+
kind:
32+
description: |-
33+
Kind is a string value representing the REST resource this object represents.
34+
Servers may infer this from the endpoint the client submits requests to.
35+
Cannot be updated.
36+
In CamelCase.
37+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
38+
type: string
39+
metadata:
40+
type: object
41+
spec:
42+
description: Spec defines the rules to be evaluated.
43+
properties:
44+
featureGroupRules:
45+
description: List of rules to evaluate to determine nodes that belong
46+
in this group.
47+
items:
48+
description: GroupRule defines a rule for nodegroup filtering.
49+
properties:
50+
matchAny:
51+
description: MatchAny specifies a list of matchers one of which
52+
must match.
53+
items:
54+
description: MatchAnyElem specifies one sub-matcher of MatchAny.
55+
properties:
56+
matchFeatures:
57+
description: MatchFeatures specifies a set of matcher
58+
terms all of which must match.
59+
items:
60+
description: |-
61+
FeatureMatcherTerm defines requirements against one feature set. All
62+
requirements (specified as MatchExpressions) are evaluated against each
63+
element in the feature set.
64+
properties:
65+
feature:
66+
description: Feature is the name of the feature
67+
set to match against.
68+
type: string
69+
matchExpressions:
70+
additionalProperties:
71+
description: |-
72+
MatchExpression specifies an expression to evaluate against a set of input
73+
values. It contains an operator that is applied when matching the input and
74+
an array of values that the operator evaluates the input against.
75+
properties:
76+
op:
77+
description: Op is the operator to be applied.
78+
enum:
79+
- In
80+
- NotIn
81+
- InRegexp
82+
- Exists
83+
- DoesNotExist
84+
- Gt
85+
- Lt
86+
- GtLt
87+
- IsTrue
88+
- IsFalse
89+
type: string
90+
value:
91+
description: |-
92+
Value is the list of values that the operand evaluates the input
93+
against. Value should be empty if the operator is Exists, DoesNotExist,
94+
IsTrue or IsFalse. Value should contain exactly one element if the
95+
operator is Gt or Lt and exactly two elements if the operator is GtLt.
96+
In other cases Value should contain at least one element.
97+
items:
98+
type: string
99+
type: array
100+
required:
101+
- op
102+
type: object
103+
description: |-
104+
MatchExpressions is the set of per-element expressions evaluated. These
105+
match against the value of the specified elements.
106+
type: object
107+
matchName:
108+
description: |-
109+
MatchName in an expression that is matched against the name of each
110+
element in the feature set.
111+
properties:
112+
op:
113+
description: Op is the operator to be applied.
114+
enum:
115+
- In
116+
- NotIn
117+
- InRegexp
118+
- Exists
119+
- DoesNotExist
120+
- Gt
121+
- Lt
122+
- GtLt
123+
- IsTrue
124+
- IsFalse
125+
type: string
126+
value:
127+
description: |-
128+
Value is the list of values that the operand evaluates the input
129+
against. Value should be empty if the operator is Exists, DoesNotExist,
130+
IsTrue or IsFalse. Value should contain exactly one element if the
131+
operator is Gt or Lt and exactly two elements if the operator is GtLt.
132+
In other cases Value should contain at least one element.
133+
items:
134+
type: string
135+
type: array
136+
required:
137+
- op
138+
type: object
139+
required:
140+
- feature
141+
type: object
142+
type: array
143+
required:
144+
- matchFeatures
145+
type: object
146+
type: array
147+
matchFeatures:
148+
description: MatchFeatures specifies a set of matcher terms
149+
all of which must match.
150+
items:
151+
description: |-
152+
FeatureMatcherTerm defines requirements against one feature set. All
153+
requirements (specified as MatchExpressions) are evaluated against each
154+
element in the feature set.
155+
properties:
156+
feature:
157+
description: Feature is the name of the feature set to
158+
match against.
159+
type: string
160+
matchExpressions:
161+
additionalProperties:
162+
description: |-
163+
MatchExpression specifies an expression to evaluate against a set of input
164+
values. It contains an operator that is applied when matching the input and
165+
an array of values that the operator evaluates the input against.
166+
properties:
167+
op:
168+
description: Op is the operator to be applied.
169+
enum:
170+
- In
171+
- NotIn
172+
- InRegexp
173+
- Exists
174+
- DoesNotExist
175+
- Gt
176+
- Lt
177+
- GtLt
178+
- IsTrue
179+
- IsFalse
180+
type: string
181+
value:
182+
description: |-
183+
Value is the list of values that the operand evaluates the input
184+
against. Value should be empty if the operator is Exists, DoesNotExist,
185+
IsTrue or IsFalse. Value should contain exactly one element if the
186+
operator is Gt or Lt and exactly two elements if the operator is GtLt.
187+
In other cases Value should contain at least one element.
188+
items:
189+
type: string
190+
type: array
191+
required:
192+
- op
193+
type: object
194+
description: |-
195+
MatchExpressions is the set of per-element expressions evaluated. These
196+
match against the value of the specified elements.
197+
type: object
198+
matchName:
199+
description: |-
200+
MatchName in an expression that is matched against the name of each
201+
element in the feature set.
202+
properties:
203+
op:
204+
description: Op is the operator to be applied.
205+
enum:
206+
- In
207+
- NotIn
208+
- InRegexp
209+
- Exists
210+
- DoesNotExist
211+
- Gt
212+
- Lt
213+
- GtLt
214+
- IsTrue
215+
- IsFalse
216+
type: string
217+
value:
218+
description: |-
219+
Value is the list of values that the operand evaluates the input
220+
against. Value should be empty if the operator is Exists, DoesNotExist,
221+
IsTrue or IsFalse. Value should contain exactly one element if the
222+
operator is Gt or Lt and exactly two elements if the operator is GtLt.
223+
In other cases Value should contain at least one element.
224+
items:
225+
type: string
226+
type: array
227+
required:
228+
- op
229+
type: object
230+
required:
231+
- feature
232+
type: object
233+
type: array
234+
name:
235+
description: Name of the rule.
236+
type: string
237+
required:
238+
- name
239+
type: object
240+
type: array
241+
required:
242+
- featureGroupRules
243+
type: object
244+
status:
245+
description: |-
246+
Status of the NodeFeatureGroup after the most recent evaluation of the
247+
specification.
248+
properties:
249+
nodes:
250+
description: Nodes is a list of FeatureGroupNode in the cluster that
251+
match the featureGroupRules
252+
items:
253+
properties:
254+
name:
255+
description: Name of the node.
256+
type: string
257+
required:
258+
- name
259+
type: object
260+
type: array
261+
x-kubernetes-list-map-keys:
262+
- name
263+
x-kubernetes-list-type: map
264+
type: object
265+
required:
266+
- spec
267+
type: object
268+
served: true
269+
storage: true
270+
subresources:
271+
status: {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.9.2
7+
creationTimestamp: null
8+
name: nodefeatures.nfd.k8s-sigs.io
9+
spec:
10+
group: nfd.k8s-sigs.io
11+
names:
12+
kind: NodeFeature
13+
listKind: NodeFeatureList
14+
plural: nodefeatures
15+
singular: nodefeature
16+
scope: Namespaced
17+
versions:
18+
- name: v1alpha1
19+
schema:
20+
openAPIV3Schema:
21+
description: NodeFeature resource holds the features discovered for one node
22+
in the cluster.
23+
properties:
24+
apiVersion:
25+
description: 'APIVersion defines the versioned schema of this representation
26+
of an object. Servers should convert recognized schemas to the latest
27+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
28+
type: string
29+
kind:
30+
description: 'Kind is a string value representing the REST resource this
31+
object represents. Servers may infer this from the endpoint the client
32+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
33+
type: string
34+
metadata:
35+
type: object
36+
spec:
37+
description: NodeFeatureSpec describes a NodeFeature object.
38+
properties:
39+
features:
40+
description: Features is the full "raw" features data that has been
41+
discovered.
42+
properties:
43+
attributes:
44+
additionalProperties:
45+
description: AttributeFeatureSet is a set of features having
46+
string value.
47+
properties:
48+
elements:
49+
additionalProperties:
50+
type: string
51+
type: object
52+
required:
53+
- elements
54+
type: object
55+
description: Attributes contains all the attribute-type features
56+
of the node.
57+
type: object
58+
flags:
59+
additionalProperties:
60+
description: FlagFeatureSet is a set of simple features only
61+
containing names without values.
62+
properties:
63+
elements:
64+
additionalProperties:
65+
description: Nil is a dummy empty struct for protobuf
66+
compatibility
67+
type: object
68+
type: object
69+
required:
70+
- elements
71+
type: object
72+
description: Flags contains all the flag-type features of the
73+
node.
74+
type: object
75+
instances:
76+
additionalProperties:
77+
description: InstanceFeatureSet is a set of features each of
78+
which is an instance having multiple attributes.
79+
properties:
80+
elements:
81+
items:
82+
description: InstanceFeature represents one instance of
83+
a complex features, e.g. a device.
84+
properties:
85+
attributes:
86+
additionalProperties:
87+
type: string
88+
type: object
89+
required:
90+
- attributes
91+
type: object
92+
type: array
93+
required:
94+
- elements
95+
type: object
96+
description: Instances contains all the instance-type features
97+
of the node.
98+
type: object
99+
type: object
100+
labels:
101+
additionalProperties:
102+
type: string
103+
description: Labels is the set of node labels that are requested to
104+
be created.
105+
type: object
106+
type: object
107+
required:
108+
- spec
109+
type: object
110+
served: true
111+
storage: true

0 commit comments

Comments
 (0)