1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 annotations:
5 api-approved.openshift.io: https://github.com/openshift/api/pull/470
6 include.release.openshift.io/ibm-cloud-managed: "true"
7 include.release.openshift.io/self-managed-high-availability: "true"
8 include.release.openshift.io/single-node-developer: "true"
9 name: builds.config.openshift.io
10spec:
11 group: config.openshift.io
12 names:
13 kind: Build
14 listKind: BuildList
15 plural: builds
16 singular: build
17 preserveUnknownFields: false
18 scope: Cluster
19 versions:
20 - name: v1
21 schema:
22 openAPIV3Schema:
23 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\" \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)."
24 type: object
25 required:
26 - spec
27 properties:
28 apiVersion:
29 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'
30 type: string
31 kind:
32 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'
33 type: string
34 metadata:
35 type: object
36 spec:
37 description: Spec holds user-settable values for the build controller configuration
38 type: object
39 properties:
40 additionalTrustedCA:
41 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."
42 type: object
43 required:
44 - name
45 properties:
46 name:
47 description: name is the metadata.name of the referenced config map
48 type: string
49 buildDefaults:
50 description: BuildDefaults controls the default information for Builds
51 type: object
52 properties:
53 defaultProxy:
54 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."
55 type: object
56 properties:
57 httpProxy:
58 description: httpProxy is the URL of the proxy for HTTP requests. Empty means unset and will not result in an env var.
59 type: string
60 httpsProxy:
61 description: httpsProxy is the URL of the proxy for HTTPS requests. Empty means unset and will not result in an env var.
62 type: string
63 noProxy:
64 description: noProxy is a comma-separated list of hostnames and/or CIDRs and/or IPs for which the proxy should not be used. Empty means unset and will not result in an env var.
65 type: string
66 readinessEndpoints:
67 description: readinessEndpoints is a list of endpoints used to verify readiness of the proxy.
68 type: array
69 items:
70 type: string
71 trustedCA:
72 description: "trustedCA is a reference to a ConfigMap containing a CA certificate bundle. The trustedCA field should only be consumed by a proxy validator. The validator is responsible for reading the certificate bundle from the required key \"ca-bundle.crt\", merging it with the system default trust bundle, and writing the merged trust bundle to a ConfigMap named \"trusted-ca-bundle\" in the \"openshift-config-managed\" namespace. Clients that expect to make proxy connections must use the trusted-ca-bundle for all HTTPS requests to the proxy, and may use the trusted-ca-bundle for non-proxy HTTPS requests as well. \n 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-----"
73 type: object
74 required:
75 - name
76 properties:
77 name:
78 description: name is the metadata.name of the referenced config map
79 type: string
80 env:
81 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
82 type: array
83 items:
84 description: EnvVar represents an environment variable present in a Container.
85 type: object
86 required:
87 - name
88 properties:
89 name:
90 description: Name of the environment variable. Must be a C_IDENTIFIER.
91 type: string
92 value:
93 description: 'Variable references $(VAR_NAME) are expanded using the previously 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. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".'
94 type: string
95 valueFrom:
96 description: Source for the environment variable's value. Cannot be used if value is not empty.
97 type: object
98 properties:
99 configMapKeyRef:
100 description: Selects a key of a ConfigMap.
101 type: object
102 required:
103 - key
104 properties:
105 key:
106 description: The key to select.
107 type: string
108 name:
109 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?'
110 type: string
111 optional:
112 description: Specify whether the ConfigMap or its key must be defined
113 type: boolean
114 x-kubernetes-map-type: atomic
115 fieldRef:
116 description: 'Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.'
117 type: object
118 required:
119 - fieldPath
120 properties:
121 apiVersion:
122 description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
123 type: string
124 fieldPath:
125 description: Path of the field to select in the specified API version.
126 type: string
127 x-kubernetes-map-type: atomic
128 resourceFieldRef:
129 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.'
130 type: object
131 required:
132 - resource
133 properties:
134 containerName:
135 description: 'Container name: required for volumes, optional for env vars'
136 type: string
137 divisor:
138 description: Specifies the output format of the exposed resources, defaults to "1"
139 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
140 anyOf:
141 - type: integer
142 - type: string
143 x-kubernetes-int-or-string: true
144 resource:
145 description: 'Required: resource to select'
146 type: string
147 x-kubernetes-map-type: atomic
148 secretKeyRef:
149 description: Selects a key of a secret in the pod's namespace
150 type: object
151 required:
152 - key
153 properties:
154 key:
155 description: The key of the secret to select from. Must be a valid secret key.
156 type: string
157 name:
158 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?'
159 type: string
160 optional:
161 description: Specify whether the Secret or its key must be defined
162 type: boolean
163 x-kubernetes-map-type: atomic
164 gitProxy:
165 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."
166 type: object
167 properties:
168 httpProxy:
169 description: httpProxy is the URL of the proxy for HTTP requests. Empty means unset and will not result in an env var.
170 type: string
171 httpsProxy:
172 description: httpsProxy is the URL of the proxy for HTTPS requests. Empty means unset and will not result in an env var.
173 type: string
174 noProxy:
175 description: noProxy is a comma-separated list of hostnames and/or CIDRs and/or IPs for which the proxy should not be used. Empty means unset and will not result in an env var.
176 type: string
177 readinessEndpoints:
178 description: readinessEndpoints is a list of endpoints used to verify readiness of the proxy.
179 type: array
180 items:
181 type: string
182 trustedCA:
183 description: "trustedCA is a reference to a ConfigMap containing a CA certificate bundle. The trustedCA field should only be consumed by a proxy validator. The validator is responsible for reading the certificate bundle from the required key \"ca-bundle.crt\", merging it with the system default trust bundle, and writing the merged trust bundle to a ConfigMap named \"trusted-ca-bundle\" in the \"openshift-config-managed\" namespace. Clients that expect to make proxy connections must use the trusted-ca-bundle for all HTTPS requests to the proxy, and may use the trusted-ca-bundle for non-proxy HTTPS requests as well. \n 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-----"
184 type: object
185 required:
186 - name
187 properties:
188 name:
189 description: name is the metadata.name of the referenced config map
190 type: string
191 imageLabels:
192 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.
193 type: array
194 items:
195 type: object
196 properties:
197 name:
198 description: Name defines the name of the label. It must have non-zero length.
199 type: string
200 value:
201 description: Value defines the literal value of the label.
202 type: string
203 resources:
204 description: Resources defines resource requirements to execute the build.
205 type: object
206 properties:
207 claims:
208 description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
209 type: array
210 items:
211 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
212 type: object
213 required:
214 - name
215 properties:
216 name:
217 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.
218 type: string
219 x-kubernetes-list-map-keys:
220 - name
221 x-kubernetes-list-type: map
222 limits:
223 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
224 type: object
225 additionalProperties:
226 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
227 anyOf:
228 - type: integer
229 - type: string
230 x-kubernetes-int-or-string: true
231 requests:
232 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/'
233 type: object
234 additionalProperties:
235 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
236 anyOf:
237 - type: integer
238 - type: string
239 x-kubernetes-int-or-string: true
240 buildOverrides:
241 description: BuildOverrides controls override settings for builds
242 type: object
243 properties:
244 forcePull:
245 description: ForcePull overrides, if set, the equivalent value in the builds, i.e. false disables force pull for all builds, true enables force pull for all builds, independently of what each build specifies itself
246 type: boolean
247 imageLabels:
248 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.
249 type: array
250 items:
251 type: object
252 properties:
253 name:
254 description: Name defines the name of the label. It must have non-zero length.
255 type: string
256 value:
257 description: Value defines the literal value of the label.
258 type: string
259 nodeSelector:
260 description: NodeSelector is a selector which must be true for the build pod to fit on a node
261 type: object
262 additionalProperties:
263 type: string
264 tolerations:
265 description: Tolerations is a list of Tolerations that will override any existing tolerations set on a build pod.
266 type: array
267 items:
268 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
269 type: object
270 properties:
271 effect:
272 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
273 type: string
274 key:
275 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.
276 type: string
277 operator:
278 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.
279 type: string
280 tolerationSeconds:
281 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.
282 type: integer
283 format: int64
284 value:
285 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.
286 type: string
287 served: true
288 storage: true
289 subresources:
290 status: {}
View as plain text