...

Text file src/github.com/openshift/api/config/v1/0000_10_config-operator_01_infrastructure-TechPreviewNoUpgrade.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    release.openshift.io/feature-set: TechPreviewNoUpgrade
    10  name: infrastructures.config.openshift.io
    11spec:
    12  group: config.openshift.io
    13  names:
    14    kind: Infrastructure
    15    listKind: InfrastructureList
    16    plural: infrastructures
    17    singular: infrastructure
    18  scope: Cluster
    19  versions:
    20    - name: v1
    21      schema:
    22        openAPIV3Schema:
    23          description: "Infrastructure holds cluster-wide information about Infrastructure.  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          properties:
    25            apiVersion:
    26              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'
    27              type: string
    28            kind:
    29              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'
    30              type: string
    31            metadata:
    32              type: object
    33            spec:
    34              description: spec holds user settable values for configuration
    35              properties:
    36                cloudConfig:
    37                  description: "cloudConfig is a reference to a ConfigMap containing the cloud provider configuration file. This configuration file is used to configure the Kubernetes cloud provider integration when using the built-in cloud provider integration or the external cloud controller manager. The namespace for this config map is openshift-config. \n cloudConfig should only be consumed by the kube_cloud_config controller. The controller is responsible for using the user configuration in the spec for various platforms and combining that with the user provided ConfigMap in this field to create a stitched kube cloud config. The controller generates a ConfigMap `kube-cloud-config` in `openshift-config-managed` namespace with the kube cloud config is stored in `cloud.conf` key. All the clients are expected to use the generated ConfigMap only."
    38                  properties:
    39                    key:
    40                      description: Key allows pointing to a specific key/value inside of the configmap.  This is useful for logical file references.
    41                      type: string
    42                    name:
    43                      type: string
    44                  type: object
    45                platformSpec:
    46                  description: platformSpec holds desired information specific to the underlying infrastructure provider.
    47                  properties:
    48                    alibabaCloud:
    49                      description: AlibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider.
    50                      type: object
    51                    aws:
    52                      description: AWS contains settings specific to the Amazon Web Services infrastructure provider.
    53                      properties:
    54                        serviceEndpoints:
    55                          description: serviceEndpoints list contains custom endpoints which will override default service endpoint of AWS Services. There must be only one ServiceEndpoint for a service.
    56                          items:
    57                            description: AWSServiceEndpoint store the configuration of a custom url to override existing defaults of AWS Services.
    58                            properties:
    59                              name:
    60                                description: name is the name of the AWS service. The list of all the service names can be found at https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html This must be provided and cannot be empty.
    61                                pattern: ^[a-z0-9-]+$
    62                                type: string
    63                              url:
    64                                description: url is fully qualified URI with scheme https, that overrides the default generated endpoint for a client. This must be provided and cannot be empty.
    65                                pattern: ^https://
    66                                type: string
    67                            type: object
    68                          type: array
    69                      type: object
    70                    azure:
    71                      description: Azure contains settings specific to the Azure infrastructure provider.
    72                      type: object
    73                    baremetal:
    74                      description: BareMetal contains settings specific to the BareMetal platform.
    75                      type: object
    76                    equinixMetal:
    77                      description: EquinixMetal contains settings specific to the Equinix Metal infrastructure provider.
    78                      type: object
    79                    external:
    80                      description: ExternalPlatformType represents generic infrastructure provider. Platform-specific components should be supplemented separately.
    81                      properties:
    82                        platformName:
    83                          default: Unknown
    84                          description: PlatformName holds the arbitrary string representing the infrastructure provider name, expected to be set at the installation time. This field is solely for informational and reporting purposes and is not expected to be used for decision-making.
    85                          type: string
    86                          x-kubernetes-validations:
    87                            - message: platform name cannot be changed once set
    88                              rule: oldSelf == 'Unknown' || self == oldSelf
    89                      type: object
    90                    gcp:
    91                      description: GCP contains settings specific to the Google Cloud Platform infrastructure provider.
    92                      type: object
    93                    ibmcloud:
    94                      description: IBMCloud contains settings specific to the IBMCloud infrastructure provider.
    95                      type: object
    96                    kubevirt:
    97                      description: Kubevirt contains settings specific to the kubevirt infrastructure provider.
    98                      type: object
    99                    nutanix:
   100                      description: Nutanix contains settings specific to the Nutanix infrastructure provider.
   101                      properties:
   102                        prismCentral:
   103                          description: prismCentral holds the endpoint address and port to access the Nutanix Prism Central. When a cluster-wide proxy is installed, by default, this endpoint will be accessed via the proxy. Should you wish for communication with this endpoint not to be proxied, please add the endpoint to the proxy spec.noProxy list.
   104                          properties:
   105                            address:
   106                              description: address is the endpoint address (DNS name or IP address) of the Nutanix Prism Central or Element (cluster)
   107                              maxLength: 256
   108                              type: string
   109                            port:
   110                              description: port is the port number to access the Nutanix Prism Central or Element (cluster)
   111                              format: int32
   112                              maximum: 65535
   113                              minimum: 1
   114                              type: integer
   115                          required:
   116                            - address
   117                            - port
   118                          type: object
   119                        prismElements:
   120                          description: prismElements holds one or more endpoint address and port data to access the Nutanix Prism Elements (clusters) of the Nutanix Prism Central. Currently we only support one Prism Element (cluster) for an OpenShift cluster, where all the Nutanix resources (VMs, subnets, volumes, etc.) used in the OpenShift cluster are located. In the future, we may support Nutanix resources (VMs, etc.) spread over multiple Prism Elements (clusters) of the Prism Central.
   121                          items:
   122                            description: NutanixPrismElementEndpoint holds the name and endpoint data for a Prism Element (cluster)
   123                            properties:
   124                              endpoint:
   125                                description: endpoint holds the endpoint address and port data of the Prism Element (cluster). When a cluster-wide proxy is installed, by default, this endpoint will be accessed via the proxy. Should you wish for communication with this endpoint not to be proxied, please add the endpoint to the proxy spec.noProxy list.
   126                                properties:
   127                                  address:
   128                                    description: address is the endpoint address (DNS name or IP address) of the Nutanix Prism Central or Element (cluster)
   129                                    maxLength: 256
   130                                    type: string
   131                                  port:
   132                                    description: port is the port number to access the Nutanix Prism Central or Element (cluster)
   133                                    format: int32
   134                                    maximum: 65535
   135                                    minimum: 1
   136                                    type: integer
   137                                required:
   138                                  - address
   139                                  - port
   140                                type: object
   141                              name:
   142                                description: name is the name of the Prism Element (cluster). This value will correspond with the cluster field configured on other resources (eg Machines, PVCs, etc).
   143                                maxLength: 256
   144                                type: string
   145                            required:
   146                              - endpoint
   147                              - name
   148                            type: object
   149                          type: array
   150                          x-kubernetes-list-map-keys:
   151                            - name
   152                          x-kubernetes-list-type: map
   153                      required:
   154                        - prismCentral
   155                        - prismElements
   156                      type: object
   157                    openstack:
   158                      description: OpenStack contains settings specific to the OpenStack infrastructure provider.
   159                      type: object
   160                    ovirt:
   161                      description: Ovirt contains settings specific to the oVirt infrastructure provider.
   162                      type: object
   163                    powervs:
   164                      description: PowerVS contains settings specific to the IBM Power Systems Virtual Servers infrastructure provider.
   165                      properties:
   166                        serviceEndpoints:
   167                          description: serviceEndpoints is a list of custom endpoints which will override the default service endpoints of a Power VS service.
   168                          items:
   169                            description: PowervsServiceEndpoint stores the configuration of a custom url to override existing defaults of PowerVS Services.
   170                            properties:
   171                              name:
   172                                description: name is the name of the Power VS service. Few of the services are IAM - https://cloud.ibm.com/apidocs/iam-identity-token-api ResourceController - https://cloud.ibm.com/apidocs/resource-controller/resource-controller Power Cloud - https://cloud.ibm.com/apidocs/power-cloud
   173                                pattern: ^[a-z0-9-]+$
   174                                type: string
   175                              url:
   176                                description: url is fully qualified URI with scheme https, that overrides the default generated endpoint for a client. This must be provided and cannot be empty.
   177                                format: uri
   178                                pattern: ^https://
   179                                type: string
   180                            required:
   181                              - name
   182                              - url
   183                            type: object
   184                          type: array
   185                          x-kubernetes-list-map-keys:
   186                            - name
   187                          x-kubernetes-list-type: map
   188                      type: object
   189                    type:
   190                      description: type is the underlying infrastructure provider for the cluster. This value controls whether infrastructure automation such as service load balancers, dynamic volume provisioning, machine creation and deletion, and other integrations are enabled. If None, no infrastructure automation is enabled. Allowed values are "AWS", "Azure", "BareMetal", "GCP", "Libvirt", "OpenStack", "VSphere", "oVirt", "KubeVirt", "EquinixMetal", "PowerVS", "AlibabaCloud", "Nutanix" and "None". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform.
   191                      enum:
   192                        - ""
   193                        - AWS
   194                        - Azure
   195                        - BareMetal
   196                        - GCP
   197                        - Libvirt
   198                        - OpenStack
   199                        - None
   200                        - VSphere
   201                        - oVirt
   202                        - IBMCloud
   203                        - KubeVirt
   204                        - EquinixMetal
   205                        - PowerVS
   206                        - AlibabaCloud
   207                        - Nutanix
   208                        - External
   209                      type: string
   210                    vsphere:
   211                      description: VSphere contains settings specific to the VSphere infrastructure provider.
   212                      properties:
   213                        failureDomains:
   214                          description: failureDomains contains the definition of region, zone and the vCenter topology. If this is omitted failure domains (regions and zones) will not be used.
   215                          items:
   216                            description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology of that failure domain.
   217                            properties:
   218                              name:
   219                                description: name defines the arbitrary but unique name of a failure domain.
   220                                maxLength: 256
   221                                minLength: 1
   222                                type: string
   223                              region:
   224                                description: region defines the name of a region tag that will be attached to a vCenter datacenter. The tag category in vCenter must be named openshift-region.
   225                                maxLength: 80
   226                                minLength: 1
   227                                type: string
   228                              server:
   229                                anyOf:
   230                                  - format: ipv4
   231                                  - format: ipv6
   232                                  - format: hostname
   233                                description: server is the fully-qualified domain name or the IP address of the vCenter server. ---
   234                                maxLength: 255
   235                                minLength: 1
   236                                type: string
   237                              topology:
   238                                description: Topology describes a given failure domain using vSphere constructs
   239                                properties:
   240                                  computeCluster:
   241                                    description: computeCluster the absolute path of the vCenter cluster in which virtual machine will be located. The absolute path is of the form /<datacenter>/host/<cluster>. The maximum length of the path is 2048 characters.
   242                                    maxLength: 2048
   243                                    pattern: ^/.*?/host/.*?
   244                                    type: string
   245                                  datacenter:
   246                                    description: datacenter is the name of vCenter datacenter in which virtual machines will be located. The maximum length of the datacenter name is 80 characters.
   247                                    maxLength: 80
   248                                    type: string
   249                                  datastore:
   250                                    description: datastore is the absolute path of the datastore in which the virtual machine is located. The absolute path is of the form /<datacenter>/datastore/<datastore> The maximum length of the path is 2048 characters.
   251                                    maxLength: 2048
   252                                    pattern: ^/.*?/datastore/.*?
   253                                    type: string
   254                                  folder:
   255                                    description: folder is the absolute path of the folder where virtual machines are located. The absolute path is of the form /<datacenter>/vm/<folder>. The maximum length of the path is 2048 characters.
   256                                    maxLength: 2048
   257                                    pattern: ^/.*?/vm/.*?
   258                                    type: string
   259                                  networks:
   260                                    description: networks is the list of port group network names within this failure domain. Currently, we only support a single interface per RHCOS virtual machine. The available networks (port groups) can be listed using `govc ls 'network/*'` The single interface should be the absolute path of the form /<datacenter>/network/<portgroup>.
   261                                    items:
   262                                      type: string
   263                                    maxItems: 1
   264                                    minItems: 1
   265                                    type: array
   266                                  resourcePool:
   267                                    description: resourcePool is the absolute path of the resource pool where virtual machines will be created. The absolute path is of the form /<datacenter>/host/<cluster>/Resources/<resourcepool>. The maximum length of the path is 2048 characters.
   268                                    maxLength: 2048
   269                                    pattern: ^/.*?/host/.*?/Resources.*
   270                                    type: string
   271                                required:
   272                                  - computeCluster
   273                                  - datacenter
   274                                  - datastore
   275                                  - networks
   276                                type: object
   277                              zone:
   278                                description: zone defines the name of a zone tag that will be attached to a vCenter cluster. The tag category in vCenter must be named openshift-zone.
   279                                maxLength: 80
   280                                minLength: 1
   281                                type: string
   282                            required:
   283                              - name
   284                              - region
   285                              - server
   286                              - topology
   287                              - zone
   288                            type: object
   289                          type: array
   290                        nodeNetworking:
   291                          description: nodeNetworking contains the definition of internal and external network constraints for assigning the node's networking. If this field is omitted, networking defaults to the legacy address selection behavior which is to only support a single address and return the first one found.
   292                          properties:
   293                            external:
   294                              description: external represents the network configuration of the node that is externally routable.
   295                              properties:
   296                                excludeNetworkSubnetCidr:
   297                                  description: excludeNetworkSubnetCidr IP addresses in subnet ranges will be excluded when selecting the IP address from the VirtualMachine's VM for use in the status.addresses fields. ---
   298                                  items:
   299                                    format: cidr
   300                                    type: string
   301                                  type: array
   302                                network:
   303                                  description: network VirtualMachine's VM Network names that will be used to when searching for status.addresses fields. Note that if internal.networkSubnetCIDR and external.networkSubnetCIDR are not set, then the vNIC associated to this network must only have a single IP address assigned to it. The available networks (port groups) can be listed using `govc ls 'network/*'`
   304                                  type: string
   305                                networkSubnetCidr:
   306                                  description: networkSubnetCidr IP address on VirtualMachine's network interfaces included in the fields' CIDRs that will be used in respective status.addresses fields. ---
   307                                  items:
   308                                    format: cidr
   309                                    type: string
   310                                  type: array
   311                              type: object
   312                            internal:
   313                              description: internal represents the network configuration of the node that is routable only within the cluster.
   314                              properties:
   315                                excludeNetworkSubnetCidr:
   316                                  description: excludeNetworkSubnetCidr IP addresses in subnet ranges will be excluded when selecting the IP address from the VirtualMachine's VM for use in the status.addresses fields. ---
   317                                  items:
   318                                    format: cidr
   319                                    type: string
   320                                  type: array
   321                                network:
   322                                  description: network VirtualMachine's VM Network names that will be used to when searching for status.addresses fields. Note that if internal.networkSubnetCIDR and external.networkSubnetCIDR are not set, then the vNIC associated to this network must only have a single IP address assigned to it. The available networks (port groups) can be listed using `govc ls 'network/*'`
   323                                  type: string
   324                                networkSubnetCidr:
   325                                  description: networkSubnetCidr IP address on VirtualMachine's network interfaces included in the fields' CIDRs that will be used in respective status.addresses fields. ---
   326                                  items:
   327                                    format: cidr
   328                                    type: string
   329                                  type: array
   330                              type: object
   331                          type: object
   332                        vcenters:
   333                          description: vcenters holds the connection details for services to communicate with vCenter. Currently, only a single vCenter is supported. ---
   334                          items:
   335                            description: VSpherePlatformVCenterSpec stores the vCenter connection fields. This is used by the vSphere CCM.
   336                            properties:
   337                              datacenters:
   338                                description: The vCenter Datacenters in which the RHCOS vm guests are located. This field will be used by the Cloud Controller Manager. Each datacenter listed here should be used within a topology.
   339                                items:
   340                                  type: string
   341                                minItems: 1
   342                                type: array
   343                              port:
   344                                description: port is the TCP port that will be used to communicate to the vCenter endpoint. When omitted, this means the user has no opinion and it is up to the platform to choose a sensible default, which is subject to change over time.
   345                                format: int32
   346                                maximum: 32767
   347                                minimum: 1
   348                                type: integer
   349                              server:
   350                                anyOf:
   351                                  - format: ipv4
   352                                  - format: ipv6
   353                                  - format: hostname
   354                                description: server is the fully-qualified domain name or the IP address of the vCenter server. ---
   355                                maxLength: 255
   356                                type: string
   357                            required:
   358                              - datacenters
   359                              - server
   360                            type: object
   361                          maxItems: 1
   362                          minItems: 0
   363                          type: array
   364                      type: object
   365                  type: object
   366              type: object
   367            status:
   368              description: status holds observed values from the cluster. They may not be overridden.
   369              properties:
   370                apiServerInternalURI:
   371                  description: apiServerInternalURL is a valid URI with scheme 'https', address and optionally a port (defaulting to 443).  apiServerInternalURL can be used by components like kubelets, to contact the Kubernetes API server using the infrastructure provider rather than Kubernetes networking.
   372                  type: string
   373                apiServerURL:
   374                  description: apiServerURL is a valid URI with scheme 'https', address and optionally a port (defaulting to 443).  apiServerURL can be used by components like the web console to tell users where to find the Kubernetes API.
   375                  type: string
   376                controlPlaneTopology:
   377                  default: HighlyAvailable
   378                  description: controlPlaneTopology expresses the expectations for operands that normally run on control nodes. The default is 'HighlyAvailable', which represents the behavior operators have in a "normal" cluster. The 'SingleReplica' mode will be used in single-node deployments and the operators should not configure the operand for highly-available operation The 'External' mode indicates that the control plane is hosted externally to the cluster and that its components are not visible within the cluster.
   379                  enum:
   380                    - HighlyAvailable
   381                    - SingleReplica
   382                    - External
   383                  type: string
   384                cpuPartitioning:
   385                  default: None
   386                  description: cpuPartitioning expresses if CPU partitioning is a currently enabled feature in the cluster. CPU Partitioning means that this cluster can support partitioning workloads to specific CPU Sets. Valid values are "None" and "AllNodes". When omitted, the default value is "None". The default value of "None" indicates that no nodes will be setup with CPU partitioning. The "AllNodes" value indicates that all nodes have been setup with CPU partitioning, and can then be further configured via the PerformanceProfile API.
   387                  enum:
   388                    - None
   389                    - AllNodes
   390                  type: string
   391                etcdDiscoveryDomain:
   392                  description: 'etcdDiscoveryDomain is the domain used to fetch the SRV records for discovering etcd servers and clients. For more info: https://github.com/etcd-io/etcd/blob/329be66e8b3f9e2e6af83c123ff89297e49ebd15/Documentation/op-guide/clustering.md#dns-discovery deprecated: as of 4.7, this field is no longer set or honored.  It will be removed in a future release.'
   393                  type: string
   394                infrastructureName:
   395                  description: infrastructureName uniquely identifies a cluster with a human friendly name. Once set it should not be changed. Must be of max length 27 and must have only alphanumeric or hyphen characters.
   396                  type: string
   397                infrastructureTopology:
   398                  default: HighlyAvailable
   399                  description: 'infrastructureTopology expresses the expectations for infrastructure services that do not run on control plane nodes, usually indicated by a node selector for a `role` value other than `master`. The default is ''HighlyAvailable'', which represents the behavior operators have in a "normal" cluster. The ''SingleReplica'' mode will be used in single-node deployments and the operators should not configure the operand for highly-available operation NOTE: External topology mode is not applicable for this field.'
   400                  enum:
   401                    - HighlyAvailable
   402                    - SingleReplica
   403                  type: string
   404                platform:
   405                  description: "platform is the underlying infrastructure provider for the cluster. \n Deprecated: Use platformStatus.type instead."
   406                  enum:
   407                    - ""
   408                    - AWS
   409                    - Azure
   410                    - BareMetal
   411                    - GCP
   412                    - Libvirt
   413                    - OpenStack
   414                    - None
   415                    - VSphere
   416                    - oVirt
   417                    - IBMCloud
   418                    - KubeVirt
   419                    - EquinixMetal
   420                    - PowerVS
   421                    - AlibabaCloud
   422                    - Nutanix
   423                    - External
   424                  type: string
   425                platformStatus:
   426                  description: platformStatus holds status information specific to the underlying infrastructure provider.
   427                  properties:
   428                    alibabaCloud:
   429                      description: AlibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider.
   430                      properties:
   431                        region:
   432                          description: region specifies the region for Alibaba Cloud resources created for the cluster.
   433                          pattern: ^[0-9A-Za-z-]+$
   434                          type: string
   435                        resourceGroupID:
   436                          description: resourceGroupID is the ID of the resource group for the cluster.
   437                          pattern: ^(rg-[0-9A-Za-z]+)?$
   438                          type: string
   439                        resourceTags:
   440                          description: resourceTags is a list of additional tags to apply to Alibaba Cloud resources created for the cluster.
   441                          items:
   442                            description: AlibabaCloudResourceTag is the set of tags to add to apply to resources.
   443                            properties:
   444                              key:
   445                                description: key is the key of the tag.
   446                                maxLength: 128
   447                                minLength: 1
   448                                type: string
   449                              value:
   450                                description: value is the value of the tag.
   451                                maxLength: 128
   452                                minLength: 1
   453                                type: string
   454                            required:
   455                              - key
   456                              - value
   457                            type: object
   458                          maxItems: 20
   459                          type: array
   460                          x-kubernetes-list-map-keys:
   461                            - key
   462                          x-kubernetes-list-type: map
   463                      required:
   464                        - region
   465                      type: object
   466                    aws:
   467                      description: AWS contains settings specific to the Amazon Web Services infrastructure provider.
   468                      properties:
   469                        region:
   470                          description: region holds the default AWS region for new AWS resources created by the cluster.
   471                          type: string
   472                        resourceTags:
   473                          description: resourceTags is a list of additional tags to apply to AWS resources created for the cluster. See https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html for information on tagging AWS resources. AWS supports a maximum of 50 tags per resource. OpenShift reserves 25 tags for its use, leaving 25 tags available for the user.
   474                          items:
   475                            description: AWSResourceTag is a tag to apply to AWS resources created for the cluster.
   476                            properties:
   477                              key:
   478                                description: key is the key of the tag
   479                                maxLength: 128
   480                                minLength: 1
   481                                pattern: ^[0-9A-Za-z_.:/=+-@]+$
   482                                type: string
   483                              value:
   484                                description: value is the value of the tag. Some AWS service do not support empty values. Since tags are added to resources in many services, the length of the tag value must meet the requirements of all services.
   485                                maxLength: 256
   486                                minLength: 1
   487                                pattern: ^[0-9A-Za-z_.:/=+-@]+$
   488                                type: string
   489                            required:
   490                              - key
   491                              - value
   492                            type: object
   493                          maxItems: 25
   494                          type: array
   495                        serviceEndpoints:
   496                          description: ServiceEndpoints list contains custom endpoints which will override default service endpoint of AWS Services. There must be only one ServiceEndpoint for a service.
   497                          items:
   498                            description: AWSServiceEndpoint store the configuration of a custom url to override existing defaults of AWS Services.
   499                            properties:
   500                              name:
   501                                description: name is the name of the AWS service. The list of all the service names can be found at https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html This must be provided and cannot be empty.
   502                                pattern: ^[a-z0-9-]+$
   503                                type: string
   504                              url:
   505                                description: url is fully qualified URI with scheme https, that overrides the default generated endpoint for a client. This must be provided and cannot be empty.
   506                                pattern: ^https://
   507                                type: string
   508                            type: object
   509                          type: array
   510                      type: object
   511                    azure:
   512                      description: Azure contains settings specific to the Azure infrastructure provider.
   513                      properties:
   514                        armEndpoint:
   515                          description: armEndpoint specifies a URL to use for resource management in non-soverign clouds such as Azure Stack.
   516                          type: string
   517                        cloudName:
   518                          description: cloudName is the name of the Azure cloud environment which can be used to configure the Azure SDK with the appropriate Azure API endpoints. If empty, the value is equal to `AzurePublicCloud`.
   519                          enum:
   520                            - ""
   521                            - AzurePublicCloud
   522                            - AzureUSGovernmentCloud
   523                            - AzureChinaCloud
   524                            - AzureGermanCloud
   525                            - AzureStackCloud
   526                          type: string
   527                        networkResourceGroupName:
   528                          description: networkResourceGroupName is the Resource Group for network resources like the Virtual Network and Subnets used by the cluster. If empty, the value is same as ResourceGroupName.
   529                          type: string
   530                        resourceGroupName:
   531                          description: resourceGroupName is the Resource Group for new Azure resources created for the cluster.
   532                          type: string
   533                        resourceTags:
   534                          description: resourceTags is a list of additional tags to apply to Azure resources created for the cluster. See https://docs.microsoft.com/en-us/rest/api/resources/tags for information on tagging Azure resources. Due to limitations on Automation, Content Delivery Network, DNS Azure resources, a maximum of 15 tags may be applied. OpenShift reserves 5 tags for internal use, allowing 10 tags for user configuration.
   535                          items:
   536                            description: AzureResourceTag is a tag to apply to Azure resources created for the cluster.
   537                            properties:
   538                              key:
   539                                description: key is the key part of the tag. A tag key can have a maximum of 128 characters and cannot be empty. Key must begin with a letter, end with a letter, number or underscore, and must contain only alphanumeric characters and the following special characters `_ . -`.
   540                                maxLength: 128
   541                                minLength: 1
   542                                pattern: ^[a-zA-Z]([0-9A-Za-z_.-]*[0-9A-Za-z_])?$
   543                                type: string
   544                              value:
   545                                description: 'value is the value part of the tag. A tag value can have a maximum of 256 characters and cannot be empty. Value must contain only alphanumeric characters and the following special characters `_ + , - . / : ; < = > ? @`.'
   546                                maxLength: 256
   547                                minLength: 1
   548                                pattern: ^[0-9A-Za-z_.=+-@]+$
   549                                type: string
   550                            required:
   551                              - key
   552                              - value
   553                            type: object
   554                          maxItems: 10
   555                          type: array
   556                          x-kubernetes-validations:
   557                            - message: resourceTags are immutable and may only be configured during installation
   558                              rule: self.all(x, x in oldSelf) && oldSelf.all(x, x in self)
   559                      type: object
   560                      x-kubernetes-validations:
   561                        - message: resourceTags may only be configured during installation
   562                          rule: '!has(oldSelf.resourceTags) && !has(self.resourceTags) || has(oldSelf.resourceTags) && has(self.resourceTags)'
   563                    baremetal:
   564                      description: BareMetal contains settings specific to the BareMetal platform.
   565                      properties:
   566                        apiServerInternalIP:
   567                          description: "apiServerInternalIP is an IP address to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI points to. It is the IP for a self-hosted load balancer in front of the API servers. \n Deprecated: Use APIServerInternalIPs instead."
   568                          type: string
   569                        apiServerInternalIPs:
   570                          description: apiServerInternalIPs are the IP addresses to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. These are the IPs for a self-hosted load balancer in front of the API servers. In dual stack clusters this list contains two IPs otherwise only one.
   571                          format: ip
   572                          items:
   573                            type: string
   574                          maxItems: 2
   575                          type: array
   576                        ingressIP:
   577                          description: "ingressIP is an external IP which routes to the default ingress controller. The IP is a suitable target of a wildcard DNS record used to resolve default route host names. \n Deprecated: Use IngressIPs instead."
   578                          type: string
   579                        ingressIPs:
   580                          description: ingressIPs are the external IPs which route to the default ingress controller. The IPs are suitable targets of a wildcard DNS record used to resolve default route host names. In dual stack clusters this list contains two IPs otherwise only one.
   581                          format: ip
   582                          items:
   583                            type: string
   584                          maxItems: 2
   585                          type: array
   586                        loadBalancer:
   587                          default:
   588                            type: OpenShiftManagedDefault
   589                          description: loadBalancer defines how the load balancer used by the cluster is configured.
   590                          properties:
   591                            type:
   592                              default: OpenShiftManagedDefault
   593                              description: type defines the type of load balancer used by the cluster on BareMetal platform which can be a user-managed or openshift-managed load balancer that is to be used for the OpenShift API and Ingress endpoints. When set to OpenShiftManagedDefault the static pods in charge of API and Ingress traffic load-balancing defined in the machine config operator will be deployed. When set to UserManaged these static pods will not be deployed and it is expected that the load balancer is configured out of band by the deployer. When omitted, this means no opinion and the platform is left to choose a reasonable default. The default value is OpenShiftManagedDefault.
   594                              enum:
   595                                - OpenShiftManagedDefault
   596                                - UserManaged
   597                              type: string
   598                              x-kubernetes-validations:
   599                                - message: type is immutable once set
   600                                  rule: oldSelf == '' || self == oldSelf
   601                          type: object
   602                        nodeDNSIP:
   603                          description: nodeDNSIP is the IP address for the internal DNS used by the nodes. Unlike the one managed by the DNS operator, `NodeDNSIP` provides name resolution for the nodes themselves. There is no DNS-as-a-service for BareMetal deployments. In order to minimize necessary changes to the datacenter DNS, a DNS service is hosted as a static pod to serve those hostnames to the nodes in the cluster.
   604                          type: string
   605                      type: object
   606                    equinixMetal:
   607                      description: EquinixMetal contains settings specific to the Equinix Metal infrastructure provider.
   608                      properties:
   609                        apiServerInternalIP:
   610                          description: apiServerInternalIP is an IP address to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI points to. It is the IP for a self-hosted load balancer in front of the API servers.
   611                          type: string
   612                        ingressIP:
   613                          description: ingressIP is an external IP which routes to the default ingress controller. The IP is a suitable target of a wildcard DNS record used to resolve default route host names.
   614                          type: string
   615                      type: object
   616                    external:
   617                      description: External contains settings specific to the generic External infrastructure provider.
   618                      type: object
   619                    gcp:
   620                      description: GCP contains settings specific to the Google Cloud Platform infrastructure provider.
   621                      properties:
   622                        projectID:
   623                          description: resourceGroupName is the Project ID for new GCP resources created for the cluster.
   624                          type: string
   625                        region:
   626                          description: region holds the region for new GCP resources created for the cluster.
   627                          type: string
   628                      type: object
   629                    ibmcloud:
   630                      description: IBMCloud contains settings specific to the IBMCloud infrastructure provider.
   631                      properties:
   632                        cisInstanceCRN:
   633                          description: CISInstanceCRN is the CRN of the Cloud Internet Services instance managing the DNS zone for the cluster's base domain
   634                          type: string
   635                        dnsInstanceCRN:
   636                          description: DNSInstanceCRN is the CRN of the DNS Services instance managing the DNS zone for the cluster's base domain
   637                          type: string
   638                        location:
   639                          description: Location is where the cluster has been deployed
   640                          type: string
   641                        providerType:
   642                          description: ProviderType indicates the type of cluster that was created
   643                          type: string
   644                        resourceGroupName:
   645                          description: ResourceGroupName is the Resource Group for new IBMCloud resources created for the cluster.
   646                          type: string
   647                      type: object
   648                    kubevirt:
   649                      description: Kubevirt contains settings specific to the kubevirt infrastructure provider.
   650                      properties:
   651                        apiServerInternalIP:
   652                          description: apiServerInternalIP is an IP address to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI points to. It is the IP for a self-hosted load balancer in front of the API servers.
   653                          type: string
   654                        ingressIP:
   655                          description: ingressIP is an external IP which routes to the default ingress controller. The IP is a suitable target of a wildcard DNS record used to resolve default route host names.
   656                          type: string
   657                      type: object
   658                    nutanix:
   659                      description: Nutanix contains settings specific to the Nutanix infrastructure provider.
   660                      properties:
   661                        apiServerInternalIP:
   662                          description: "apiServerInternalIP is an IP address to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI points to. It is the IP for a self-hosted load balancer in front of the API servers. \n Deprecated: Use APIServerInternalIPs instead."
   663                          type: string
   664                        apiServerInternalIPs:
   665                          description: apiServerInternalIPs are the IP addresses to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. These are the IPs for a self-hosted load balancer in front of the API servers. In dual stack clusters this list contains two IPs otherwise only one.
   666                          format: ip
   667                          items:
   668                            type: string
   669                          maxItems: 2
   670                          type: array
   671                        ingressIP:
   672                          description: "ingressIP is an external IP which routes to the default ingress controller. The IP is a suitable target of a wildcard DNS record used to resolve default route host names. \n Deprecated: Use IngressIPs instead."
   673                          type: string
   674                        ingressIPs:
   675                          description: ingressIPs are the external IPs which route to the default ingress controller. The IPs are suitable targets of a wildcard DNS record used to resolve default route host names. In dual stack clusters this list contains two IPs otherwise only one.
   676                          format: ip
   677                          items:
   678                            type: string
   679                          maxItems: 2
   680                          type: array
   681                        loadBalancer:
   682                          default:
   683                            type: OpenShiftManagedDefault
   684                          description: loadBalancer defines how the load balancer used by the cluster is configured.
   685                          properties:
   686                            type:
   687                              default: OpenShiftManagedDefault
   688                              description: type defines the type of load balancer used by the cluster on Nutanix platform which can be a user-managed or openshift-managed load balancer that is to be used for the OpenShift API and Ingress endpoints. When set to OpenShiftManagedDefault the static pods in charge of API and Ingress traffic load-balancing defined in the machine config operator will be deployed. When set to UserManaged these static pods will not be deployed and it is expected that the load balancer is configured out of band by the deployer. When omitted, this means no opinion and the platform is left to choose a reasonable default. The default value is OpenShiftManagedDefault.
   689                              enum:
   690                                - OpenShiftManagedDefault
   691                                - UserManaged
   692                              type: string
   693                              x-kubernetes-validations:
   694                                - message: type is immutable once set
   695                                  rule: oldSelf == '' || self == oldSelf
   696                          type: object
   697                      type: object
   698                    openstack:
   699                      description: OpenStack contains settings specific to the OpenStack infrastructure provider.
   700                      properties:
   701                        apiServerInternalIP:
   702                          description: "apiServerInternalIP is an IP address to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI points to. It is the IP for a self-hosted load balancer in front of the API servers. \n Deprecated: Use APIServerInternalIPs instead."
   703                          type: string
   704                        apiServerInternalIPs:
   705                          description: apiServerInternalIPs are the IP addresses to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. These are the IPs for a self-hosted load balancer in front of the API servers. In dual stack clusters this list contains two IPs otherwise only one.
   706                          format: ip
   707                          items:
   708                            type: string
   709                          maxItems: 2
   710                          type: array
   711                        cloudName:
   712                          description: cloudName is the name of the desired OpenStack cloud in the client configuration file (`clouds.yaml`).
   713                          type: string
   714                        ingressIP:
   715                          description: "ingressIP is an external IP which routes to the default ingress controller. The IP is a suitable target of a wildcard DNS record used to resolve default route host names. \n Deprecated: Use IngressIPs instead."
   716                          type: string
   717                        ingressIPs:
   718                          description: ingressIPs are the external IPs which route to the default ingress controller. The IPs are suitable targets of a wildcard DNS record used to resolve default route host names. In dual stack clusters this list contains two IPs otherwise only one.
   719                          format: ip
   720                          items:
   721                            type: string
   722                          maxItems: 2
   723                          type: array
   724                        loadBalancer:
   725                          default:
   726                            type: OpenShiftManagedDefault
   727                          description: loadBalancer defines how the load balancer used by the cluster is configured.
   728                          properties:
   729                            type:
   730                              default: OpenShiftManagedDefault
   731                              description: type defines the type of load balancer used by the cluster on OpenStack platform which can be a user-managed or openshift-managed load balancer that is to be used for the OpenShift API and Ingress endpoints. When set to OpenShiftManagedDefault the static pods in charge of API and Ingress traffic load-balancing defined in the machine config operator will be deployed. When set to UserManaged these static pods will not be deployed and it is expected that the load balancer is configured out of band by the deployer. When omitted, this means no opinion and the platform is left to choose a reasonable default. The default value is OpenShiftManagedDefault.
   732                              enum:
   733                                - OpenShiftManagedDefault
   734                                - UserManaged
   735                              type: string
   736                              x-kubernetes-validations:
   737                                - message: type is immutable once set
   738                                  rule: oldSelf == '' || self == oldSelf
   739                          type: object
   740                        nodeDNSIP:
   741                          description: nodeDNSIP is the IP address for the internal DNS used by the nodes. Unlike the one managed by the DNS operator, `NodeDNSIP` provides name resolution for the nodes themselves. There is no DNS-as-a-service for OpenStack deployments. In order to minimize necessary changes to the datacenter DNS, a DNS service is hosted as a static pod to serve those hostnames to the nodes in the cluster.
   742                          type: string
   743                      type: object
   744                    ovirt:
   745                      description: Ovirt contains settings specific to the oVirt infrastructure provider.
   746                      properties:
   747                        apiServerInternalIP:
   748                          description: "apiServerInternalIP is an IP address to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI points to. It is the IP for a self-hosted load balancer in front of the API servers. \n Deprecated: Use APIServerInternalIPs instead."
   749                          type: string
   750                        apiServerInternalIPs:
   751                          description: apiServerInternalIPs are the IP addresses to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. These are the IPs for a self-hosted load balancer in front of the API servers. In dual stack clusters this list contains two IPs otherwise only one.
   752                          format: ip
   753                          items:
   754                            type: string
   755                          maxItems: 2
   756                          type: array
   757                        ingressIP:
   758                          description: "ingressIP is an external IP which routes to the default ingress controller. The IP is a suitable target of a wildcard DNS record used to resolve default route host names. \n Deprecated: Use IngressIPs instead."
   759                          type: string
   760                        ingressIPs:
   761                          description: ingressIPs are the external IPs which route to the default ingress controller. The IPs are suitable targets of a wildcard DNS record used to resolve default route host names. In dual stack clusters this list contains two IPs otherwise only one.
   762                          format: ip
   763                          items:
   764                            type: string
   765                          maxItems: 2
   766                          type: array
   767                        loadBalancer:
   768                          default:
   769                            type: OpenShiftManagedDefault
   770                          description: loadBalancer defines how the load balancer used by the cluster is configured.
   771                          properties:
   772                            type:
   773                              default: OpenShiftManagedDefault
   774                              description: type defines the type of load balancer used by the cluster on Ovirt platform which can be a user-managed or openshift-managed load balancer that is to be used for the OpenShift API and Ingress endpoints. When set to OpenShiftManagedDefault the static pods in charge of API and Ingress traffic load-balancing defined in the machine config operator will be deployed. When set to UserManaged these static pods will not be deployed and it is expected that the load balancer is configured out of band by the deployer. When omitted, this means no opinion and the platform is left to choose a reasonable default. The default value is OpenShiftManagedDefault.
   775                              enum:
   776                                - OpenShiftManagedDefault
   777                                - UserManaged
   778                              type: string
   779                              x-kubernetes-validations:
   780                                - message: type is immutable once set
   781                                  rule: oldSelf == '' || self == oldSelf
   782                          type: object
   783                        nodeDNSIP:
   784                          description: 'deprecated: as of 4.6, this field is no longer set or honored.  It will be removed in a future release.'
   785                          type: string
   786                      type: object
   787                    powervs:
   788                      description: PowerVS contains settings specific to the Power Systems Virtual Servers infrastructure provider.
   789                      properties:
   790                        cisInstanceCRN:
   791                          description: CISInstanceCRN is the CRN of the Cloud Internet Services instance managing the DNS zone for the cluster's base domain
   792                          type: string
   793                        dnsInstanceCRN:
   794                          description: DNSInstanceCRN is the CRN of the DNS Services instance managing the DNS zone for the cluster's base domain
   795                          type: string
   796                        region:
   797                          description: region holds the default Power VS region for new Power VS resources created by the cluster.
   798                          type: string
   799                        resourceGroup:
   800                          description: 'resourceGroup is the resource group name for new IBMCloud resources created for a cluster. The resource group specified here will be used by cluster-image-registry-operator to set up a COS Instance in IBMCloud for the cluster registry. More about resource groups can be found here: https://cloud.ibm.com/docs/account?topic=account-rgs. When omitted, the image registry operator won''t be able to configure storage, which results in the image registry cluster operator not being in an available state.'
   801                          maxLength: 40
   802                          pattern: ^[a-zA-Z0-9-_ ]+$
   803                          type: string
   804                          x-kubernetes-validations:
   805                            - message: resourceGroup is immutable once set
   806                              rule: oldSelf == '' || self == oldSelf
   807                        serviceEndpoints:
   808                          description: serviceEndpoints is a list of custom endpoints which will override the default service endpoints of a Power VS service.
   809                          items:
   810                            description: PowervsServiceEndpoint stores the configuration of a custom url to override existing defaults of PowerVS Services.
   811                            properties:
   812                              name:
   813                                description: name is the name of the Power VS service. Few of the services are IAM - https://cloud.ibm.com/apidocs/iam-identity-token-api ResourceController - https://cloud.ibm.com/apidocs/resource-controller/resource-controller Power Cloud - https://cloud.ibm.com/apidocs/power-cloud
   814                                pattern: ^[a-z0-9-]+$
   815                                type: string
   816                              url:
   817                                description: url is fully qualified URI with scheme https, that overrides the default generated endpoint for a client. This must be provided and cannot be empty.
   818                                format: uri
   819                                pattern: ^https://
   820                                type: string
   821                            required:
   822                              - name
   823                              - url
   824                            type: object
   825                          type: array
   826                        zone:
   827                          description: 'zone holds the default zone for the new Power VS resources created by the cluster. Note: Currently only single-zone OCP clusters are supported'
   828                          type: string
   829                      type: object
   830                      x-kubernetes-validations:
   831                        - message: cannot unset resourceGroup once set
   832                          rule: '!has(oldSelf.resourceGroup) || has(self.resourceGroup)'
   833                    type:
   834                      description: "type is the underlying infrastructure provider for the cluster. This value controls whether infrastructure automation such as service load balancers, dynamic volume provisioning, machine creation and deletion, and other integrations are enabled. If None, no infrastructure automation is enabled. Allowed values are \"AWS\", \"Azure\", \"BareMetal\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", \"oVirt\", \"EquinixMetal\", \"PowerVS\", \"AlibabaCloud\", \"Nutanix\" and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform. \n This value will be synced with to the `status.platform` and `status.platformStatus.type`. Currently this value cannot be changed once set."
   835                      enum:
   836                        - ""
   837                        - AWS
   838                        - Azure
   839                        - BareMetal
   840                        - GCP
   841                        - Libvirt
   842                        - OpenStack
   843                        - None
   844                        - VSphere
   845                        - oVirt
   846                        - IBMCloud
   847                        - KubeVirt
   848                        - EquinixMetal
   849                        - PowerVS
   850                        - AlibabaCloud
   851                        - Nutanix
   852                        - External
   853                      type: string
   854                    vsphere:
   855                      description: VSphere contains settings specific to the VSphere infrastructure provider.
   856                      properties:
   857                        apiServerInternalIP:
   858                          description: "apiServerInternalIP is an IP address to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI points to. It is the IP for a self-hosted load balancer in front of the API servers. \n Deprecated: Use APIServerInternalIPs instead."
   859                          type: string
   860                        apiServerInternalIPs:
   861                          description: apiServerInternalIPs are the IP addresses to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. These are the IPs for a self-hosted load balancer in front of the API servers. In dual stack clusters this list contains two IPs otherwise only one.
   862                          format: ip
   863                          items:
   864                            type: string
   865                          maxItems: 2
   866                          type: array
   867                        ingressIP:
   868                          description: "ingressIP is an external IP which routes to the default ingress controller. The IP is a suitable target of a wildcard DNS record used to resolve default route host names. \n Deprecated: Use IngressIPs instead."
   869                          type: string
   870                        ingressIPs:
   871                          description: ingressIPs are the external IPs which route to the default ingress controller. The IPs are suitable targets of a wildcard DNS record used to resolve default route host names. In dual stack clusters this list contains two IPs otherwise only one.
   872                          format: ip
   873                          items:
   874                            type: string
   875                          maxItems: 2
   876                          type: array
   877                        loadBalancer:
   878                          default:
   879                            type: OpenShiftManagedDefault
   880                          description: loadBalancer defines how the load balancer used by the cluster is configured.
   881                          properties:
   882                            type:
   883                              default: OpenShiftManagedDefault
   884                              description: type defines the type of load balancer used by the cluster on VSphere platform which can be a user-managed or openshift-managed load balancer that is to be used for the OpenShift API and Ingress endpoints. When set to OpenShiftManagedDefault the static pods in charge of API and Ingress traffic load-balancing defined in the machine config operator will be deployed. When set to UserManaged these static pods will not be deployed and it is expected that the load balancer is configured out of band by the deployer. When omitted, this means no opinion and the platform is left to choose a reasonable default. The default value is OpenShiftManagedDefault.
   885                              enum:
   886                                - OpenShiftManagedDefault
   887                                - UserManaged
   888                              type: string
   889                              x-kubernetes-validations:
   890                                - message: type is immutable once set
   891                                  rule: oldSelf == '' || self == oldSelf
   892                          type: object
   893                        nodeDNSIP:
   894                          description: nodeDNSIP is the IP address for the internal DNS used by the nodes. Unlike the one managed by the DNS operator, `NodeDNSIP` provides name resolution for the nodes themselves. There is no DNS-as-a-service for vSphere deployments. In order to minimize necessary changes to the datacenter DNS, a DNS service is hosted as a static pod to serve those hostnames to the nodes in the cluster.
   895                          type: string
   896                      type: object
   897                  type: object
   898              type: object
   899          required:
   900            - spec
   901          type: object
   902      served: true
   903      storage: true
   904      subresources:
   905        status: {}

View as plain text