...

Text file src/github.com/openshift/api/config/v1/0000_10_config-operator_01_build.crd.yaml

Documentation: github.com/openshift/api/config/v1

     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