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
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
|
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: builds.config.openshift.io
spec:
group: config.openshift.io
scope: Cluster
preserveUnknownFields: false
names:
kind: Build
singular: build
plural: builds
listKind: BuildList
versions:
- name: v1
served: true
storage: true
subresources:
status: {}
"validation":
"openAPIV3Schema":
description: "Build configures the behavior of OpenShift builds for the entire
cluster. This includes default settings that can be overridden in BuildConfig
objects, and overrides which are applied to all builds. \n The canonical name
is \"cluster\""
type: object
required:
- spec
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 holds user-settable values for the build controller configuration
type: object
properties:
additionalTrustedCA:
description: "AdditionalTrustedCA is a reference to a ConfigMap containing
additional CAs that should be trusted for image pushes and pulls during
builds. The namespace for this config map is openshift-config. \n
DEPRECATED: Additional CAs for image pull and push should be set on
image.config.openshift.io/cluster instead."
type: object
required:
- name
properties:
name:
description: name is the metadata.name of the referenced config
map
type: string
buildDefaults:
description: BuildDefaults controls the default information for Builds
type: object
properties:
defaultProxy:
description: "DefaultProxy contains the default proxy settings for
all build operations, including image pull/push and source download.
\n Values can be overrode by setting the `HTTP_PROXY`, `HTTPS_PROXY`,
and `NO_PROXY` environment variables in the build config's strategy."
type: object
properties:
httpProxy:
description: httpProxy is the URL of the proxy for HTTP requests. Empty
means unset and will not result in an env var.
type: string
httpsProxy:
description: httpsProxy is the URL of the proxy for HTTPS requests. Empty
means unset and will not result in an env var.
type: string
noProxy:
description: noProxy is a comma-separated list of hostnames
and/or CIDRs for which the proxy should not be used. Empty
means unset and will not result in an env var.
type: string
readinessEndpoints:
description: readinessEndpoints is a list of endpoints used
to verify readiness of the proxy.
type: array
items:
type: string
trustedCA:
description: "trustedCA is a reference to a ConfigMap containing
a CA certificate bundle used for client egress HTTPS connections.
The certificate bundle must be from the CA that signed the
proxy's certificate and be signed for everything. The trustedCA
field should only be consumed by a proxy validator. The validator
is responsible for reading the certificate bundle from required
key \"ca-bundle.crt\" and copying it to a ConfigMap named
\"trusted-ca-bundle\" in the \"openshift-config-managed\"
namespace. The namespace for the ConfigMap referenced by trustedCA
is \"openshift-config\". Here is an example ConfigMap (in
yaml): \n apiVersion: v1 kind: ConfigMap metadata: name:
user-ca-bundle namespace: openshift-config data: ca-bundle.crt:
| -----BEGIN CERTIFICATE----- Custom CA certificate
bundle. -----END CERTIFICATE-----"
type: object
required:
- name
properties:
name:
description: name is the metadata.name of the referenced
config map
type: string
env:
description: Env is a set of default environment variables that
will be applied to the build if the specified variables do not
exist on the build
type: array
items:
description: EnvVar represents an environment variable present
in a Container.
type: object
required:
- name
properties:
name:
description: Name of the environment variable. Must be a C_IDENTIFIER.
type: string
value:
description: 'Variable references $(VAR_NAME) are expanded
using the previous defined environment variables in the
container and any service environment variables. If a variable
cannot be resolved, the reference in the input string will
be unchanged. The $(VAR_NAME) syntax can be escaped with
a double $$, ie: $$(VAR_NAME). Escaped references will never
be expanded, regardless of whether the variable exists or
not. Defaults to "".'
type: string
valueFrom:
description: Source for the environment variable's value.
Cannot be used if value is not empty.
type: object
properties:
configMapKeyRef:
description: Selects a key of a ConfigMap.
type: object
required:
- key
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
type: boolean
fieldRef:
description: 'Selects a field of the pod: supports metadata.name,
metadata.namespace, metadata.labels, metadata.annotations,
spec.nodeName, spec.serviceAccountName, status.hostIP,
status.podIP, status.podIPs.'
type: object
required:
- fieldPath
properties:
apiVersion:
description: Version of the schema the FieldPath is
written in terms of, defaults to "v1".
type: string
fieldPath:
description: Path of the field to select in the specified
API version.
type: string
resourceFieldRef:
description: 'Selects a resource of the container: only
resources limits and requests (limits.cpu, limits.memory,
limits.ephemeral-storage, requests.cpu, requests.memory
and requests.ephemeral-storage) are currently supported.'
type: object
required:
- resource
properties:
containerName:
description: 'Container name: required for volumes,
optional for env vars'
type: string
divisor:
description: Specifies the output format of the exposed
resources, defaults to "1"
type: string
resource:
description: 'Required: resource to select'
type: string
secretKeyRef:
description: Selects a key of a secret in the pod's namespace
type: object
required:
- key
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the Secret or its key
must be defined
type: boolean
gitProxy:
description: "GitProxy contains the proxy settings for git operations
only. If set, this will override any Proxy settings for all git
commands, such as git clone. \n Values that are not set here will
be inherited from DefaultProxy."
type: object
properties:
httpProxy:
description: httpProxy is the URL of the proxy for HTTP requests. Empty
means unset and will not result in an env var.
type: string
httpsProxy:
description: httpsProxy is the URL of the proxy for HTTPS requests. Empty
means unset and will not result in an env var.
type: string
noProxy:
description: noProxy is a comma-separated list of hostnames
and/or CIDRs for which the proxy should not be used. Empty
means unset and will not result in an env var.
type: string
readinessEndpoints:
description: readinessEndpoints is a list of endpoints used
to verify readiness of the proxy.
type: array
items:
type: string
trustedCA:
description: "trustedCA is a reference to a ConfigMap containing
a CA certificate bundle used for client egress HTTPS connections.
The certificate bundle must be from the CA that signed the
proxy's certificate and be signed for everything. The trustedCA
field should only be consumed by a proxy validator. The validator
is responsible for reading the certificate bundle from required
key \"ca-bundle.crt\" and copying it to a ConfigMap named
\"trusted-ca-bundle\" in the \"openshift-config-managed\"
namespace. The namespace for the ConfigMap referenced by trustedCA
is \"openshift-config\". Here is an example ConfigMap (in
yaml): \n apiVersion: v1 kind: ConfigMap metadata: name:
user-ca-bundle namespace: openshift-config data: ca-bundle.crt:
| -----BEGIN CERTIFICATE----- Custom CA certificate
bundle. -----END CERTIFICATE-----"
type: object
required:
- name
properties:
name:
description: name is the metadata.name of the referenced
config map
type: string
imageLabels:
description: ImageLabels is a list of docker labels that are applied
to the resulting image. User can override a default label by providing
a label with the same name in their Build/BuildConfig.
type: array
items:
type: object
properties:
name:
description: Name defines the name of the label. It must have
non-zero length.
type: string
value:
description: Value defines the literal value of the label.
type: string
resources:
description: Resources defines resource requirements to execute
the build.
type: object
properties:
limits:
description: 'Limits describes the maximum amount of compute
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
type: object
additionalProperties:
type: string
requests:
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. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
type: object
additionalProperties:
type: string
buildOverrides:
description: BuildOverrides controls override settings for builds
type: object
properties:
imageLabels:
description: ImageLabels is a list of docker labels that are applied
to the resulting image. If user provided a label in their Build/BuildConfig
with the same name as one in this list, the user's label will
be overwritten.
type: array
items:
type: object
properties:
name:
description: Name defines the name of the label. It must have
non-zero length.
type: string
value:
description: Value defines the literal value of the label.
type: string
nodeSelector:
description: NodeSelector is a selector which must be true for the
build pod to fit on a node
type: object
additionalProperties:
type: string
tolerations:
description: Tolerations is a list of Tolerations that will override
any existing tolerations set on a build pod.
type: array
items:
description: The pod this Toleration is attached to tolerates
any taint that matches the triple <key,value,effect> using the
matching operator <operator>.
type: object
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.
type: integer
format: int64
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
|