k8c.io/api/v3@v3.0.0-20230904060738-b0a93889c0b6/crd/enterprise/kcp/ee.kubermatic.k8c.io_seeds.yaml (about)

     1  # This file has been generated by hack/update-codegen.sh, DO NOT EDIT.
     2  
     3  apiVersion: apiextensions.k8s.io/v1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    annotations:
     7      controller-gen.kubebuilder.io/version: v0.12.0
     8    name: seeds.ee.kubermatic.k8c.io
     9  spec:
    10    group: ee.kubermatic.k8c.io
    11    names:
    12      kind: Seed
    13      listKind: SeedList
    14      plural: seeds
    15      singular: seed
    16    scope: Namespaced
    17    versions:
    18      - additionalPrinterColumns:
    19          - jsonPath: .status.clusters
    20            name: Clusters
    21            type: integer
    22          - jsonPath: .spec.location
    23            name: Location
    24            type: string
    25          - jsonPath: .status.versions.kubermatic
    26            name: KKP Version
    27            type: string
    28          - jsonPath: .status.versions.cluster
    29            name: Cluster Version
    30            type: string
    31          - jsonPath: .status.phase
    32            name: Phase
    33            type: string
    34          - jsonPath: .metadata.creationTimestamp
    35            name: Age
    36            type: date
    37        name: v1
    38        schema:
    39          openAPIV3Schema:
    40            description: Seed is the type representing a Seed cluster. Seed clusters host the the control planes for KKP user clusters. Seedlets are responsible for registering a seed cluster in the KKP management system, similar to how a kubelet registers a node.
    41            properties:
    42              apiVersion:
    43                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'
    44                type: string
    45              kind:
    46                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'
    47                type: string
    48              metadata:
    49                type: object
    50              spec:
    51                description: The spec for a seed cluster.
    52                properties:
    53                  country:
    54                    description: 'Optional: Country of the seed as ISO-3166 two-letter code, e.g. DE or UK. For informational purposes in the Kubermatic dashboard only.'
    55                    type: string
    56                  datacenters:
    57                    additionalProperties:
    58                      description: DatacenterSpec configures a KKP datacenter. Provider configuration is mutually exclusive, and as such only a single provider can be configured per datacenter.
    59                      properties:
    60                        enforceAuditLogging:
    61                          description: 'Optional: EnforceAuditLogging enforces audit logging on every cluster within the DC, ignoring cluster-specific settings.'
    62                          type: boolean
    63                        enforcePodSecurityPolicy:
    64                          description: 'Optional: EnforcePodSecurityPolicy enforces pod security policy plugin on every clusters within the DC, ignoring cluster-specific settings.'
    65                          type: boolean
    66                        machineFlavorFilter:
    67                          description: 'Optional: MachineFlavorFilter is used to filter out allowed machine flavors based on the specified resource limits like CPU, Memory, and GPU etc.'
    68                          properties:
    69                            enableGPU:
    70                              description: Include VMs with GPU
    71                              type: boolean
    72                            maxCPU:
    73                              default: 0
    74                              description: Maximum number of vCPU
    75                              minimum: 0
    76                              type: integer
    77                            maxRAM:
    78                              default: 0
    79                              description: Maximum RAM size in GB
    80                              minimum: 0
    81                              type: integer
    82                            minCPU:
    83                              default: 0
    84                              description: Minimum number of vCPU
    85                              minimum: 0
    86                              type: integer
    87                            minRAM:
    88                              default: 0
    89                              description: Minimum RAM size in GB
    90                              minimum: 0
    91                              type: integer
    92                          required:
    93                            - enableGPU
    94                            - maxCPU
    95                            - maxRAM
    96                            - minCPU
    97                            - minRAM
    98                          type: object
    99                        node:
   100                          description: Node holds node-specific settings, like e.g. HTTP proxy, Docker registries and the like. Proxy settings are inherited from the seed if not specified here.
   101                          properties:
   102                            containerdRegistryMirrors:
   103                              description: 'Optional: ContainerdRegistryMirrors configure registry mirrors endpoints. Can be used multiple times to specify multiple mirrors.'
   104                              properties:
   105                                registries:
   106                                  additionalProperties:
   107                                    description: ContainerdRegistry defines endpoints and security for given container registry.
   108                                    properties:
   109                                      mirrors:
   110                                        description: List of registry mirrors to use
   111                                        items:
   112                                          type: string
   113                                        type: array
   114                                    type: object
   115                                  description: A map of registries to use to render configs and mirrors for containerd registries
   116                                  type: object
   117                              type: object
   118                            httpProxy:
   119                              description: 'Optional: If set, this proxy will be configured for both HTTP and HTTPS.'
   120                              type: string
   121                            insecureRegistries:
   122                              description: 'Optional: These image registries will be configured as insecure on the container runtime.'
   123                              items:
   124                                type: string
   125                              type: array
   126                            noProxy:
   127                              description: 'Optional: If set this will be set as NO_PROXY environment variable on the node; The value must be a comma-separated list of domains for which no proxy should be used, e.g. "*.example.com,internal.dev". Note that the in-cluster apiserver URL will be automatically prepended to this value.'
   128                              type: string
   129                            pauseImage:
   130                              description: 'Optional: Translates to --pod-infra-container-image on the kubelet. If not set, the kubelet will default it.'
   131                              type: string
   132                            registryMirrors:
   133                              description: 'Optional: These image registries will be configured as registry mirrors on the container runtime.'
   134                              items:
   135                                type: string
   136                              type: array
   137                          type: object
   138                        operatingSystemProfiles:
   139                          additionalProperties:
   140                            type: string
   141                          description: 'Optional: DefaultOperatingSystemProfiles specifies the OperatingSystemProfiles to use for each supported operating system.'
   142                          type: object
   143                        provider:
   144                          description: Provider contains cloud-provider related configuration.
   145                          properties:
   146                            alibaba:
   147                              description: Alibaba configures an Alibaba Cloud datacenter.
   148                              properties:
   149                                region:
   150                                  description: Region to use, for a full list of regions see https://www.alibabacloud.com/help/doc-detail/40654.htm
   151                                  type: string
   152                              required:
   153                                - region
   154                              type: object
   155                            anexia:
   156                              description: Anexia configures an Anexia datacenter.
   157                              properties:
   158                                locationID:
   159                                  description: LocationID the location of the region
   160                                  type: string
   161                              required:
   162                                - locationID
   163                              type: object
   164                            aws:
   165                              description: AWS configures an Amazon Web Services (AWS) datacenter.
   166                              properties:
   167                                images:
   168                                  additionalProperties:
   169                                    type: string
   170                                  description: List of AMIs to use for a given operating system. This gets defaulted by querying for the latest AMI for the given distribution when machines are created, so under normal circumstances it is not necessary to define the AMIs statically.
   171                                  type: object
   172                                region:
   173                                  description: The AWS region to use, e.g. "us-east-1". For a list of available regions, see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html
   174                                  type: string
   175                              required:
   176                                - region
   177                              type: object
   178                            azure:
   179                              description: Azure configures an Azure datacenter.
   180                              properties:
   181                                location:
   182                                  description: Region to use, for example "westeurope". A list of available regions can be found at https://azure.microsoft.com/en-us/global-infrastructure/locations/
   183                                  type: string
   184                              required:
   185                                - location
   186                              type: object
   187                            bringyourown:
   188                              description: BringYourOwn contains settings for clusters using manually created nodes via kubeadm.
   189                              type: object
   190                            digitalocean:
   191                              description: Digitalocean contains settings for Digitalocean (DO).
   192                              properties:
   193                                region:
   194                                  description: Datacenter location, e.g. "ams3". A list of existing datacenters can be found at https://www.digitalocean.com/docs/platform/availability-matrix/
   195                                  type: string
   196                              required:
   197                                - region
   198                              type: object
   199                            fake:
   200                              description: DatacenterSpecFake describes a fake datacenter.
   201                              properties:
   202                                fakeProperty:
   203                                  type: string
   204                              type: object
   205                            gcp:
   206                              description: GCP configures a Google Cloud Platform (GCP) datacenter.
   207                              properties:
   208                                region:
   209                                  description: Region to use, for example "europe-west3", for a full list of regions see https://cloud.google.com/compute/docs/regions-zones/
   210                                  type: string
   211                                regional:
   212                                  description: 'Optional: Regional clusters spread their resources across multiple availability zones. Refer to the official documentation for more details on this: https://cloud.google.com/kubernetes-engine/docs/concepts/regional-clusters'
   213                                  type: boolean
   214                                zoneSuffixes:
   215                                  description: List of enabled zones, for example [a, c]. See the link above for the available zones in your chosen region.
   216                                  items:
   217                                    type: string
   218                                  type: array
   219                              required:
   220                                - region
   221                                - zoneSuffixes
   222                              type: object
   223                            hetzner:
   224                              description: Hetzner configures a Hetzner datacenter.
   225                              properties:
   226                                datacenter:
   227                                  description: Datacenter location, e.g. "nbg1-dc3". A list of existing datacenters can be found at https://docs.hetzner.com/general/others/data-centers-and-connection/
   228                                  type: string
   229                                location:
   230                                  description: 'Optional: Detailed location of the datacenter, like "Hamburg" or "Datacenter 7". For informational purposes only.'
   231                                  type: string
   232                                network:
   233                                  description: Network is the pre-existing Hetzner network in which the machines are running. While machines can be in multiple networks, a single one must be chosen for the HCloud CCM to work.
   234                                  type: string
   235                              required:
   236                                - datacenter
   237                                - network
   238                              type: object
   239                            kubevirt:
   240                              description: KubeVirt configures a KubeVirt datacenter.
   241                              properties:
   242                                customNetworkPolicies:
   243                                  description: 'Optional: CustomNetworkPolicies allows to add some extra custom NetworkPolicies, that are deployed in the dedicated infra KubeVirt cluster. They are added to the defaults.'
   244                                  items:
   245                                    description: CustomNetworkPolicy contains a name and the Spec of a NetworkPolicy.
   246                                    properties:
   247                                      name:
   248                                        description: Name is the name of the Custom Network Policy.
   249                                        type: string
   250                                      spec:
   251                                        description: Spec is the Spec of the NetworkPolicy, using the standard type.
   252                                        properties:
   253                                          egress:
   254                                            description: egress is a list of egress rules to be applied to the selected pods. Outgoing traffic is allowed if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic matches at least one egress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy limits all outgoing traffic (and serves solely to ensure that the pods it selects are isolated by default). This field is beta-level in 1.8
   255                                            items:
   256                                              description: NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to. This type is beta-level in 1.8
   257                                              properties:
   258                                                ports:
   259                                                  description: ports is a list of destination ports for outgoing traffic. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.
   260                                                  items:
   261                                                    description: NetworkPolicyPort describes a port to allow traffic on
   262                                                    properties:
   263                                                      endPort:
   264                                                        description: endPort indicates that the range of ports from port to endPort if set, inclusive, should be allowed by the policy. This field cannot be defined if the port field is not defined or if the port field is defined as a named (string) port. The endPort must be equal or greater than port.
   265                                                        format: int32
   266                                                        type: integer
   267                                                      port:
   268                                                        anyOf:
   269                                                          - type: integer
   270                                                          - type: string
   271                                                        description: port represents the port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched.
   272                                                        x-kubernetes-int-or-string: true
   273                                                      protocol:
   274                                                        default: TCP
   275                                                        description: protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match. If not specified, this field defaults to TCP.
   276                                                        type: string
   277                                                    type: object
   278                                                  type: array
   279                                                to:
   280                                                  description: to is a list of destinations for outgoing traffic of pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all destinations (traffic not restricted by destination). If this field is present and contains at least one item, this rule allows traffic only if the traffic matches at least one item in the to list.
   281                                                  items:
   282                                                    description: NetworkPolicyPeer describes a peer to allow traffic to/from. Only certain combinations of fields are allowed
   283                                                    properties:
   284                                                      ipBlock:
   285                                                        description: ipBlock defines policy on a particular IPBlock. If this field is set then neither of the other fields can be.
   286                                                        properties:
   287                                                          cidr:
   288                                                            description: cidr is a string representing the IPBlock Valid examples are "192.168.1.0/24" or "2001:db8::/64"
   289                                                            type: string
   290                                                          except:
   291                                                            description: except is a slice of CIDRs that should not be included within an IPBlock Valid examples are "192.168.1.0/24" or "2001:db8::/64" Except values will be rejected if they are outside the cidr range
   292                                                            items:
   293                                                              type: string
   294                                                            type: array
   295                                                        required:
   296                                                          - cidr
   297                                                        type: object
   298                                                      namespaceSelector:
   299                                                        description: "namespaceSelector selects namespaces using cluster-scoped labels. This field follows standard label selector semantics; if present but empty, it selects all namespaces. \n If podSelector is also set, then the NetworkPolicyPeer as a whole selects the pods matching podSelector in the namespaces selected by namespaceSelector. Otherwise it selects all pods in the namespaces selected by namespaceSelector."
   300                                                        properties:
   301                                                          matchExpressions:
   302                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   303                                                            items:
   304                                                              description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   305                                                              properties:
   306                                                                key:
   307                                                                  description: key is the label key that the selector applies to.
   308                                                                  type: string
   309                                                                operator:
   310                                                                  description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   311                                                                  type: string
   312                                                                values:
   313                                                                  description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
   314                                                                  items:
   315                                                                    type: string
   316                                                                  type: array
   317                                                              required:
   318                                                                - key
   319                                                                - operator
   320                                                              type: object
   321                                                            type: array
   322                                                          matchLabels:
   323                                                            additionalProperties:
   324                                                              type: string
   325                                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
   326                                                            type: object
   327                                                        type: object
   328                                                        x-kubernetes-map-type: atomic
   329                                                      podSelector:
   330                                                        description: "podSelector is a label selector which selects pods. This field follows standard label selector semantics; if present but empty, it selects all pods. \n If namespaceSelector is also set, then the NetworkPolicyPeer as a whole selects the pods matching podSelector in the Namespaces selected by NamespaceSelector. Otherwise it selects the pods matching podSelector in the policy's own namespace."
   331                                                        properties:
   332                                                          matchExpressions:
   333                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   334                                                            items:
   335                                                              description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   336                                                              properties:
   337                                                                key:
   338                                                                  description: key is the label key that the selector applies to.
   339                                                                  type: string
   340                                                                operator:
   341                                                                  description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   342                                                                  type: string
   343                                                                values:
   344                                                                  description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
   345                                                                  items:
   346                                                                    type: string
   347                                                                  type: array
   348                                                              required:
   349                                                                - key
   350                                                                - operator
   351                                                              type: object
   352                                                            type: array
   353                                                          matchLabels:
   354                                                            additionalProperties:
   355                                                              type: string
   356                                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
   357                                                            type: object
   358                                                        type: object
   359                                                        x-kubernetes-map-type: atomic
   360                                                    type: object
   361                                                  type: array
   362                                              type: object
   363                                            type: array
   364                                          ingress:
   365                                            description: ingress is a list of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not allow any traffic (and serves solely to ensure that the pods it selects are isolated by default)
   366                                            items:
   367                                              description: NetworkPolicyIngressRule describes a particular set of traffic that is allowed to the pods matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and from.
   368                                              properties:
   369                                                from:
   370                                                  description: from is a list of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all sources (traffic not restricted by source). If this field is present and contains at least one item, this rule allows traffic only if the traffic matches at least one item in the from list.
   371                                                  items:
   372                                                    description: NetworkPolicyPeer describes a peer to allow traffic to/from. Only certain combinations of fields are allowed
   373                                                    properties:
   374                                                      ipBlock:
   375                                                        description: ipBlock defines policy on a particular IPBlock. If this field is set then neither of the other fields can be.
   376                                                        properties:
   377                                                          cidr:
   378                                                            description: cidr is a string representing the IPBlock Valid examples are "192.168.1.0/24" or "2001:db8::/64"
   379                                                            type: string
   380                                                          except:
   381                                                            description: except is a slice of CIDRs that should not be included within an IPBlock Valid examples are "192.168.1.0/24" or "2001:db8::/64" Except values will be rejected if they are outside the cidr range
   382                                                            items:
   383                                                              type: string
   384                                                            type: array
   385                                                        required:
   386                                                          - cidr
   387                                                        type: object
   388                                                      namespaceSelector:
   389                                                        description: "namespaceSelector selects namespaces using cluster-scoped labels. This field follows standard label selector semantics; if present but empty, it selects all namespaces. \n If podSelector is also set, then the NetworkPolicyPeer as a whole selects the pods matching podSelector in the namespaces selected by namespaceSelector. Otherwise it selects all pods in the namespaces selected by namespaceSelector."
   390                                                        properties:
   391                                                          matchExpressions:
   392                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   393                                                            items:
   394                                                              description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   395                                                              properties:
   396                                                                key:
   397                                                                  description: key is the label key that the selector applies to.
   398                                                                  type: string
   399                                                                operator:
   400                                                                  description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   401                                                                  type: string
   402                                                                values:
   403                                                                  description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
   404                                                                  items:
   405                                                                    type: string
   406                                                                  type: array
   407                                                              required:
   408                                                                - key
   409                                                                - operator
   410                                                              type: object
   411                                                            type: array
   412                                                          matchLabels:
   413                                                            additionalProperties:
   414                                                              type: string
   415                                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
   416                                                            type: object
   417                                                        type: object
   418                                                        x-kubernetes-map-type: atomic
   419                                                      podSelector:
   420                                                        description: "podSelector is a label selector which selects pods. This field follows standard label selector semantics; if present but empty, it selects all pods. \n If namespaceSelector is also set, then the NetworkPolicyPeer as a whole selects the pods matching podSelector in the Namespaces selected by NamespaceSelector. Otherwise it selects the pods matching podSelector in the policy's own namespace."
   421                                                        properties:
   422                                                          matchExpressions:
   423                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   424                                                            items:
   425                                                              description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   426                                                              properties:
   427                                                                key:
   428                                                                  description: key is the label key that the selector applies to.
   429                                                                  type: string
   430                                                                operator:
   431                                                                  description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   432                                                                  type: string
   433                                                                values:
   434                                                                  description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
   435                                                                  items:
   436                                                                    type: string
   437                                                                  type: array
   438                                                              required:
   439                                                                - key
   440                                                                - operator
   441                                                              type: object
   442                                                            type: array
   443                                                          matchLabels:
   444                                                            additionalProperties:
   445                                                              type: string
   446                                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
   447                                                            type: object
   448                                                        type: object
   449                                                        x-kubernetes-map-type: atomic
   450                                                    type: object
   451                                                  type: array
   452                                                ports:
   453                                                  description: ports is a list of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.
   454                                                  items:
   455                                                    description: NetworkPolicyPort describes a port to allow traffic on
   456                                                    properties:
   457                                                      endPort:
   458                                                        description: endPort indicates that the range of ports from port to endPort if set, inclusive, should be allowed by the policy. This field cannot be defined if the port field is not defined or if the port field is defined as a named (string) port. The endPort must be equal or greater than port.
   459                                                        format: int32
   460                                                        type: integer
   461                                                      port:
   462                                                        anyOf:
   463                                                          - type: integer
   464                                                          - type: string
   465                                                        description: port represents the port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched.
   466                                                        x-kubernetes-int-or-string: true
   467                                                      protocol:
   468                                                        default: TCP
   469                                                        description: protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match. If not specified, this field defaults to TCP.
   470                                                        type: string
   471                                                    type: object
   472                                                  type: array
   473                                              type: object
   474                                            type: array
   475                                          podSelector:
   476                                            description: podSelector selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.
   477                                            properties:
   478                                              matchExpressions:
   479                                                description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   480                                                items:
   481                                                  description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   482                                                  properties:
   483                                                    key:
   484                                                      description: key is the label key that the selector applies to.
   485                                                      type: string
   486                                                    operator:
   487                                                      description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   488                                                      type: string
   489                                                    values:
   490                                                      description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
   491                                                      items:
   492                                                        type: string
   493                                                      type: array
   494                                                  required:
   495                                                    - key
   496                                                    - operator
   497                                                  type: object
   498                                                type: array
   499                                              matchLabels:
   500                                                additionalProperties:
   501                                                  type: string
   502                                                description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
   503                                                type: object
   504                                            type: object
   505                                            x-kubernetes-map-type: atomic
   506                                          policyTypes:
   507                                            description: policyTypes is a list of rule types that the NetworkPolicy relates to. Valid options are ["Ingress"], ["Egress"], or ["Ingress", "Egress"]. If this field is not specified, it will default based on the existence of ingress or egress rules; policies that contain an egress section are assumed to affect egress, and all policies (whether or not they contain an ingress section) are assumed to affect ingress. If you want to write an egress-only policy, you must explicitly specify policyTypes [ "Egress" ]. Likewise, if you want to write a policy that specifies that no egress is allowed, you must specify a policyTypes value that include "Egress" (since such a policy would not include an egress section and would otherwise default to just [ "Ingress" ]). This field is beta-level in 1.8
   508                                            items:
   509                                              description: PolicyType string describes the NetworkPolicy type This type is beta-level in 1.8
   510                                              type: string
   511                                            type: array
   512                                        required:
   513                                          - podSelector
   514                                        type: object
   515                                    required:
   516                                      - name
   517                                      - spec
   518                                    type: object
   519                                  type: array
   520                                dnsConfig:
   521                                  description: DNSConfig represents the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.
   522                                  properties:
   523                                    nameservers:
   524                                      description: A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.
   525                                      items:
   526                                        type: string
   527                                      type: array
   528                                    options:
   529                                      description: A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.
   530                                      items:
   531                                        description: PodDNSConfigOption defines DNS resolver options of a pod.
   532                                        properties:
   533                                          name:
   534                                            description: Required.
   535                                            type: string
   536                                          value:
   537                                            type: string
   538                                        type: object
   539                                      type: array
   540                                    searches:
   541                                      description: A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.
   542                                      items:
   543                                        type: string
   544                                      type: array
   545                                  type: object
   546                                dnsPolicy:
   547                                  default: ClusterFirst
   548                                  description: DNSPolicy represents the dns policy for the pod. Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. Defaults to "ClusterFirst". DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.
   549                                  enum:
   550                                    - ClusterFirstWithHostNet
   551                                    - ClusterFirst
   552                                    - Default
   553                                    - None
   554                                  type: string
   555                                enableDefaultNetworkPolicies:
   556                                  description: 'Optional: EnableDefaultNetworkPolicies enables deployment of default network policies like cluster isolation. Defaults to true.'
   557                                  type: boolean
   558                                images:
   559                                  description: Images represents standard VM Image sources.
   560                                  properties:
   561                                    http:
   562                                      description: HTTP represents a http source.
   563                                      properties:
   564                                        operatingSystems:
   565                                          additionalProperties:
   566                                            additionalProperties:
   567                                              type: string
   568                                            description: OSVersions defines a map of OS version and the source to download the image.
   569                                            type: object
   570                                          description: OperatingSystems represents list of supported operating-systems with their URLs.
   571                                          type: object
   572                                      required:
   573                                        - operatingSystems
   574                                      type: object
   575                                  type: object
   576                                infraStorageClasses:
   577                                  description: 'Optional: InfraStorageClasses contains a list of KubeVirt infra cluster StorageClasses names that will be used to initialise StorageClasses in the tenant cluster. In the tenant cluster, the created StorageClass name will have as name: kubevirt-<infra-storageClass-name>'
   578                                  items:
   579                                    properties:
   580                                      isDefaultClass:
   581                                        description: 'Optional: IsDefaultClass. If true, the created StorageClass in the tenant cluster will be annotated with: storageclass.kubernetes.io/is-default-class : true If missing or false, annotation will be: storageclass.kubernetes.io/is-default-class : false'
   582                                        type: boolean
   583                                      name:
   584                                        type: string
   585                                    required:
   586                                      - name
   587                                    type: object
   588                                  type: array
   589                              type: object
   590                            nutanix:
   591                              description: Nutanix configures a Nutanix HCI datacenter.
   592                              properties:
   593                                allowInsecure:
   594                                  description: 'Optional: AllowInsecure allows to disable the TLS certificate check against the endpoint (defaults to false)'
   595                                  type: boolean
   596                                endpoint:
   597                                  description: Endpoint to use for accessing Nutanix Prism Central. No protocol or port should be passed, for example "nutanix.example.com" or "10.0.0.1"
   598                                  type: string
   599                                images:
   600                                  additionalProperties:
   601                                    type: string
   602                                  description: Images to use for each supported operating system
   603                                  type: object
   604                                port:
   605                                  description: 'Optional: Port to use when connecting to the Nutanix Prism Central endpoint (defaults to 9440)'
   606                                  format: int32
   607                                  type: integer
   608                              required:
   609                                - endpoint
   610                                - images
   611                              type: object
   612                            openstack:
   613                              description: OpenStack configures an OpenStack datacenter.
   614                              properties:
   615                                authURL:
   616                                  type: string
   617                                availabilityZone:
   618                                  type: string
   619                                dnsServers:
   620                                  description: Used for automatic network creation
   621                                  items:
   622                                    type: string
   623                                  type: array
   624                                enabledFlavors:
   625                                  description: 'Optional: List of enabled flavors for the given datacenter'
   626                                  items:
   627                                    type: string
   628                                  type: array
   629                                enforceFloatingIP:
   630                                  description: Optional
   631                                  type: boolean
   632                                ignoreVolumeAZ:
   633                                  description: Optional
   634                                  type: boolean
   635                                images:
   636                                  additionalProperties:
   637                                    type: string
   638                                  description: Images to use for each supported operating system.
   639                                  type: object
   640                                ipv6Enabled:
   641                                  description: 'Optional: defines if the IPv6 is enabled for the datacenter'
   642                                  type: boolean
   643                                manageSecurityGroups:
   644                                  description: 'Optional: Gets mapped to the "manage-security-groups" setting in the cloud config. This setting defaults to true.'
   645                                  type: boolean
   646                                nodeSizeRequirements:
   647                                  description: 'Optional: Restrict the allowed VM configurations that can be chosen in the KKP dashboard. This setting does not affect the validation webhook for MachineDeployments.'
   648                                  properties:
   649                                    minimumMemory:
   650                                      description: MinimumMemory is the minimum required amount of memory, measured in MB
   651                                      type: integer
   652                                    minimumVCPUs:
   653                                      description: VCPUs is the minimum required amount of (virtual) CPUs
   654                                      type: integer
   655                                  type: object
   656                                region:
   657                                  type: string
   658                                trustDevicePath:
   659                                  description: 'Optional: Gets mapped to the "trust-device-path" setting in the cloud config. This setting defaults to false.'
   660                                  type: boolean
   661                                useOctavia:
   662                                  description: 'Optional: Gets mapped to the "use-octavia" setting in the cloud config. use-octavia is enabled by default in CCM since v1.17.0, and disabled by default with the in-tree cloud provider.'
   663                                  type: boolean
   664                              required:
   665                                - authURL
   666                                - images
   667                                - region
   668                              type: object
   669                            packet:
   670                              description: Packet configures an Equinix Metal datacenter.
   671                              properties:
   672                                facilities:
   673                                  description: The list of enabled facilities, for example "ams1", for a full list of available facilities see https://metal.equinix.com/developers/docs/locations/facilities/
   674                                  items:
   675                                    type: string
   676                                  type: array
   677                                metro:
   678                                  description: Metros are facilities that are grouped together geographically and share capacity and networking features, see https://metal.equinix.com/developers/docs/locations/metros/
   679                                  type: string
   680                              type: object
   681                            providerName:
   682                              description: ProviderName is the name of the cloud provider used for this datacenter. This must match the given provider spec (e.g. if the providerName is "aws", then the `aws` field must be set).
   683                              enum:
   684                                - alibaba
   685                                - anexia
   686                                - aws
   687                                - azure
   688                                - bringyourown
   689                                - digitalocean
   690                                - gcp
   691                                - hetzner
   692                                - kubevirt
   693                                - nutanix
   694                                - openstack
   695                                - packet
   696                                - vmwareclouddirector
   697                                - vsphere
   698                              type: string
   699                            vmwareclouddirector:
   700                              description: VMwareCloudDirector configures a VMware Cloud Director datacenter.
   701                              properties:
   702                                allowInsecure:
   703                                  description: If set to true, disables the TLS certificate check against the endpoint.
   704                                  type: boolean
   705                                catalog:
   706                                  description: The default catalog which contains the VM templates.
   707                                  type: string
   708                                storageProfile:
   709                                  description: The name of the storage profile to use for disks attached to the VMs.
   710                                  type: string
   711                                templates:
   712                                  additionalProperties:
   713                                    type: string
   714                                  description: A list of VM templates to use for a given operating system. You must define at least one template.
   715                                  type: object
   716                                url:
   717                                  description: Endpoint URL to use, including protocol, for example "https://vclouddirector.example.com".
   718                                  type: string
   719                              required:
   720                                - templates
   721                                - url
   722                              type: object
   723                            vsphere:
   724                              description: VSphere configures a VMware vSphere datacenter.
   725                              properties:
   726                                allowInsecure:
   727                                  description: If set to true, disables the TLS certificate check against the endpoint.
   728                                  type: boolean
   729                                cluster:
   730                                  description: The name of the vSphere cluster to use. Used for out-of-tree CSI Driver.
   731                                  type: string
   732                                datacenter:
   733                                  description: The name of the datacenter to use.
   734                                  type: string
   735                                datastore:
   736                                  description: The default Datastore to be used for provisioning volumes using storage classes/dynamic provisioning and for storing virtual machine files in case no `Datastore` or `DatastoreCluster` is provided at Cluster level.
   737                                  type: string
   738                                defaultTagCategoryID:
   739                                  description: DefaultTagCategoryID is the tag category id that will be used as default, if users don't specify it on a cluster level, and they don't wish KKP to create default generated tag category, upon cluster creation.
   740                                  type: string
   741                                endpoint:
   742                                  description: Endpoint URL to use, including protocol, for example "https://vcenter.example.com".
   743                                  type: string
   744                                infraManagementUser:
   745                                  description: 'Optional: Infra management user is the user that will be used for everything except the cloud provider functionality, which will still use the credentials passed in via the Kubermatic dashboard/API.'
   746                                  properties:
   747                                    password:
   748                                      type: string
   749                                    username:
   750                                      type: string
   751                                  type: object
   752                                ipv6Enabled:
   753                                  description: 'Optional: defines if the IPv6 is enabled for the datacenter'
   754                                  type: boolean
   755                                rootPath:
   756                                  description: 'Optional: The root path for cluster specific VM folders. Each cluster gets its own folder below the root folder. Must be the FQDN (for example "/datacenter-1/vm/all-kubermatic-vms-in-here") and defaults to the root VM folder: "/datacenter-1/vm"'
   757                                  type: string
   758                                storagePolicy:
   759                                  description: The name of the storage policy to use for the storage class created in the user cluster.
   760                                  type: string
   761                                templates:
   762                                  additionalProperties:
   763                                    type: string
   764                                  description: 'A list of VM templates to use for a given operating system. You must define at least one template. See: https://github.com/kubermatic/machine-controller/blob/master/docs/vsphere.md#template-vms-preparation'
   765                                  type: object
   766                              required:
   767                                - cluster
   768                                - datacenter
   769                                - datastore
   770                                - endpoint
   771                                - templates
   772                              type: object
   773                          required:
   774                            - providerName
   775                          type: object
   776                        providerReconciliationInterval:
   777                          description: 'Optional: ProviderReconciliationInterval is the time that must have passed since a Cluster''s status.lastProviderReconciliation to make the cliuster controller perform an in-depth provider reconciliation, where for example missing security groups will be reconciled. Setting this too low can cause rate limits by the cloud provider, setting this too high means that *if* a resource at a cloud provider is removed/changed outside of KKP, it will take this long to fix it.'
   778                          type: string
   779                        requiredEmails:
   780                          description: 'Optional: When defined, only users with an e-mail address on the given domains can make use of this datacenter. You can define multiple domains, e.g. "example.com", one of which must match the email domain exactly (i.e. "example.com" will not match "user@test.example.com").'
   781                          items:
   782                            type: string
   783                          type: array
   784                      required:
   785                        - provider
   786                      type: object
   787                    description: Datacenters contains a map of all datacenters (DCs) on this seed. The datacenter names are not globally unique, i.e. two seeds can both have a "test" datacenter.
   788                    type: object
   789                  location:
   790                    description: 'Optional: Detailed location of the cluster, like "Hamburg" or "Datacenter 7". For informational purposes in the Kubermatic dashboard only.'
   791                    type: string
   792                type: object
   793              status:
   794                description: SeedStatus contains runtime information regarding the seed.
   795                properties:
   796                  clusters:
   797                    default: 0
   798                    description: Clusters is the total number of user clusters that exist on this seed, the sum across all its datacenters.
   799                    minimum: 0
   800                    type: integer
   801                  conditions:
   802                    additionalProperties:
   803                      properties:
   804                        lastHeartbeatTime:
   805                          description: Last time we got an update on a given condition.
   806                          format: date-time
   807                          type: string
   808                        lastTransitionTime:
   809                          description: Last time the condition transit from one status to another.
   810                          format: date-time
   811                          type: string
   812                        message:
   813                          description: Human readable message indicating details about last transition.
   814                          type: string
   815                        reason:
   816                          description: (brief) reason for the condition's last transition.
   817                          type: string
   818                        status:
   819                          description: Status of the condition, one of True, False, Unknown.
   820                          type: string
   821                      required:
   822                        - lastHeartbeatTime
   823                        - status
   824                      type: object
   825                    description: Conditions contains conditions the seed is in, its primary use case is status signaling between controllers or between controllers and the API.
   826                    type: object
   827                  datacenters:
   828                    additionalProperties:
   829                      description: DatacenterStatus contains runtime information regarding the datacenter.
   830                      properties:
   831                        clusters:
   832                          default: 0
   833                          description: Clusters is the total number of user clusters that exist on this seed.
   834                          minimum: 0
   835                          type: integer
   836                      required:
   837                        - clusters
   838                      type: object
   839                    description: Datacenters contains a map of all datacenter statuses on this seed.
   840                    type: object
   841                  phase:
   842                    description: Phase contains a human readable text to indicate the seed cluster status. No logic should be tied to this field, as its content can change in between KKP releases.
   843                    enum:
   844                      - Healthy
   845                      - Unhealthy
   846                      - Invalid
   847                      - Terminating
   848                      - Paused
   849                    type: string
   850                  versions:
   851                    description: Versions contains information regarding versions of components in the cluster and the cluster itself.
   852                    properties:
   853                      cluster:
   854                        description: Cluster is the Kubernetes version of the cluster's control plane.
   855                        type: string
   856                      kubermatic:
   857                        description: Kubermatic is the version of the currently deployed KKP components. Note that a permanent version skew between master and seed is not supported and KKP setups should never run for longer times with a skew between the clusters.
   858                        type: string
   859                    type: object
   860                required:
   861                  - clusters
   862                type: object
   863            required:
   864              - spec
   865            type: object
   866        served: true
   867        storage: true
   868        subresources:
   869          status: {}