forked from open-cluster-management-io/api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0000_02_addon.open-cluster-management.io_addondeploymentconfigs.crd.yaml
274 lines (268 loc) · 13.9 KB
/
0000_02_addon.open-cluster-management.io_addondeploymentconfigs.crd.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: addondeploymentconfigs.addon.open-cluster-management.io
spec:
group: addon.open-cluster-management.io
names:
kind: AddOnDeploymentConfig
listKind: AddOnDeploymentConfigList
plural: addondeploymentconfigs
singular: addondeploymentconfig
preserveUnknownFields: false
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: |-
AddOnDeploymentConfig represents a configuration to customize the deployments of an add-on.
For example, you can specify the NodePlacement to control the scheduling of the add-on agents.
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: spec represents a desired configuration for an add-on.
properties:
agentInstallNamespace:
default: open-cluster-management-agent-addon
description: AgentInstallNamespace is the namespace where the add-on
agent should be installed on the managed cluster.
maxLength: 63
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
customizedVariables:
description: |-
CustomizedVariables is a list of name-value variables for the current add-on deployment.
The add-on implementation can use these variables to render its add-on deployment.
The default is an empty list.
items:
description: CustomizedVariable represents a customized variable
for add-on deployment.
properties:
name:
description: Name of this variable.
maxLength: 255
pattern: ^[a-zA-Z_][_a-zA-Z0-9]*$
type: string
value:
description: Value of this variable.
maxLength: 1024
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
nodePlacement:
description: |-
NodePlacement enables explicit control over the scheduling of the add-on agents on the
managed cluster.
All add-on agent pods are expected to comply with this node placement.
If the placement is nil, the placement is not specified, it will be omitted.
If the placement is an empty object, the placement will match all nodes and tolerate nothing.
properties:
nodeSelector:
additionalProperties:
type: string
description: |-
NodeSelector defines which Nodes the Pods are scheduled on.
If the selector is an empty list, it will match all nodes.
The default is an empty list.
type: object
tolerations:
description: |-
Tolerations is attached by pods to tolerate any taint that matches
the triple <key,value,effect> using the matching operator <operator>.
If the tolerations is an empty list, it will tolerate nothing.
The default is an empty list.
items:
description: |-
The pod this Toleration is attached to tolerates any taint that matches
the triple <key,value,effect> using the matching operator <operator>.
properties:
effect:
description: |-
Effect indicates the taint effect to match. Empty means match all taint effects.
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
type: string
key:
description: |-
Key is the taint key that the toleration applies to. Empty means match all taint keys.
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
type: string
operator:
description: |-
Operator represents a key's relationship to the value.
Valid operators are Exists and Equal. Defaults to Equal.
Exists is equivalent to wildcard for value, so that a pod can
tolerate all taints of a particular category.
type: string
tolerationSeconds:
description: |-
TolerationSeconds represents the period of time the toleration (which must be
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
it is not set, which means tolerate the taint forever (do not evict). Zero and
negative values will be treated as 0 (evict immediately) by the system.
format: int64
type: integer
value:
description: |-
Value is the taint value the toleration matches to.
If the operator is Exists, the value should be empty, otherwise just a regular string.
type: string
type: object
type: array
type: object
proxyConfig:
description: |-
ProxyConfig holds proxy settings for add-on agent on the managed cluster.
Empty means no proxy settings is available.
properties:
caBundle:
description: |-
CABundle is a CA certificate bundle to verify the proxy server.
And it's only useful when HTTPSProxy is set and a HTTPS proxy server is specified.
format: byte
type: string
httpProxy:
description: HTTPProxy is the URL of the proxy for HTTP requests
type: string
httpsProxy:
description: HTTPSProxy is the URL of the proxy for HTTPS requests
type: string
noProxy:
description: |-
NoProxy is a comma-separated list of hostnames and/or CIDRs and/or IPs for which the proxy
should not be used.
type: string
type: object
registries:
description: |-
Registries describes how to override images used by the addon agent on the managed cluster.
the following example will override image "quay.io/open-cluster-management/addon-agent" to
"quay.io/ocm/addon-agent" when deploying the addon agent
registries:
- source: quay.io/open-cluster-management/addon-agent
mirror: quay.io/ocm/addon-agent
items:
description: ImageMirror describes how to mirror images from a source
properties:
mirror:
description: Mirror is the mirrored registry of the Source.
Will be ignored if Mirror is empty.
type: string
source:
description: Source is the source registry. All image registries
will be replaced by Mirror if Source is empty.
type: string
required:
- mirror
type: object
type: array
resourceRequirements:
description: |-
ResourceRequirements specify the resources required by add-on agents.
If a container matches multiple ContainerResourceRequirements, the last matched configuration in the
array will take precedence.
items:
description: ContainerResourceRequirements defines resources required
by one or a group of containers.
properties:
containerID:
description: |-
ContainerID is a unique identifier for an agent container. It consists of three parts: resource types,
resource name, and container name, separated by ':'. The format follows
'{resource_types}:{resource_name}:{container_name}' where
1). Supported resource types include deployments, daemonsets, statefulsets, replicasets, jobs,
cronjobs and pods;
2). Wildcards (*) can be used in any part to match multiple containers. For example, '*:*:*'
matches all containers of the agent.
pattern: ^(deployments|daemonsets|statefulsets|replicasets|jobs|cronjobs|pods|\*):.+:.+$
type: string
resources:
description: Compute resources required by matched containers.
properties:
claims:
description: |-
Claims lists the names of resources, defined in spec.resourceClaims,
that are used by this container.
This is an alpha field and requires enabling the
DynamicResourceAllocation feature gate.
This field is immutable. It can only be set for containers.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: |-
Name must match the name of one entry in pod.spec.resourceClaims of
the Pod where this field is used. It makes that resource available
inside a container.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: |-
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: |-
Requests describes the minimum amount of compute resources required.
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
otherwise to an implementation-defined value. Requests cannot exceed Limits.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: object
type: object
required:
- containerID
- resources
type: object
type: array
x-kubernetes-list-map-keys:
- containerID
x-kubernetes-list-type: map
type: object
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []