k8c.io/api/v3@v3.0.0-20230904060738-b0a93889c0b6/crd/enterprise/kcp/ee.kubermatic.k8c.io_kubermaticconfigurations.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: kubermaticconfigurations.ee.kubermatic.k8c.io
     9  spec:
    10    group: ee.kubermatic.k8c.io
    11    names:
    12      kind: KubermaticConfiguration
    13      listKind: KubermaticConfigurationList
    14      plural: kubermaticconfigurations
    15      singular: kubermaticconfiguration
    16    scope: Namespaced
    17    versions:
    18      - additionalPrinterColumns:
    19          - jsonPath: .metadata.creationTimestamp
    20            name: Age
    21            type: date
    22        name: v1
    23        schema:
    24          openAPIV3Schema:
    25            description: KubermaticConfiguration is the configuration required for running Kubermatic.
    26            properties:
    27              apiVersion:
    28                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'
    29                type: string
    30              kind:
    31                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'
    32                type: string
    33              metadata:
    34                type: object
    35              spec:
    36                description: KubermaticConfigurationSpec is the spec for a Kubermatic installation.
    37                properties:
    38                  api:
    39                    description: API configures the frontend REST API used by the dashboard.
    40                    properties:
    41                      accessibleAddons:
    42                        description: AccessibleAddons is a list of addons that should be enabled in the API.
    43                        items:
    44                          type: string
    45                        type: array
    46                      debugLog:
    47                        description: DebugLog enables more verbose logging.
    48                        type: boolean
    49                      dockerRepository:
    50                        description: DockerRepository is the repository containing the Kubermatic REST API image.
    51                        type: string
    52                      pprofEndpoint:
    53                        description: PProfEndpoint controls the port the API should listen on to provide pprof data. This port is never exposed from the container and only available via port-forwardings.
    54                        type: string
    55                      replicas:
    56                        description: Replicas sets the number of pod replicas for the API deployment.
    57                        format: int32
    58                        type: integer
    59                      resources:
    60                        description: Resources describes the requested and maximum allowed CPU/memory usage.
    61                        properties:
    62                          claims:
    63                            description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
    64                            items:
    65                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
    66                              properties:
    67                                name:
    68                                  description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
    69                                  type: string
    70                              required:
    71                                - name
    72                              type: object
    73                            type: array
    74                            x-kubernetes-list-map-keys:
    75                              - name
    76                            x-kubernetes-list-type: map
    77                          limits:
    78                            additionalProperties:
    79                              anyOf:
    80                                - type: integer
    81                                - type: string
    82                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
    83                              x-kubernetes-int-or-string: true
    84                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
    85                            type: object
    86                          requests:
    87                            additionalProperties:
    88                              anyOf:
    89                                - type: integer
    90                                - type: string
    91                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
    92                              x-kubernetes-int-or-string: true
    93                            description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
    94                            type: object
    95                        type: object
    96                    type: object
    97                  auth:
    98                    description: Auth defines keys and URLs for Dex. These must be defined unless the HeadlessInstallation feature gate is set, which will disable the UI/API and its need for an OIDC provider entirely.
    99                    properties:
   100                      clientID:
   101                        type: string
   102                      issuerClientID:
   103                        type: string
   104                      issuerClientSecret:
   105                        type: string
   106                      issuerCookieKey:
   107                        type: string
   108                      issuerRedirectURL:
   109                        type: string
   110                      serviceAccountKey:
   111                        type: string
   112                      skipTokenIssuerTLSVerify:
   113                        type: boolean
   114                      tokenIssuer:
   115                        type: string
   116                    type: object
   117                  caBundle:
   118                    description: CABundle references a ConfigMap in the same namespace as the KubermaticConfiguration. This ConfigMap must contain a ca-bundle.pem with PEM-encoded certificates. This bundle automatically synchronized into each seed and each usercluster. APIGroup and Kind are currently ignored.
   119                    properties:
   120                      apiGroup:
   121                        description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
   122                        type: string
   123                      kind:
   124                        description: Kind is the type of resource being referenced
   125                        type: string
   126                      name:
   127                        description: Name is the name of resource being referenced
   128                        type: string
   129                    required:
   130                      - kind
   131                      - name
   132                    type: object
   133                    x-kubernetes-map-type: atomic
   134                  exposeStrategy:
   135                    description: 'ExposeStrategy is the strategy to expose the cluster with. Note: The `seed_dns_overwrite` setting of a Seed''s datacenter doesn''t have any effect if this is set to LoadBalancerStrategy.'
   136                    enum:
   137                      - NodePort
   138                      - LoadBalancer
   139                      - Tunneling
   140                    type: string
   141                  featureGates:
   142                    additionalProperties:
   143                      type: boolean
   144                    description: FeatureGates are used to optionally enable certain features.
   145                    type: object
   146                  imagePullSecret:
   147                    description: ImagePullSecret is used to authenticate against Docker registries.
   148                    type: string
   149                  ingress:
   150                    description: Ingress contains settings for making the API and UI accessible remotely.
   151                    properties:
   152                      certificateIssuer:
   153                        description: CertificateIssuer is the name of a cert-manager Issuer or ClusterIssuer (default) that will be used to acquire the certificate for the configured domain. To use a namespaced Issuer, set the Kind to "Issuer" and manually create the matching Issuer in Kubermatic's namespace. Setting an empty name disables the automatic creation of certificates and disables the TLS settings on the Kubermatic Ingress.
   154                        properties:
   155                          apiGroup:
   156                            description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
   157                            type: string
   158                          kind:
   159                            description: Kind is the type of resource being referenced
   160                            type: string
   161                          name:
   162                            description: Name is the name of resource being referenced
   163                            type: string
   164                        required:
   165                          - kind
   166                          - name
   167                        type: object
   168                        x-kubernetes-map-type: atomic
   169                      className:
   170                        description: ClassName is the Ingress resource's class name, used for selecting the appropriate ingress controller.
   171                        type: string
   172                      disable:
   173                        description: Disable will prevent an Ingress from being created at all. This is mostly useful during testing. If the Ingress is disabled, the CertificateIssuer setting can also be left empty, as no Certificate resource will be created.
   174                        type: boolean
   175                      domain:
   176                        description: Domain is the base domain where the dashboard shall be available. Even with a disabled Ingress, this must always be a valid hostname.
   177                        type: string
   178                    required:
   179                      - domain
   180                    type: object
   181                  masterController:
   182                    description: MasterController configures the master-controller-manager.
   183                    properties:
   184                      debugLog:
   185                        description: DebugLog enables more verbose logging.
   186                        type: boolean
   187                      dockerRepository:
   188                        description: DockerRepository is the repository containing the Kubermatic master-controller-manager image.
   189                        type: string
   190                      pprofEndpoint:
   191                        description: PProfEndpoint controls the port the master-controller-manager should listen on to provide pprof data. This port is never exposed from the container and only available via port-forwardings.
   192                        type: string
   193                      projectsMigrator:
   194                        description: ProjectsMigrator configures the migrator for user projects.
   195                        properties:
   196                          dryRun:
   197                            description: DryRun makes the migrator only log the actions it would take.
   198                            type: boolean
   199                        type: object
   200                      replicas:
   201                        description: Replicas sets the number of pod replicas for the master-controller-manager.
   202                        format: int32
   203                        type: integer
   204                      resources:
   205                        description: Resources describes the requested and maximum allowed CPU/memory usage.
   206                        properties:
   207                          claims:
   208                            description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
   209                            items:
   210                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   211                              properties:
   212                                name:
   213                                  description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
   214                                  type: string
   215                              required:
   216                                - name
   217                              type: object
   218                            type: array
   219                            x-kubernetes-list-map-keys:
   220                              - name
   221                            x-kubernetes-list-type: map
   222                          limits:
   223                            additionalProperties:
   224                              anyOf:
   225                                - type: integer
   226                                - type: string
   227                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   228                              x-kubernetes-int-or-string: true
   229                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   230                            type: object
   231                          requests:
   232                            additionalProperties:
   233                              anyOf:
   234                                - type: integer
   235                                - type: string
   236                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   237                              x-kubernetes-int-or-string: true
   238                            description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   239                            type: object
   240                        type: object
   241                    type: object
   242                  proxy:
   243                    description: Proxy allows to configure Kubermatic to use proxies to talk to the world outside of its cluster.
   244                    properties:
   245                      http:
   246                        description: HTTP is the full URL to the proxy to use for plaintext HTTP connections, e.g. "http://internalproxy.example.com:8080".
   247                        type: string
   248                      https:
   249                        description: HTTPS is the full URL to the proxy to use for encrypted HTTPS connections, e.g. "http://secureinternalproxy.example.com:8080".
   250                        type: string
   251                      noProxy:
   252                        description: 'NoProxy is a comma-separated list of hostnames / network masks for which no proxy shall be used. If you make use of proxies, this list should contain all local and cluster-internal domains and networks, e.g. "10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,mydomain". The operator will always prepend the following elements to this list if proxying is configured (i.e. HTTP/HTTPS are not empty): "127.0.0.1/8", "localhost", ".local", ".local.", "kubernetes", ".default", ".svc"'
   253                        type: string
   254                    type: object
   255                  seedController:
   256                    description: SeedController configures the seed-controller-manager.
   257                    properties:
   258                      backupCleanupContainer:
   259                        description: BackupCleanupContainer is the container used for removing expired backups from the storage location. This container is only relevant when the old, deprecated backup controllers are enabled.
   260                        type: string
   261                      backupDeleteContainer:
   262                        description: BackupDeleteContainer is the container used for deleting etcd snapshots from a backup location. This container is only relevant when the new backup/restore controllers are enabled.
   263                        type: string
   264                      backupStoreContainer:
   265                        description: BackupStoreContainer is the container used for shipping etcd snapshots to a backup location.
   266                        type: string
   267                      debugLog:
   268                        description: DebugLog enables more verbose logging.
   269                        type: boolean
   270                      dockerRepository:
   271                        description: DockerRepository is the repository containing the Kubermatic seed-controller-manager image.
   272                        type: string
   273                      maximumParallelReconciles:
   274                        description: MaximumParallelReconciles limits the number of cluster reconciliations that are active at any given time.
   275                        type: integer
   276                      pprofEndpoint:
   277                        description: PProfEndpoint controls the port the seed-controller-manager should listen on to provide pprof data. This port is never exposed from the container and only available via port-forwardings.
   278                        type: string
   279                      replicas:
   280                        description: Replicas sets the number of pod replicas for the seed-controller-manager.
   281                        format: int32
   282                        type: integer
   283                      resources:
   284                        description: Resources describes the requested and maximum allowed CPU/memory usage.
   285                        properties:
   286                          claims:
   287                            description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
   288                            items:
   289                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   290                              properties:
   291                                name:
   292                                  description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
   293                                  type: string
   294                              required:
   295                                - name
   296                              type: object
   297                            type: array
   298                            x-kubernetes-list-map-keys:
   299                              - name
   300                            x-kubernetes-list-type: map
   301                          limits:
   302                            additionalProperties:
   303                              anyOf:
   304                                - type: integer
   305                                - type: string
   306                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   307                              x-kubernetes-int-or-string: true
   308                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   309                            type: object
   310                          requests:
   311                            additionalProperties:
   312                              anyOf:
   313                                - type: integer
   314                                - type: string
   315                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   316                              x-kubernetes-int-or-string: true
   317                            description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   318                            type: object
   319                        type: object
   320                    type: object
   321                  ui:
   322                    description: UI configures the dashboard.
   323                    properties:
   324                      config:
   325                        description: Config sets flags for various dashboard features.
   326                        type: string
   327                      dockerRepository:
   328                        description: DockerRepository is the repository containing the Kubermatic dashboard image.
   329                        type: string
   330                      dockerTag:
   331                        description: DockerTag is used to overwrite the dashboard Docker image tag and is only for development purposes. This field must not be set in production environments. ---
   332                        type: string
   333                      dockerTagSuffix:
   334                        description: DockerTagSuffix is appended to the KKP version used for referring to the custom dashboard image. If left empty, either the `DockerTag` if specified or the original dashboard Docker image tag will be used. With DockerTagSuffix the tag becomes <KKP_VERSION:SUFFIX> i.e. "v3.15.0-SUFFIX".
   335                        type: string
   336                      replicas:
   337                        description: Replicas sets the number of pod replicas for the UI deployment.
   338                        format: int32
   339                        type: integer
   340                      resources:
   341                        description: Resources describes the requested and maximum allowed CPU/memory usage.
   342                        properties:
   343                          claims:
   344                            description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
   345                            items:
   346                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   347                              properties:
   348                                name:
   349                                  description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
   350                                  type: string
   351                              required:
   352                                - name
   353                              type: object
   354                            type: array
   355                            x-kubernetes-list-map-keys:
   356                              - name
   357                            x-kubernetes-list-type: map
   358                          limits:
   359                            additionalProperties:
   360                              anyOf:
   361                                - type: integer
   362                                - type: string
   363                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   364                              x-kubernetes-int-or-string: true
   365                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   366                            type: object
   367                          requests:
   368                            additionalProperties:
   369                              anyOf:
   370                                - type: integer
   371                                - type: string
   372                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   373                              x-kubernetes-int-or-string: true
   374                            description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   375                            type: object
   376                        type: object
   377                    type: object
   378                  userCluster:
   379                    description: UserCluster configures various aspects of the user-created clusters.
   380                    properties:
   381                      addons:
   382                        description: Addons controls the optional additions installed into each user cluster.
   383                        properties:
   384                          default:
   385                            description: Default is the list of addons to be installed by default into each cluster. Mutually exclusive with "defaultManifests".
   386                            items:
   387                              type: string
   388                            type: array
   389                          defaultManifests:
   390                            description: DefaultManifests is a list of addon manifests to install into all clusters. Mutually exclusive with "default".
   391                            type: string
   392                          dockerRepository:
   393                            description: DockerRepository is the repository containing the Docker image containing the possible addon manifests.
   394                            type: string
   395                          dockerTagSuffix:
   396                            description: DockerTagSuffix is appended to the tag used for referring to the addons image. If left empty, the tag will be the KKP version (e.g. "v3.15.0"), with a suffix it becomes "v3.15.0-SUFFIX".
   397                            type: string
   398                        type: object
   399                      apiserverReplicas:
   400                        description: APIServerReplicas configures the replica count for the API-Server deployment inside user clusters.
   401                        format: int32
   402                        type: integer
   403                      disableApiserverEndpointReconciling:
   404                        description: DisableAPIServerEndpointReconciling can be used to toggle the `--endpoint-reconciler-type` flag for the Kubernetes API server.
   405                        type: boolean
   406                      dnatControllerDockerRepository:
   407                        description: DNATControllerDockerRepository is the repository containing the dnat-controller image.
   408                        type: string
   409                      etcdLauncherDockerRepository:
   410                        description: EtcdLauncherDockerRepository is the repository containing the Kubermatic etcd-launcher image.
   411                        type: string
   412                      etcdVolumeSize:
   413                        description: EtcdVolumeSize configures the volume size to use for each etcd pod inside user clusters.
   414                        type: string
   415                      kubermaticDockerRepository:
   416                        description: KubermaticDockerRepository is the repository containing the Kubermatic user-cluster-controller-manager image.
   417                        type: string
   418                      machineController:
   419                        description: MachineController configures the Machine Controller
   420                        properties:
   421                          imageRepository:
   422                            description: ImageRepository is used to override the Machine Controller image repository. It is only for development, tests and PoC purposes. This field must not be set in production environments.
   423                            type: string
   424                          imageTag:
   425                            description: ImageTag is used to override the Machine Controller image. It is only for development, tests and PoC purposes. This field must not be set in production environments.
   426                            type: string
   427                        type: object
   428                      monitoring:
   429                        description: Monitoring can be used to fine-tune to in-cluster Prometheus.
   430                        properties:
   431                          customRules:
   432                            description: CustomRules can be used to inject custom recording and alerting rules. This field must be a YAML-formatted string with a `group` element at its root, as documented on https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/. This value is treated as a Go template, which allows to inject dynamic values like the internal cluster address or the cluster ID. Refer to pkg/resources/prometheus and the documentation for more information on the available fields.
   433                            type: string
   434                          customScrapingConfigs:
   435                            description: CustomScrapingConfigs can be used to inject custom scraping rules. This must be a YAML-formatted string containing an array of scrape configurations as documented on https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. This value is treated as a Go template, which allows to inject dynamic values like the internal cluster address or the cluster ID. Refer to pkg/resources/prometheus and the documentation for more information on the available fields.
   436                            type: string
   437                          disableDefaultRules:
   438                            description: DisableDefaultRules disables the recording and alerting rules.
   439                            type: boolean
   440                          disableDefaultScrapingConfigs:
   441                            description: DisableDefaultScrapingConfigs disables the default scraping targets.
   442                            type: boolean
   443                          scrapeAnnotationPrefix:
   444                            description: ScrapeAnnotationPrefix (if set) is used to make the in-cluster Prometheus scrape pods inside the user clusters.
   445                            type: string
   446                        type: object
   447                      nodePortRange:
   448                        description: NodePortRange is the port range for user clusters - this must match the NodePort range of the seed cluster.
   449                        type: string
   450                      operatingSystemManager:
   451                        description: OperatingSystemManager configures the image repo and the tag version for osm deployment.
   452                        properties:
   453                          imageRepository:
   454                            description: ImageRepository is used to override the OperatingSystemManager image repository. It is recommended to use this field only for development, tests and PoC purposes. For production environments. it is not recommended, to use this field due to compatibility with the overall KKP stack.
   455                            type: string
   456                          imageTag:
   457                            description: ImageTag is used to override the OperatingSystemManager image. It is recommended to use this field only for development, tests and PoC purposes. For production environments. it is not recommended, to use this field due to compatibility with the overall KKP stack.
   458                            type: string
   459                        type: object
   460                      overwriteRegistry:
   461                        description: OverwriteRegistry specifies a custom Docker registry which will be used for all images used for user clusters (user cluster control plane + addons). This also applies to the KubermaticDockerRepository and DNATControllerDockerRepository fields.
   462                        type: string
   463                      systemApplications:
   464                        description: SystemApplications contains configuration for system Applications (such as CNI).
   465                        properties:
   466                          helmRegistryConfigFile:
   467                            description: HelmRegistryConfigFile optionally holds the ref and key in the secret for the OCI registry credential file. The value is dockercfg file that follows the same format rules as ~/.docker/config.json The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to "helm".
   468                            properties:
   469                              key:
   470                                description: The key of the secret to select from.  Must be a valid secret key.
   471                                type: string
   472                              name:
   473                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
   474                                type: string
   475                              optional:
   476                                description: Specify whether the Secret or its key must be defined
   477                                type: boolean
   478                            required:
   479                              - key
   480                            type: object
   481                            x-kubernetes-map-type: atomic
   482                          helmRepository:
   483                            description: HelmRepository specifies OCI repository containing Helm charts of system Applications.
   484                            type: string
   485                        type: object
   486                    type: object
   487                  versions:
   488                    description: Versions configures the available and default Kubernetes versions and updates.
   489                    properties:
   490                      default:
   491                        description: Default is the default version to offer users.
   492                        type: string
   493                      externalClusters:
   494                        additionalProperties:
   495                          description: ExternalClusterProviderVersioningConfiguration configures the available and default Kubernetes versions for ExternalCluster Providers.
   496                          properties:
   497                            default:
   498                              description: Default is the default version to offer users.
   499                              type: string
   500                            updates:
   501                              description: Updates is a list of available upgrades.
   502                              items:
   503                                description: Semver is a type that encapsulates github.com/Masterminds/semver/v3.Version struct so it can be used in our API.
   504                                type: string
   505                              type: array
   506                            versions:
   507                              description: Versions lists the available versions.
   508                              items:
   509                                description: Semver is a type that encapsulates github.com/Masterminds/semver/v3.Version struct so it can be used in our API.
   510                                type: string
   511                              type: array
   512                          type: object
   513                        description: ExternalClusters contains the available and default Kubernetes versions and updates for ExternalClusters.
   514                        type: object
   515                      providerIncompatibilities:
   516                        description: ProviderIncompatibilities lists all the Kubernetes version incompatibilities
   517                        items:
   518                          description: Incompatibility represents a version incompatibility for a user cluster.
   519                          properties:
   520                            condition:
   521                              description: Condition is the cluster or datacenter condition that must be met to block a specific version
   522                              enum:
   523                                - always
   524                                - externalCloudProvider
   525                                - inTreeProvider
   526                              type: string
   527                            operation:
   528                              description: Operation is the operation triggering the compatibility check (CREATE or UPDATE)
   529                              enum:
   530                                - CREATE
   531                                - UPGRADE
   532                                - SUPPORT
   533                              type: string
   534                            provider:
   535                              description: Provider to which to apply the compatibility check. If this is not specified, the incompatibility is valid for all cloud providers.
   536                              enum:
   537                                - alibaba
   538                                - anexia
   539                                - aws
   540                                - azure
   541                                - bringyourown
   542                                - digitalocean
   543                                - gcp
   544                                - hetzner
   545                                - kubevirt
   546                                - nutanix
   547                                - openstack
   548                                - packet
   549                                - vmwareclouddirector
   550                                - vsphere
   551                              type: string
   552                            version:
   553                              description: Version is the Kubernetes version that must be checked. Wildcards are allowed, e.g. "1.25.*".
   554                              type: string
   555                          type: object
   556                        type: array
   557                      updates:
   558                        description: 'Updates is a list of available and automatic upgrades. All ''to'' versions must be configured in the version list for this orchestrator. Each update may optionally be configured to be ''automatic: true'', in which case the controlplane of all clusters whose version matches the ''from'' directive will get updated to the ''to'' version. If automatic is enabled, the ''to'' version must be a version and not a version range. Also, updates may set ''automaticNodeUpdate: true'', in which case Nodes will get updates as well. ''automaticNodeUpdate: true'' implies ''automatic: true'' as well, because Nodes may not have a newer version than the controlplane.'
   559                        items:
   560                          description: Update represents an update option for a user cluster.
   561                          properties:
   562                            automatic:
   563                              description: Automatic controls whether this update is executed automatically for the control plane of all matching user clusters. ---
   564                              type: boolean
   565                            automaticNodeUpdate:
   566                              description: Automatic controls whether this update is executed automatically for the worker nodes of all matching user clusters. ---
   567                              type: boolean
   568                            from:
   569                              description: From is the version from which an update is allowed. Wildcards are allowed, e.g. "1.18.*".
   570                              type: string
   571                            to:
   572                              description: To is the version to which an update is allowed. Must be a valid version if `automatic` is set to true, e.g. "1.20.13". Can be a wildcard otherwise, e.g. "1.20.*".
   573                              type: string
   574                          type: object
   575                        type: array
   576                      versions:
   577                        description: Versions lists the available versions.
   578                        items:
   579                          description: Semver is a type that encapsulates github.com/Masterminds/semver/v3.Version struct so it can be used in our API.
   580                          type: string
   581                        type: array
   582                    type: object
   583                  verticalPodAutoscaler:
   584                    description: VerticalPodAutoscaler configures the Kubernetes VPA integration.
   585                    properties:
   586                      admissionController:
   587                        properties:
   588                          dockerRepository:
   589                            description: DockerRepository is the repository containing the component's image.
   590                            type: string
   591                          resources:
   592                            description: Resources describes the requested and maximum allowed CPU/memory usage.
   593                            properties:
   594                              claims:
   595                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
   596                                items:
   597                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   598                                  properties:
   599                                    name:
   600                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
   601                                      type: string
   602                                  required:
   603                                    - name
   604                                  type: object
   605                                type: array
   606                                x-kubernetes-list-map-keys:
   607                                  - name
   608                                x-kubernetes-list-type: map
   609                              limits:
   610                                additionalProperties:
   611                                  anyOf:
   612                                    - type: integer
   613                                    - type: string
   614                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   615                                  x-kubernetes-int-or-string: true
   616                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   617                                type: object
   618                              requests:
   619                                additionalProperties:
   620                                  anyOf:
   621                                    - type: integer
   622                                    - type: string
   623                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   624                                  x-kubernetes-int-or-string: true
   625                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   626                                type: object
   627                            type: object
   628                        type: object
   629                      recommender:
   630                        properties:
   631                          dockerRepository:
   632                            description: DockerRepository is the repository containing the component's image.
   633                            type: string
   634                          resources:
   635                            description: Resources describes the requested and maximum allowed CPU/memory usage.
   636                            properties:
   637                              claims:
   638                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
   639                                items:
   640                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   641                                  properties:
   642                                    name:
   643                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
   644                                      type: string
   645                                  required:
   646                                    - name
   647                                  type: object
   648                                type: array
   649                                x-kubernetes-list-map-keys:
   650                                  - name
   651                                x-kubernetes-list-type: map
   652                              limits:
   653                                additionalProperties:
   654                                  anyOf:
   655                                    - type: integer
   656                                    - type: string
   657                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   658                                  x-kubernetes-int-or-string: true
   659                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   660                                type: object
   661                              requests:
   662                                additionalProperties:
   663                                  anyOf:
   664                                    - type: integer
   665                                    - type: string
   666                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   667                                  x-kubernetes-int-or-string: true
   668                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   669                                type: object
   670                            type: object
   671                        type: object
   672                      updater:
   673                        properties:
   674                          dockerRepository:
   675                            description: DockerRepository is the repository containing the component's image.
   676                            type: string
   677                          resources:
   678                            description: Resources describes the requested and maximum allowed CPU/memory usage.
   679                            properties:
   680                              claims:
   681                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
   682                                items:
   683                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   684                                  properties:
   685                                    name:
   686                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
   687                                      type: string
   688                                  required:
   689                                    - name
   690                                  type: object
   691                                type: array
   692                                x-kubernetes-list-map-keys:
   693                                  - name
   694                                x-kubernetes-list-type: map
   695                              limits:
   696                                additionalProperties:
   697                                  anyOf:
   698                                    - type: integer
   699                                    - type: string
   700                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   701                                  x-kubernetes-int-or-string: true
   702                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   703                                type: object
   704                              requests:
   705                                additionalProperties:
   706                                  anyOf:
   707                                    - type: integer
   708                                    - type: string
   709                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   710                                  x-kubernetes-int-or-string: true
   711                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   712                                type: object
   713                            type: object
   714                        type: object
   715                    type: object
   716                  webhook:
   717                    description: Webhook configures the webhook.
   718                    properties:
   719                      debugLog:
   720                        description: DebugLog enables more verbose logging.
   721                        type: boolean
   722                      dockerRepository:
   723                        description: DockerRepository is the repository containing the Kubermatic webhook image.
   724                        type: string
   725                      pprofEndpoint:
   726                        description: PProfEndpoint controls the port the webhook should listen on to provide pprof data. This port is never exposed from the container and only available via port-forwardings.
   727                        type: string
   728                      replicas:
   729                        description: Replicas sets the number of pod replicas for the webhook.
   730                        format: int32
   731                        type: integer
   732                      resources:
   733                        description: Resources describes the requested and maximum allowed CPU/memory usage.
   734                        properties:
   735                          claims:
   736                            description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
   737                            items:
   738                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   739                              properties:
   740                                name:
   741                                  description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
   742                                  type: string
   743                              required:
   744                                - name
   745                              type: object
   746                            type: array
   747                            x-kubernetes-list-map-keys:
   748                              - name
   749                            x-kubernetes-list-type: map
   750                          limits:
   751                            additionalProperties:
   752                              anyOf:
   753                                - type: integer
   754                                - type: string
   755                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   756                              x-kubernetes-int-or-string: true
   757                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   758                            type: object
   759                          requests:
   760                            additionalProperties:
   761                              anyOf:
   762                                - type: integer
   763                                - type: string
   764                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   765                              x-kubernetes-int-or-string: true
   766                            description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   767                            type: object
   768                        type: object
   769                    type: object
   770                type: object
   771              status:
   772                description: KubermaticConfigurationStatus stores status information about a KubermaticConfiguration.
   773                properties:
   774                  kubermaticEdition:
   775                    description: KubermaticEdition current Kubermatic Edition , i.e. Community Edition or Enterprise Edition.
   776                    type: string
   777                  kubermaticVersion:
   778                    description: KubermaticVersion current Kubermatic Version.
   779                    type: string
   780                type: object
   781            type: object
   782        served: true
   783        storage: true
   784        subresources: {}