k8c.io/api/v3@v3.0.0-20230904060738-b0a93889c0b6/crd/community/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.kubermatic.k8c.io
     9  spec:
    10    group: 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                        description: IssuerClientID is the application's ID.
   104                        type: string
   105                      issuerClientSecret:
   106                        description: IssuerClientSecret is the application's secret.
   107                        type: string
   108                      issuerCookieKey:
   109                        description: IssuerCookieKey is required, used to authenticate the cookie value using HMAC. It is recommended to use a key with 32 or 64 bytes.
   110                        type: string
   111                      issuerRedirectURL:
   112                        type: string
   113                      offlineAccessAsScope:
   114                        description: 'Optional: OfflineAccessAsScope if true then "offline_access" scope will be used otherwise ''access_type=offline" query param will be passed.'
   115                        type: boolean
   116                      serviceAccountKey:
   117                        type: string
   118                      skipTokenIssuerTLSVerify:
   119                        description: 'Optional: SkipTokenIssuerTLSVerify skip TLS verification for the token issuer.'
   120                        type: boolean
   121                      tokenIssuer:
   122                        description: URL of the provider which allows the API server to discover public signing keys.
   123                        type: string
   124                    type: object
   125                  caBundle:
   126                    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.
   127                    properties:
   128                      apiGroup:
   129                        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.
   130                        type: string
   131                      kind:
   132                        description: Kind is the type of resource being referenced
   133                        type: string
   134                      name:
   135                        description: Name is the name of resource being referenced
   136                        type: string
   137                    required:
   138                      - kind
   139                      - name
   140                    type: object
   141                    x-kubernetes-map-type: atomic
   142                  controllerManager:
   143                    description: ControllerManager configures the kubermatic-controller-manager.
   144                    properties:
   145                      backupCleanupContainer:
   146                        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.
   147                        type: string
   148                      backupDeleteContainer:
   149                        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.
   150                        type: string
   151                      backupStoreContainer:
   152                        description: BackupStoreContainer is the container used for shipping etcd snapshots to a backup location.
   153                        type: string
   154                      debugLog:
   155                        description: DebugLog enables more verbose logging.
   156                        type: boolean
   157                      dockerRepository:
   158                        description: DockerRepository is the repository containing the Kubermatic seed-controller-manager image.
   159                        type: string
   160                      maximumParallelReconciles:
   161                        description: MaximumParallelReconciles limits the number of cluster reconciliations that are active at any given time.
   162                        type: integer
   163                      pprofEndpoint:
   164                        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.
   165                        type: string
   166                      projectsMigrator:
   167                        description: ProjectsMigrator configures the migrator for user projects.
   168                        properties:
   169                          dryRun:
   170                            description: DryRun makes the migrator only log the actions it would take.
   171                            type: boolean
   172                        type: object
   173                      replicas:
   174                        description: Replicas sets the number of pod replicas for the seed-controller-manager.
   175                        format: int32
   176                        type: integer
   177                      resources:
   178                        description: Resources describes the requested and maximum allowed CPU/memory usage.
   179                        properties:
   180                          claims:
   181                            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."
   182                            items:
   183                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   184                              properties:
   185                                name:
   186                                  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.
   187                                  type: string
   188                              required:
   189                                - name
   190                              type: object
   191                            type: array
   192                            x-kubernetes-list-map-keys:
   193                              - name
   194                            x-kubernetes-list-type: map
   195                          limits:
   196                            additionalProperties:
   197                              anyOf:
   198                                - type: integer
   199                                - type: string
   200                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   201                              x-kubernetes-int-or-string: true
   202                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   203                            type: object
   204                          requests:
   205                            additionalProperties:
   206                              anyOf:
   207                                - type: integer
   208                                - type: string
   209                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   210                              x-kubernetes-int-or-string: true
   211                            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/'
   212                            type: object
   213                        type: object
   214                    type: object
   215                  exposeStrategy:
   216                    description: ExposeStrategy is the strategy to expose the control planes of user clusters with.
   217                    enum:
   218                      - NodePort
   219                      - LoadBalancer
   220                      - Tunneling
   221                    type: string
   222                  featureGates:
   223                    additionalProperties:
   224                      type: boolean
   225                    description: FeatureGates are used to optionally enable certain features.
   226                    type: object
   227                  imagePullSecret:
   228                    description: ImagePullSecret is used to authenticate against Docker registries.
   229                    type: string
   230                  ingress:
   231                    description: Ingress contains settings for making the API and UI accessible remotely.
   232                    properties:
   233                      certificateIssuer:
   234                        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.
   235                        properties:
   236                          apiGroup:
   237                            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.
   238                            type: string
   239                          kind:
   240                            description: Kind is the type of resource being referenced
   241                            type: string
   242                          name:
   243                            description: Name is the name of resource being referenced
   244                            type: string
   245                        required:
   246                          - kind
   247                          - name
   248                        type: object
   249                        x-kubernetes-map-type: atomic
   250                      className:
   251                        description: ClassName is the Ingress resource's class name, used for selecting the appropriate ingress controller.
   252                        type: string
   253                      disable:
   254                        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.
   255                        type: boolean
   256                      domain:
   257                        description: Domain is the base domain where the dashboard shall be available. Even with a disabled Ingress, this must always be a valid hostname.
   258                        type: string
   259                    required:
   260                      - domain
   261                    type: object
   262                  metering:
   263                    description: MeteringConfiguration contains all the configuration for the metering tool.
   264                    properties:
   265                      enabled:
   266                        type: boolean
   267                      reports:
   268                        additionalProperties:
   269                          properties:
   270                            interval:
   271                              default: 7
   272                              description: Interval defines the number of days consulted in the metering report.
   273                              format: int32
   274                              minimum: 1
   275                              type: integer
   276                            retention:
   277                              description: Retention defines a number of days after which reports are queued for removal. If not set, reports are kept forever. Please note that this functionality works only for object storage that supports an object lifecycle management mechanism.
   278                              format: int32
   279                              minimum: 1
   280                              type: integer
   281                            schedule:
   282                              default: 0 1 * * 6
   283                              description: Schedule in Cron format, see https://en.wikipedia.org/wiki/Cron. Please take a note that Schedule is responsible only for setting the time when a report generation mechanism kicks off. The Interval MUST be set independently.
   284                              type: string
   285                            type:
   286                              default:
   287                                - cluster
   288                                - namespace
   289                              description: Types of reports to generate. Available report types are cluster and namespace. By default, all types of reports are generated.
   290                              items:
   291                                type: string
   292                              type: array
   293                          type: object
   294                        default:
   295                          weekly:
   296                            interval: 7
   297                            schedule: 0 1 * * 6
   298                        description: ReportConfigurations is a map of report configuration definitions.
   299                        type: object
   300                      storageClassName:
   301                        description: StorageClassName is the name of the storage class that the metering prometheus instance uses to store metric data for reporting.
   302                        type: string
   303                      storageSize:
   304                        description: StorageSize is the size of the storage class. Default value is 100Gi.
   305                        type: string
   306                    required:
   307                      - enabled
   308                      - storageClassName
   309                      - storageSize
   310                    type: object
   311                  nodeportProxy:
   312                    description: NodeportProxy can be used to configure the NodePort proxy service that is responsible for making user-cluster control planes accessible from the outside. This only takes effect if the ExposeStrategy is set to NodePort.
   313                    properties:
   314                      annotations:
   315                        additionalProperties:
   316                          type: string
   317                        description: 'Annotations are used to further tweak the LoadBalancer integration with the cloud provider where the seed cluster is running. Deprecated: Use .envoy.loadBalancerService.annotations instead.'
   318                        type: object
   319                      disable:
   320                        description: Disable will prevent the Kubermatic Operator from creating a nodeport-proxy setup on the seed cluster. This should only be used if a suitable replacement is installed (like the nodeport-proxy Helm chart).
   321                        type: boolean
   322                      envoy:
   323                        description: Envoy configures the Envoy application itself.
   324                        properties:
   325                          dockerRepository:
   326                            description: DockerRepository is the repository containing the component's image.
   327                            type: string
   328                          loadBalancerService:
   329                            properties:
   330                              annotations:
   331                                additionalProperties:
   332                                  type: string
   333                                description: Annotations are used to further tweak the LoadBalancer integration with the cloud provider.
   334                                type: object
   335                              sourceRanges:
   336                                description: 'SourceRanges will restrict loadbalancer service to IP ranges specified using CIDR notation like 172.25.0.0/16. This field will be ignored if the cloud-provider does not support the feature. More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/'
   337                                items:
   338                                  pattern: ^((\d{1,3}\.){3}\d{1,3}\/([0-9]|[1-2][0-9]|3[0-2]))$
   339                                  type: string
   340                                type: array
   341                            type: object
   342                          resources:
   343                            description: Resources describes the requested and maximum allowed CPU/memory usage.
   344                            properties:
   345                              claims:
   346                                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."
   347                                items:
   348                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   349                                  properties:
   350                                    name:
   351                                      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.
   352                                      type: string
   353                                  required:
   354                                    - name
   355                                  type: object
   356                                type: array
   357                                x-kubernetes-list-map-keys:
   358                                  - name
   359                                x-kubernetes-list-type: map
   360                              limits:
   361                                additionalProperties:
   362                                  anyOf:
   363                                    - type: integer
   364                                    - type: string
   365                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   366                                  x-kubernetes-int-or-string: true
   367                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   368                                type: object
   369                              requests:
   370                                additionalProperties:
   371                                  anyOf:
   372                                    - type: integer
   373                                    - type: string
   374                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   375                                  x-kubernetes-int-or-string: true
   376                                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/'
   377                                type: object
   378                            type: object
   379                        type: object
   380                      envoyManager:
   381                        description: EnvoyManager configures the Kubermatic-internal Envoy manager.
   382                        properties:
   383                          dockerRepository:
   384                            description: DockerRepository is the repository containing the component's image.
   385                            type: string
   386                          resources:
   387                            description: Resources describes the requested and maximum allowed CPU/memory usage.
   388                            properties:
   389                              claims:
   390                                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."
   391                                items:
   392                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   393                                  properties:
   394                                    name:
   395                                      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.
   396                                      type: string
   397                                  required:
   398                                    - name
   399                                  type: object
   400                                type: array
   401                                x-kubernetes-list-map-keys:
   402                                  - name
   403                                x-kubernetes-list-type: map
   404                              limits:
   405                                additionalProperties:
   406                                  anyOf:
   407                                    - type: integer
   408                                    - type: string
   409                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   410                                  x-kubernetes-int-or-string: true
   411                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   412                                type: object
   413                              requests:
   414                                additionalProperties:
   415                                  anyOf:
   416                                    - type: integer
   417                                    - type: string
   418                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   419                                  x-kubernetes-int-or-string: true
   420                                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/'
   421                                type: object
   422                            type: object
   423                        type: object
   424                      updater:
   425                        description: Updater configures the component responsible for updating the LoadBalancer service.
   426                        properties:
   427                          dockerRepository:
   428                            description: DockerRepository is the repository containing the component's image.
   429                            type: string
   430                          resources:
   431                            description: Resources describes the requested and maximum allowed CPU/memory usage.
   432                            properties:
   433                              claims:
   434                                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."
   435                                items:
   436                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   437                                  properties:
   438                                    name:
   439                                      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.
   440                                      type: string
   441                                  required:
   442                                    - name
   443                                  type: object
   444                                type: array
   445                                x-kubernetes-list-map-keys:
   446                                  - name
   447                                x-kubernetes-list-type: map
   448                              limits:
   449                                additionalProperties:
   450                                  anyOf:
   451                                    - type: integer
   452                                    - type: string
   453                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   454                                  x-kubernetes-int-or-string: true
   455                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   456                                type: object
   457                              requests:
   458                                additionalProperties:
   459                                  anyOf:
   460                                    - type: integer
   461                                    - type: string
   462                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   463                                  x-kubernetes-int-or-string: true
   464                                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/'
   465                                type: object
   466                            type: object
   467                        type: object
   468                    type: object
   469                  proxy:
   470                    description: Proxy allows to configure Kubermatic to use proxies to talk to the world outside of its cluster.
   471                    properties:
   472                      http:
   473                        description: HTTP is the full URL to the proxy to use for plaintext HTTP connections, e.g. "http://internalproxy.example.com:8080".
   474                        type: string
   475                      https:
   476                        description: HTTPS is the full URL to the proxy to use for encrypted HTTPS connections, e.g. "http://secureinternalproxy.example.com:8080".
   477                        type: string
   478                      noProxy:
   479                        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"'
   480                        type: string
   481                    type: object
   482                  ui:
   483                    description: UI configures the dashboard.
   484                    properties:
   485                      config:
   486                        description: Config sets flags for various dashboard features.
   487                        type: string
   488                      dockerRepository:
   489                        description: DockerRepository is the repository containing the Kubermatic dashboard image.
   490                        type: string
   491                      dockerTag:
   492                        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. ---
   493                        type: string
   494                      dockerTagSuffix:
   495                        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".
   496                        type: string
   497                      extraVolumeMounts:
   498                        description: ExtraVolumeMounts allows to mount additional volumes into the UI container.
   499                        items:
   500                          description: VolumeMount describes a mounting of a Volume within a container.
   501                          properties:
   502                            mountPath:
   503                              description: Path within the container at which the volume should be mounted.  Must not contain ':'.
   504                              type: string
   505                            mountPropagation:
   506                              description: mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.
   507                              type: string
   508                            name:
   509                              description: This must match the Name of a Volume.
   510                              type: string
   511                            readOnly:
   512                              description: Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.
   513                              type: boolean
   514                            subPath:
   515                              description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).
   516                              type: string
   517                            subPathExpr:
   518                              description: Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.
   519                              type: string
   520                          required:
   521                            - mountPath
   522                            - name
   523                          type: object
   524                        type: array
   525                      extraVolumes:
   526                        description: ExtraVolumes allows to mount additional volumes into the UI container.
   527                        items:
   528                          description: Volume represents a named volume in a pod that may be accessed by any container in the pod.
   529                          properties:
   530                            awsElasticBlockStore:
   531                              description: 'awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet''s host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
   532                              properties:
   533                                fsType:
   534                                  description: 'fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine'
   535                                  type: string
   536                                partition:
   537                                  description: 'partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).'
   538                                  format: int32
   539                                  type: integer
   540                                readOnly:
   541                                  description: 'readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
   542                                  type: boolean
   543                                volumeID:
   544                                  description: 'volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
   545                                  type: string
   546                              required:
   547                                - volumeID
   548                              type: object
   549                            azureDisk:
   550                              description: azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
   551                              properties:
   552                                cachingMode:
   553                                  description: 'cachingMode is the Host Caching mode: None, Read Only, Read Write.'
   554                                  type: string
   555                                diskName:
   556                                  description: diskName is the Name of the data disk in the blob storage
   557                                  type: string
   558                                diskURI:
   559                                  description: diskURI is the URI of data disk in the blob storage
   560                                  type: string
   561                                fsType:
   562                                  description: fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
   563                                  type: string
   564                                kind:
   565                                  description: 'kind expected values are Shared: multiple blob disks per storage account  Dedicated: single blob disk per storage account  Managed: azure managed data disk (only in managed availability set). defaults to shared'
   566                                  type: string
   567                                readOnly:
   568                                  description: readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
   569                                  type: boolean
   570                              required:
   571                                - diskName
   572                                - diskURI
   573                              type: object
   574                            azureFile:
   575                              description: azureFile represents an Azure File Service mount on the host and bind mount to the pod.
   576                              properties:
   577                                readOnly:
   578                                  description: readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
   579                                  type: boolean
   580                                secretName:
   581                                  description: secretName is the  name of secret that contains Azure Storage Account Name and Key
   582                                  type: string
   583                                shareName:
   584                                  description: shareName is the azure share Name
   585                                  type: string
   586                              required:
   587                                - secretName
   588                                - shareName
   589                              type: object
   590                            cephfs:
   591                              description: cephFS represents a Ceph FS mount on the host that shares a pod's lifetime
   592                              properties:
   593                                monitors:
   594                                  description: 'monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
   595                                  items:
   596                                    type: string
   597                                  type: array
   598                                path:
   599                                  description: 'path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /'
   600                                  type: string
   601                                readOnly:
   602                                  description: 'readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
   603                                  type: boolean
   604                                secretFile:
   605                                  description: 'secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
   606                                  type: string
   607                                secretRef:
   608                                  description: 'secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
   609                                  properties:
   610                                    name:
   611                                      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?'
   612                                      type: string
   613                                  type: object
   614                                  x-kubernetes-map-type: atomic
   615                                user:
   616                                  description: 'user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
   617                                  type: string
   618                              required:
   619                                - monitors
   620                              type: object
   621                            cinder:
   622                              description: 'cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
   623                              properties:
   624                                fsType:
   625                                  description: 'fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
   626                                  type: string
   627                                readOnly:
   628                                  description: 'readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
   629                                  type: boolean
   630                                secretRef:
   631                                  description: 'secretRef is optional: points to a secret object containing parameters used to connect to OpenStack.'
   632                                  properties:
   633                                    name:
   634                                      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?'
   635                                      type: string
   636                                  type: object
   637                                  x-kubernetes-map-type: atomic
   638                                volumeID:
   639                                  description: 'volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
   640                                  type: string
   641                              required:
   642                                - volumeID
   643                              type: object
   644                            configMap:
   645                              description: configMap represents a configMap that should populate this volume
   646                              properties:
   647                                defaultMode:
   648                                  description: 'defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
   649                                  format: int32
   650                                  type: integer
   651                                items:
   652                                  description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
   653                                  items:
   654                                    description: Maps a string key to a path within a volume.
   655                                    properties:
   656                                      key:
   657                                        description: key is the key to project.
   658                                        type: string
   659                                      mode:
   660                                        description: 'mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
   661                                        format: int32
   662                                        type: integer
   663                                      path:
   664                                        description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
   665                                        type: string
   666                                    required:
   667                                      - key
   668                                      - path
   669                                    type: object
   670                                  type: array
   671                                name:
   672                                  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?'
   673                                  type: string
   674                                optional:
   675                                  description: optional specify whether the ConfigMap or its keys must be defined
   676                                  type: boolean
   677                              type: object
   678                              x-kubernetes-map-type: atomic
   679                            csi:
   680                              description: csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).
   681                              properties:
   682                                driver:
   683                                  description: driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.
   684                                  type: string
   685                                fsType:
   686                                  description: fsType to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.
   687                                  type: string
   688                                nodePublishSecretRef:
   689                                  description: nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and  may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.
   690                                  properties:
   691                                    name:
   692                                      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?'
   693                                      type: string
   694                                  type: object
   695                                  x-kubernetes-map-type: atomic
   696                                readOnly:
   697                                  description: readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).
   698                                  type: boolean
   699                                volumeAttributes:
   700                                  additionalProperties:
   701                                    type: string
   702                                  description: volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.
   703                                  type: object
   704                              required:
   705                                - driver
   706                              type: object
   707                            downwardAPI:
   708                              description: downwardAPI represents downward API about the pod that should populate this volume
   709                              properties:
   710                                defaultMode:
   711                                  description: 'Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
   712                                  format: int32
   713                                  type: integer
   714                                items:
   715                                  description: Items is a list of downward API volume file
   716                                  items:
   717                                    description: DownwardAPIVolumeFile represents information to create the file containing the pod field
   718                                    properties:
   719                                      fieldRef:
   720                                        description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
   721                                        properties:
   722                                          apiVersion:
   723                                            description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
   724                                            type: string
   725                                          fieldPath:
   726                                            description: Path of the field to select in the specified API version.
   727                                            type: string
   728                                        required:
   729                                          - fieldPath
   730                                        type: object
   731                                        x-kubernetes-map-type: atomic
   732                                      mode:
   733                                        description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
   734                                        format: int32
   735                                        type: integer
   736                                      path:
   737                                        description: 'Required: Path is  the relative path name of the file to be created. Must not be absolute or contain the ''..'' path. Must be utf-8 encoded. The first item of the relative path must not start with ''..'''
   738                                        type: string
   739                                      resourceFieldRef:
   740                                        description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.'
   741                                        properties:
   742                                          containerName:
   743                                            description: 'Container name: required for volumes, optional for env vars'
   744                                            type: string
   745                                          divisor:
   746                                            anyOf:
   747                                              - type: integer
   748                                              - type: string
   749                                            description: Specifies the output format of the exposed resources, defaults to "1"
   750                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   751                                            x-kubernetes-int-or-string: true
   752                                          resource:
   753                                            description: 'Required: resource to select'
   754                                            type: string
   755                                        required:
   756                                          - resource
   757                                        type: object
   758                                        x-kubernetes-map-type: atomic
   759                                    required:
   760                                      - path
   761                                    type: object
   762                                  type: array
   763                              type: object
   764                            emptyDir:
   765                              description: 'emptyDir represents a temporary directory that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
   766                              properties:
   767                                medium:
   768                                  description: 'medium represents what type of storage medium should back this directory. The default is "" which means to use the node''s default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
   769                                  type: string
   770                                sizeLimit:
   771                                  anyOf:
   772                                    - type: integer
   773                                    - type: string
   774                                  description: 'sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
   775                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   776                                  x-kubernetes-int-or-string: true
   777                              type: object
   778                            ephemeral:
   779                              description: "ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. \n Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). \n Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. \n Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. \n A pod can use both types of ephemeral volumes and persistent volumes at the same time."
   780                              properties:
   781                                volumeClaimTemplate:
   782                                  description: "Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod.  The name of the PVC will be `<pod name>-<volume name>` where `<volume name>` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). \n An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. \n This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. \n Required, must not be nil."
   783                                  properties:
   784                                    metadata:
   785                                      description: May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
   786                                      type: object
   787                                    spec:
   788                                      description: The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here.
   789                                      properties:
   790                                        accessModes:
   791                                          description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
   792                                          items:
   793                                            type: string
   794                                          type: array
   795                                        dataSource:
   796                                          description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.'
   797                                          properties:
   798                                            apiGroup:
   799                                              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.
   800                                              type: string
   801                                            kind:
   802                                              description: Kind is the type of resource being referenced
   803                                              type: string
   804                                            name:
   805                                              description: Name is the name of resource being referenced
   806                                              type: string
   807                                          required:
   808                                            - kind
   809                                            - name
   810                                          type: object
   811                                          x-kubernetes-map-type: atomic
   812                                        dataSourceRef:
   813                                          description: 'dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn''t specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn''t set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.'
   814                                          properties:
   815                                            apiGroup:
   816                                              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.
   817                                              type: string
   818                                            kind:
   819                                              description: Kind is the type of resource being referenced
   820                                              type: string
   821                                            name:
   822                                              description: Name is the name of resource being referenced
   823                                              type: string
   824                                            namespace:
   825                                              description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
   826                                              type: string
   827                                          required:
   828                                            - kind
   829                                            - name
   830                                          type: object
   831                                        resources:
   832                                          description: 'resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
   833                                          properties:
   834                                            claims:
   835                                              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."
   836                                              items:
   837                                                description: ResourceClaim references one entry in PodSpec.ResourceClaims.
   838                                                properties:
   839                                                  name:
   840                                                    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.
   841                                                    type: string
   842                                                required:
   843                                                  - name
   844                                                type: object
   845                                              type: array
   846                                              x-kubernetes-list-map-keys:
   847                                                - name
   848                                              x-kubernetes-list-type: map
   849                                            limits:
   850                                              additionalProperties:
   851                                                anyOf:
   852                                                  - type: integer
   853                                                  - type: string
   854                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   855                                                x-kubernetes-int-or-string: true
   856                                              description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
   857                                              type: object
   858                                            requests:
   859                                              additionalProperties:
   860                                                anyOf:
   861                                                  - type: integer
   862                                                  - type: string
   863                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   864                                                x-kubernetes-int-or-string: true
   865                                              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/'
   866                                              type: object
   867                                          type: object
   868                                        selector:
   869                                          description: selector is a label query over volumes to consider for binding.
   870                                          properties:
   871                                            matchExpressions:
   872                                              description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   873                                              items:
   874                                                description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   875                                                properties:
   876                                                  key:
   877                                                    description: key is the label key that the selector applies to.
   878                                                    type: string
   879                                                  operator:
   880                                                    description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   881                                                    type: string
   882                                                  values:
   883                                                    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.
   884                                                    items:
   885                                                      type: string
   886                                                    type: array
   887                                                required:
   888                                                  - key
   889                                                  - operator
   890                                                type: object
   891                                              type: array
   892                                            matchLabels:
   893                                              additionalProperties:
   894                                                type: string
   895                                              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.
   896                                              type: object
   897                                          type: object
   898                                          x-kubernetes-map-type: atomic
   899                                        storageClassName:
   900                                          description: 'storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
   901                                          type: string
   902                                        volumeMode:
   903                                          description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
   904                                          type: string
   905                                        volumeName:
   906                                          description: volumeName is the binding reference to the PersistentVolume backing this claim.
   907                                          type: string
   908                                      type: object
   909                                  required:
   910                                    - spec
   911                                  type: object
   912                              type: object
   913                            fc:
   914                              description: fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
   915                              properties:
   916                                fsType:
   917                                  description: 'fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine'
   918                                  type: string
   919                                lun:
   920                                  description: 'lun is Optional: FC target lun number'
   921                                  format: int32
   922                                  type: integer
   923                                readOnly:
   924                                  description: 'readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.'
   925                                  type: boolean
   926                                targetWWNs:
   927                                  description: 'targetWWNs is Optional: FC target worldwide names (WWNs)'
   928                                  items:
   929                                    type: string
   930                                  type: array
   931                                wwids:
   932                                  description: 'wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.'
   933                                  items:
   934                                    type: string
   935                                  type: array
   936                              type: object
   937                            flexVolume:
   938                              description: flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.
   939                              properties:
   940                                driver:
   941                                  description: driver is the name of the driver to use for this volume.
   942                                  type: string
   943                                fsType:
   944                                  description: fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
   945                                  type: string
   946                                options:
   947                                  additionalProperties:
   948                                    type: string
   949                                  description: 'options is Optional: this field holds extra command options if any.'
   950                                  type: object
   951                                readOnly:
   952                                  description: 'readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.'
   953                                  type: boolean
   954                                secretRef:
   955                                  description: 'secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.'
   956                                  properties:
   957                                    name:
   958                                      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?'
   959                                      type: string
   960                                  type: object
   961                                  x-kubernetes-map-type: atomic
   962                              required:
   963                                - driver
   964                              type: object
   965                            flocker:
   966                              description: flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running
   967                              properties:
   968                                datasetName:
   969                                  description: datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated
   970                                  type: string
   971                                datasetUUID:
   972                                  description: datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset
   973                                  type: string
   974                              type: object
   975                            gcePersistentDisk:
   976                              description: 'gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet''s host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
   977                              properties:
   978                                fsType:
   979                                  description: 'fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine'
   980                                  type: string
   981                                partition:
   982                                  description: 'partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
   983                                  format: int32
   984                                  type: integer
   985                                pdName:
   986                                  description: 'pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
   987                                  type: string
   988                                readOnly:
   989                                  description: 'readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
   990                                  type: boolean
   991                              required:
   992                                - pdName
   993                              type: object
   994                            gitRepo:
   995                              description: 'gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod''s container.'
   996                              properties:
   997                                directory:
   998                                  description: directory is the target directory name. Must not contain or start with '..'.  If '.' is supplied, the volume directory will be the git repository.  Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.
   999                                  type: string
  1000                                repository:
  1001                                  description: repository is the URL
  1002                                  type: string
  1003                                revision:
  1004                                  description: revision is the commit hash for the specified revision.
  1005                                  type: string
  1006                              required:
  1007                                - repository
  1008                              type: object
  1009                            glusterfs:
  1010                              description: 'glusterfs represents a Glusterfs mount on the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
  1011                              properties:
  1012                                endpoints:
  1013                                  description: 'endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  1014                                  type: string
  1015                                path:
  1016                                  description: 'path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  1017                                  type: string
  1018                                readOnly:
  1019                                  description: 'readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  1020                                  type: boolean
  1021                              required:
  1022                                - endpoints
  1023                                - path
  1024                              type: object
  1025                            hostPath:
  1026                              description: 'hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write.'
  1027                              properties:
  1028                                path:
  1029                                  description: 'path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  1030                                  type: string
  1031                                type:
  1032                                  description: 'type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  1033                                  type: string
  1034                              required:
  1035                                - path
  1036                              type: object
  1037                            iscsi:
  1038                              description: 'iscsi represents an ISCSI Disk resource that is attached to a kubelet''s host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
  1039                              properties:
  1040                                chapAuthDiscovery:
  1041                                  description: chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication
  1042                                  type: boolean
  1043                                chapAuthSession:
  1044                                  description: chapAuthSession defines whether support iSCSI Session CHAP authentication
  1045                                  type: boolean
  1046                                fsType:
  1047                                  description: 'fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine'
  1048                                  type: string
  1049                                initiatorName:
  1050                                  description: initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface <target portal>:<volume name> will be created for the connection.
  1051                                  type: string
  1052                                iqn:
  1053                                  description: iqn is the target iSCSI Qualified Name.
  1054                                  type: string
  1055                                iscsiInterface:
  1056                                  description: iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).
  1057                                  type: string
  1058                                lun:
  1059                                  description: lun represents iSCSI Target Lun number.
  1060                                  format: int32
  1061                                  type: integer
  1062                                portals:
  1063                                  description: portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
  1064                                  items:
  1065                                    type: string
  1066                                  type: array
  1067                                readOnly:
  1068                                  description: readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.
  1069                                  type: boolean
  1070                                secretRef:
  1071                                  description: secretRef is the CHAP Secret for iSCSI target and initiator authentication
  1072                                  properties:
  1073                                    name:
  1074                                      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?'
  1075                                      type: string
  1076                                  type: object
  1077                                  x-kubernetes-map-type: atomic
  1078                                targetPortal:
  1079                                  description: targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
  1080                                  type: string
  1081                              required:
  1082                                - iqn
  1083                                - lun
  1084                                - targetPortal
  1085                              type: object
  1086                            name:
  1087                              description: 'name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1088                              type: string
  1089                            nfs:
  1090                              description: 'nfs represents an NFS mount on the host that shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  1091                              properties:
  1092                                path:
  1093                                  description: 'path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  1094                                  type: string
  1095                                readOnly:
  1096                                  description: 'readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  1097                                  type: boolean
  1098                                server:
  1099                                  description: 'server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  1100                                  type: string
  1101                              required:
  1102                                - path
  1103                                - server
  1104                              type: object
  1105                            persistentVolumeClaim:
  1106                              description: 'persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  1107                              properties:
  1108                                claimName:
  1109                                  description: 'claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  1110                                  type: string
  1111                                readOnly:
  1112                                  description: readOnly Will force the ReadOnly setting in VolumeMounts. Default false.
  1113                                  type: boolean
  1114                              required:
  1115                                - claimName
  1116                              type: object
  1117                            photonPersistentDisk:
  1118                              description: photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
  1119                              properties:
  1120                                fsType:
  1121                                  description: fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  1122                                  type: string
  1123                                pdID:
  1124                                  description: pdID is the ID that identifies Photon Controller persistent disk
  1125                                  type: string
  1126                              required:
  1127                                - pdID
  1128                              type: object
  1129                            portworxVolume:
  1130                              description: portworxVolume represents a portworx volume attached and mounted on kubelets host machine
  1131                              properties:
  1132                                fsType:
  1133                                  description: fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
  1134                                  type: string
  1135                                readOnly:
  1136                                  description: readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
  1137                                  type: boolean
  1138                                volumeID:
  1139                                  description: volumeID uniquely identifies a Portworx volume
  1140                                  type: string
  1141                              required:
  1142                                - volumeID
  1143                              type: object
  1144                            projected:
  1145                              description: projected items for all in one resources secrets, configmaps, and downward API
  1146                              properties:
  1147                                defaultMode:
  1148                                  description: defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
  1149                                  format: int32
  1150                                  type: integer
  1151                                sources:
  1152                                  description: sources is the list of volume projections
  1153                                  items:
  1154                                    description: Projection that may be projected along with other supported volume types
  1155                                    properties:
  1156                                      configMap:
  1157                                        description: configMap information about the configMap data to project
  1158                                        properties:
  1159                                          items:
  1160                                            description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  1161                                            items:
  1162                                              description: Maps a string key to a path within a volume.
  1163                                              properties:
  1164                                                key:
  1165                                                  description: key is the key to project.
  1166                                                  type: string
  1167                                                mode:
  1168                                                  description: 'mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  1169                                                  format: int32
  1170                                                  type: integer
  1171                                                path:
  1172                                                  description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  1173                                                  type: string
  1174                                              required:
  1175                                                - key
  1176                                                - path
  1177                                              type: object
  1178                                            type: array
  1179                                          name:
  1180                                            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?'
  1181                                            type: string
  1182                                          optional:
  1183                                            description: optional specify whether the ConfigMap or its keys must be defined
  1184                                            type: boolean
  1185                                        type: object
  1186                                        x-kubernetes-map-type: atomic
  1187                                      downwardAPI:
  1188                                        description: downwardAPI information about the downwardAPI data to project
  1189                                        properties:
  1190                                          items:
  1191                                            description: Items is a list of DownwardAPIVolume file
  1192                                            items:
  1193                                              description: DownwardAPIVolumeFile represents information to create the file containing the pod field
  1194                                              properties:
  1195                                                fieldRef:
  1196                                                  description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
  1197                                                  properties:
  1198                                                    apiVersion:
  1199                                                      description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
  1200                                                      type: string
  1201                                                    fieldPath:
  1202                                                      description: Path of the field to select in the specified API version.
  1203                                                      type: string
  1204                                                  required:
  1205                                                    - fieldPath
  1206                                                  type: object
  1207                                                  x-kubernetes-map-type: atomic
  1208                                                mode:
  1209                                                  description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  1210                                                  format: int32
  1211                                                  type: integer
  1212                                                path:
  1213                                                  description: 'Required: Path is  the relative path name of the file to be created. Must not be absolute or contain the ''..'' path. Must be utf-8 encoded. The first item of the relative path must not start with ''..'''
  1214                                                  type: string
  1215                                                resourceFieldRef:
  1216                                                  description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.'
  1217                                                  properties:
  1218                                                    containerName:
  1219                                                      description: 'Container name: required for volumes, optional for env vars'
  1220                                                      type: string
  1221                                                    divisor:
  1222                                                      anyOf:
  1223                                                        - type: integer
  1224                                                        - type: string
  1225                                                      description: Specifies the output format of the exposed resources, defaults to "1"
  1226                                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1227                                                      x-kubernetes-int-or-string: true
  1228                                                    resource:
  1229                                                      description: 'Required: resource to select'
  1230                                                      type: string
  1231                                                  required:
  1232                                                    - resource
  1233                                                  type: object
  1234                                                  x-kubernetes-map-type: atomic
  1235                                              required:
  1236                                                - path
  1237                                              type: object
  1238                                            type: array
  1239                                        type: object
  1240                                      secret:
  1241                                        description: secret information about the secret data to project
  1242                                        properties:
  1243                                          items:
  1244                                            description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  1245                                            items:
  1246                                              description: Maps a string key to a path within a volume.
  1247                                              properties:
  1248                                                key:
  1249                                                  description: key is the key to project.
  1250                                                  type: string
  1251                                                mode:
  1252                                                  description: 'mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  1253                                                  format: int32
  1254                                                  type: integer
  1255                                                path:
  1256                                                  description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  1257                                                  type: string
  1258                                              required:
  1259                                                - key
  1260                                                - path
  1261                                              type: object
  1262                                            type: array
  1263                                          name:
  1264                                            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?'
  1265                                            type: string
  1266                                          optional:
  1267                                            description: optional field specify whether the Secret or its key must be defined
  1268                                            type: boolean
  1269                                        type: object
  1270                                        x-kubernetes-map-type: atomic
  1271                                      serviceAccountToken:
  1272                                        description: serviceAccountToken is information about the serviceAccountToken data to project
  1273                                        properties:
  1274                                          audience:
  1275                                            description: audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.
  1276                                            type: string
  1277                                          expirationSeconds:
  1278                                            description: expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.
  1279                                            format: int64
  1280                                            type: integer
  1281                                          path:
  1282                                            description: path is the path relative to the mount point of the file to project the token into.
  1283                                            type: string
  1284                                        required:
  1285                                          - path
  1286                                        type: object
  1287                                    type: object
  1288                                  type: array
  1289                              type: object
  1290                            quobyte:
  1291                              description: quobyte represents a Quobyte mount on the host that shares a pod's lifetime
  1292                              properties:
  1293                                group:
  1294                                  description: group to map volume access to Default is no group
  1295                                  type: string
  1296                                readOnly:
  1297                                  description: readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.
  1298                                  type: boolean
  1299                                registry:
  1300                                  description: registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes
  1301                                  type: string
  1302                                tenant:
  1303                                  description: tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin
  1304                                  type: string
  1305                                user:
  1306                                  description: user to map volume access to Defaults to serivceaccount user
  1307                                  type: string
  1308                                volume:
  1309                                  description: volume is a string that references an already created Quobyte volume by name.
  1310                                  type: string
  1311                              required:
  1312                                - registry
  1313                                - volume
  1314                              type: object
  1315                            rbd:
  1316                              description: 'rbd represents a Rados Block Device mount on the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md'
  1317                              properties:
  1318                                fsType:
  1319                                  description: 'fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine'
  1320                                  type: string
  1321                                image:
  1322                                  description: 'image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1323                                  type: string
  1324                                keyring:
  1325                                  description: 'keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1326                                  type: string
  1327                                monitors:
  1328                                  description: 'monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1329                                  items:
  1330                                    type: string
  1331                                  type: array
  1332                                pool:
  1333                                  description: 'pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1334                                  type: string
  1335                                readOnly:
  1336                                  description: 'readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1337                                  type: boolean
  1338                                secretRef:
  1339                                  description: 'secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1340                                  properties:
  1341                                    name:
  1342                                      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?'
  1343                                      type: string
  1344                                  type: object
  1345                                  x-kubernetes-map-type: atomic
  1346                                user:
  1347                                  description: 'user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1348                                  type: string
  1349                              required:
  1350                                - image
  1351                                - monitors
  1352                              type: object
  1353                            scaleIO:
  1354                              description: scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
  1355                              properties:
  1356                                fsType:
  1357                                  description: fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs".
  1358                                  type: string
  1359                                gateway:
  1360                                  description: gateway is the host address of the ScaleIO API Gateway.
  1361                                  type: string
  1362                                protectionDomain:
  1363                                  description: protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.
  1364                                  type: string
  1365                                readOnly:
  1366                                  description: readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
  1367                                  type: boolean
  1368                                secretRef:
  1369                                  description: secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.
  1370                                  properties:
  1371                                    name:
  1372                                      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?'
  1373                                      type: string
  1374                                  type: object
  1375                                  x-kubernetes-map-type: atomic
  1376                                sslEnabled:
  1377                                  description: sslEnabled Flag enable/disable SSL communication with Gateway, default false
  1378                                  type: boolean
  1379                                storageMode:
  1380                                  description: storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.
  1381                                  type: string
  1382                                storagePool:
  1383                                  description: storagePool is the ScaleIO Storage Pool associated with the protection domain.
  1384                                  type: string
  1385                                system:
  1386                                  description: system is the name of the storage system as configured in ScaleIO.
  1387                                  type: string
  1388                                volumeName:
  1389                                  description: volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.
  1390                                  type: string
  1391                              required:
  1392                                - gateway
  1393                                - secretRef
  1394                                - system
  1395                              type: object
  1396                            secret:
  1397                              description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  1398                              properties:
  1399                                defaultMode:
  1400                                  description: 'defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  1401                                  format: int32
  1402                                  type: integer
  1403                                items:
  1404                                  description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
  1405                                  items:
  1406                                    description: Maps a string key to a path within a volume.
  1407                                    properties:
  1408                                      key:
  1409                                        description: key is the key to project.
  1410                                        type: string
  1411                                      mode:
  1412                                        description: 'mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.'
  1413                                        format: int32
  1414                                        type: integer
  1415                                      path:
  1416                                        description: path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
  1417                                        type: string
  1418                                    required:
  1419                                      - key
  1420                                      - path
  1421                                    type: object
  1422                                  type: array
  1423                                optional:
  1424                                  description: optional field specify whether the Secret or its keys must be defined
  1425                                  type: boolean
  1426                                secretName:
  1427                                  description: 'secretName is the name of the secret in the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  1428                                  type: string
  1429                              type: object
  1430                            storageos:
  1431                              description: storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
  1432                              properties:
  1433                                fsType:
  1434                                  description: fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  1435                                  type: string
  1436                                readOnly:
  1437                                  description: readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
  1438                                  type: boolean
  1439                                secretRef:
  1440                                  description: secretRef specifies the secret to use for obtaining the StorageOS API credentials.  If not specified, default values will be attempted.
  1441                                  properties:
  1442                                    name:
  1443                                      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?'
  1444                                      type: string
  1445                                  type: object
  1446                                  x-kubernetes-map-type: atomic
  1447                                volumeName:
  1448                                  description: volumeName is the human-readable name of the StorageOS volume.  Volume names are only unique within a namespace.
  1449                                  type: string
  1450                                volumeNamespace:
  1451                                  description: volumeNamespace specifies the scope of the volume within StorageOS.  If no namespace is specified then the Pod's namespace will be used.  This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.
  1452                                  type: string
  1453                              type: object
  1454                            vsphereVolume:
  1455                              description: vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
  1456                              properties:
  1457                                fsType:
  1458                                  description: fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
  1459                                  type: string
  1460                                storagePolicyID:
  1461                                  description: storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.
  1462                                  type: string
  1463                                storagePolicyName:
  1464                                  description: storagePolicyName is the storage Policy Based Management (SPBM) profile name.
  1465                                  type: string
  1466                                volumePath:
  1467                                  description: volumePath is the path that identifies vSphere volume vmdk
  1468                                  type: string
  1469                              required:
  1470                                - volumePath
  1471                              type: object
  1472                          required:
  1473                            - name
  1474                          type: object
  1475                        type: array
  1476                      replicas:
  1477                        description: Replicas sets the number of pod replicas for the UI deployment.
  1478                        format: int32
  1479                        type: integer
  1480                      resources:
  1481                        description: Resources describes the requested and maximum allowed CPU/memory usage.
  1482                        properties:
  1483                          claims:
  1484                            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."
  1485                            items:
  1486                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1487                              properties:
  1488                                name:
  1489                                  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.
  1490                                  type: string
  1491                              required:
  1492                                - name
  1493                              type: object
  1494                            type: array
  1495                            x-kubernetes-list-map-keys:
  1496                              - name
  1497                            x-kubernetes-list-type: map
  1498                          limits:
  1499                            additionalProperties:
  1500                              anyOf:
  1501                                - type: integer
  1502                                - type: string
  1503                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1504                              x-kubernetes-int-or-string: true
  1505                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1506                            type: object
  1507                          requests:
  1508                            additionalProperties:
  1509                              anyOf:
  1510                                - type: integer
  1511                                - type: string
  1512                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1513                              x-kubernetes-int-or-string: true
  1514                            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/'
  1515                            type: object
  1516                        type: object
  1517                    type: object
  1518                  userCluster:
  1519                    description: UserCluster configures various aspects of the user-created clusters.
  1520                    properties:
  1521                      addons:
  1522                        description: Addons controls the optional additions installed into each user cluster.
  1523                        properties:
  1524                          default:
  1525                            description: Default is the list of addons to be installed by default into each cluster. Mutually exclusive with "defaultManifests".
  1526                            items:
  1527                              type: string
  1528                            type: array
  1529                          defaultManifests:
  1530                            description: DefaultManifests is a list of addon manifests to install into all clusters. Mutually exclusive with "default".
  1531                            type: string
  1532                          dockerRepository:
  1533                            description: DockerRepository is the repository containing the Docker image containing the possible addon manifests.
  1534                            type: string
  1535                          dockerTagSuffix:
  1536                            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".
  1537                            type: string
  1538                        type: object
  1539                      apiserverReplicas:
  1540                        description: APIServerReplicas configures the replica count for the API-Server deployment inside user clusters.
  1541                        format: int32
  1542                        type: integer
  1543                      baseDomain:
  1544                        description: This configures the base domain for all userclusters. Each usercluster will get a subdomain (named <clustername>.<basedomain>) to allow access to the cluster's controlplane. This domain should be different from the main ingress (which makes the KKP dashboard available), as cluster names might collide with other, well-known names and could interfere with the dashboard. If your dashboard is using "example.com", you could configure the usercluster base domain as "clusters.example.com".
  1545                        type: string
  1546                      defaultTemplate:
  1547                        description: DefaultCTemplate is the name of a cluster template that is used to default a new user cluster.
  1548                        type: string
  1549                      disableApiserverEndpointReconciling:
  1550                        description: DisableAPIServerEndpointReconciling can be used to toggle the `--endpoint-reconciler-type` flag for the Kubernetes API server.
  1551                        type: boolean
  1552                      dnatControllerDockerRepository:
  1553                        description: DNATControllerDockerRepository is the repository containing the dnat-controller image.
  1554                        type: string
  1555                      etcdBackupRestore:
  1556                        description: EtcdBackupRestore holds the configuration of the automatic etcd backup restores for the Seed; if this is set, the new backup/restore controllers are enabled for this Seed.
  1557                        properties:
  1558                          defaultDestination:
  1559                            description: DefaultDestination marks the default destination that will be used for the default etcd backup config which is created for every user cluster. Has to correspond to a destination in Destinations. If removed, it removes the related default etcd backup configs.
  1560                            maxLength: 63
  1561                            pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1562                            type: string
  1563                          destinations:
  1564                            additionalProperties:
  1565                              description: EtcdBackupDestination defines the bucket name and endpoint as a backup destination, and holds reference to the credentials secret.
  1566                              properties:
  1567                                bucketName:
  1568                                  description: BucketName is the bucket name to use for backup and restore.
  1569                                  type: string
  1570                                credentials:
  1571                                  description: Credentials hold the ref to the secret with backup credentials
  1572                                  properties:
  1573                                    name:
  1574                                      description: name is unique within a namespace to reference a secret resource.
  1575                                      type: string
  1576                                    namespace:
  1577                                      description: namespace defines the space within which the secret name must be unique.
  1578                                      type: string
  1579                                  type: object
  1580                                  x-kubernetes-map-type: atomic
  1581                                endpoint:
  1582                                  description: Endpoint is the API endpoint to use for backup and restore.
  1583                                  type: string
  1584                              required:
  1585                                - bucketName
  1586                                - endpoint
  1587                              type: object
  1588                            description: Destinations stores all the possible destinations where the backups for the Seed can be stored. If not empty, it enables automatic backup and restore for the seed.
  1589                            type: object
  1590                        type: object
  1591                      etcdLauncherDockerRepository:
  1592                        description: EtcdLauncherDockerRepository is the repository containing the Kubermatic etcd-launcher image.
  1593                        type: string
  1594                      etcdVolumeSize:
  1595                        description: EtcdVolumeSize configures the volume size to use for each etcd pod inside user clusters.
  1596                        type: string
  1597                      kubermaticDockerRepository:
  1598                        description: KubermaticDockerRepository is the repository containing the Kubermatic user-cluster-controller-manager image.
  1599                        type: string
  1600                      machineController:
  1601                        description: MachineController configures the Machine Controller
  1602                        properties:
  1603                          imageRepository:
  1604                            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.
  1605                            type: string
  1606                          imageTag:
  1607                            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.
  1608                            type: string
  1609                        type: object
  1610                      mla:
  1611                        description: KubermaticUserClusterMLAConfiguration allows configuring Monitoring, Logging & Alerting settings.
  1612                        properties:
  1613                          enabled:
  1614                            type: boolean
  1615                        required:
  1616                          - enabled
  1617                        type: object
  1618                      monitoring:
  1619                        description: Monitoring can be used to fine-tune to in-cluster Prometheus.
  1620                        properties:
  1621                          customRules:
  1622                            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.
  1623                            type: string
  1624                          customScrapingConfigs:
  1625                            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.
  1626                            type: string
  1627                          disableDefaultRules:
  1628                            description: DisableDefaultRules disables the recording and alerting rules.
  1629                            type: boolean
  1630                          disableDefaultScrapingConfigs:
  1631                            description: DisableDefaultScrapingConfigs disables the default scraping targets.
  1632                            type: boolean
  1633                          scrapeAnnotationPrefix:
  1634                            description: ScrapeAnnotationPrefix (if set) is used to make the in-cluster Prometheus scrape pods inside the user clusters.
  1635                            type: string
  1636                        type: object
  1637                      nodePortRange:
  1638                        description: NodePortRange is the port range for user clusters - this must match the NodePort range of the seed cluster.
  1639                        type: string
  1640                      operatingSystemManager:
  1641                        description: OperatingSystemManager configures the image repo and the tag version for osm deployment.
  1642                        properties:
  1643                          imageRepository:
  1644                            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.
  1645                            type: string
  1646                          imageTag:
  1647                            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.
  1648                            type: string
  1649                        type: object
  1650                      overwriteRegistry:
  1651                        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.
  1652                        type: string
  1653                      proxySettings:
  1654                        description: 'Optional: ProxySettings can be used to configure HTTP proxy settings on the worker nodes in user clusters. However, proxy settings on nodes take precedence.'
  1655                        properties:
  1656                          httpProxy:
  1657                            description: 'Optional: If set, this proxy will be configured for both HTTP and HTTPS.'
  1658                            type: string
  1659                          noProxy:
  1660                            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.'
  1661                            type: string
  1662                        type: object
  1663                      systemApplications:
  1664                        description: SystemApplications contains configuration for system Applications (such as CNI).
  1665                        properties:
  1666                          helmRegistryConfigFile:
  1667                            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".
  1668                            properties:
  1669                              key:
  1670                                description: The key of the secret to select from.  Must be a valid secret key.
  1671                                type: string
  1672                              name:
  1673                                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?'
  1674                                type: string
  1675                              optional:
  1676                                description: Specify whether the Secret or its key must be defined
  1677                                type: boolean
  1678                            required:
  1679                              - key
  1680                            type: object
  1681                            x-kubernetes-map-type: atomic
  1682                          helmRepository:
  1683                            description: HelmRepository specifies OCI repository containing Helm charts of system Applications.
  1684                            type: string
  1685                        type: object
  1686                    required:
  1687                      - baseDomain
  1688                    type: object
  1689                  versions:
  1690                    description: Versions configures the available and default Kubernetes versions and updates.
  1691                    properties:
  1692                      default:
  1693                        description: Default is the default version to offer users.
  1694                        type: string
  1695                      providerIncompatibilities:
  1696                        description: ProviderIncompatibilities lists all the Kubernetes version incompatibilities
  1697                        items:
  1698                          description: Incompatibility represents a version incompatibility for a user cluster.
  1699                          properties:
  1700                            condition:
  1701                              description: Condition is the cluster or datacenter condition that must be met to block a specific version
  1702                              enum:
  1703                                - always
  1704                                - externalCloudProvider
  1705                                - inTreeProvider
  1706                              type: string
  1707                            operation:
  1708                              description: Operation is the operation triggering the compatibility check (CREATE or UPDATE)
  1709                              enum:
  1710                                - CREATE
  1711                                - UPGRADE
  1712                                - SUPPORT
  1713                              type: string
  1714                            provider:
  1715                              description: Provider to which to apply the compatibility check. If this is not specified, the incompatibility is valid for all cloud providers.
  1716                              enum:
  1717                                - alibaba
  1718                                - anexia
  1719                                - aws
  1720                                - azure
  1721                                - bringyourown
  1722                                - digitalocean
  1723                                - gcp
  1724                                - hetzner
  1725                                - kubevirt
  1726                                - nutanix
  1727                                - openstack
  1728                                - packet
  1729                                - vmwareclouddirector
  1730                                - vsphere
  1731                              type: string
  1732                            version:
  1733                              description: Version is the Kubernetes version that must be checked. Wildcards are allowed, e.g. "1.25.*".
  1734                              type: string
  1735                          type: object
  1736                        type: array
  1737                      updates:
  1738                        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.'
  1739                        items:
  1740                          description: Update represents an update option for a user cluster.
  1741                          properties:
  1742                            automatic:
  1743                              description: Automatic controls whether this update is executed automatically for the control plane of all matching user clusters. ---
  1744                              type: boolean
  1745                            automaticNodeUpdate:
  1746                              description: Automatic controls whether this update is executed automatically for the worker nodes of all matching user clusters. ---
  1747                              type: boolean
  1748                            from:
  1749                              description: From is the version from which an update is allowed. Wildcards are allowed, e.g. "1.18.*".
  1750                              type: string
  1751                            to:
  1752                              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.*".
  1753                              type: string
  1754                          type: object
  1755                        type: array
  1756                      versions:
  1757                        description: Versions lists the available versions.
  1758                        items:
  1759                          description: Semver is a type that encapsulates github.com/Masterminds/semver/v3.Version struct so it can be used in our API.
  1760                          type: string
  1761                        type: array
  1762                    type: object
  1763                  verticalPodAutoscaler:
  1764                    description: VerticalPodAutoscaler configures the Kubernetes VPA integration.
  1765                    properties:
  1766                      admissionController:
  1767                        properties:
  1768                          dockerRepository:
  1769                            description: DockerRepository is the repository containing the component's image.
  1770                            type: string
  1771                          resources:
  1772                            description: Resources describes the requested and maximum allowed CPU/memory usage.
  1773                            properties:
  1774                              claims:
  1775                                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."
  1776                                items:
  1777                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1778                                  properties:
  1779                                    name:
  1780                                      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.
  1781                                      type: string
  1782                                  required:
  1783                                    - name
  1784                                  type: object
  1785                                type: array
  1786                                x-kubernetes-list-map-keys:
  1787                                  - name
  1788                                x-kubernetes-list-type: map
  1789                              limits:
  1790                                additionalProperties:
  1791                                  anyOf:
  1792                                    - type: integer
  1793                                    - type: string
  1794                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1795                                  x-kubernetes-int-or-string: true
  1796                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1797                                type: object
  1798                              requests:
  1799                                additionalProperties:
  1800                                  anyOf:
  1801                                    - type: integer
  1802                                    - type: string
  1803                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1804                                  x-kubernetes-int-or-string: true
  1805                                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/'
  1806                                type: object
  1807                            type: object
  1808                        type: object
  1809                      recommender:
  1810                        properties:
  1811                          dockerRepository:
  1812                            description: DockerRepository is the repository containing the component's image.
  1813                            type: string
  1814                          resources:
  1815                            description: Resources describes the requested and maximum allowed CPU/memory usage.
  1816                            properties:
  1817                              claims:
  1818                                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."
  1819                                items:
  1820                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1821                                  properties:
  1822                                    name:
  1823                                      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.
  1824                                      type: string
  1825                                  required:
  1826                                    - name
  1827                                  type: object
  1828                                type: array
  1829                                x-kubernetes-list-map-keys:
  1830                                  - name
  1831                                x-kubernetes-list-type: map
  1832                              limits:
  1833                                additionalProperties:
  1834                                  anyOf:
  1835                                    - type: integer
  1836                                    - type: string
  1837                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1838                                  x-kubernetes-int-or-string: true
  1839                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1840                                type: object
  1841                              requests:
  1842                                additionalProperties:
  1843                                  anyOf:
  1844                                    - type: integer
  1845                                    - type: string
  1846                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1847                                  x-kubernetes-int-or-string: true
  1848                                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/'
  1849                                type: object
  1850                            type: object
  1851                        type: object
  1852                      updater:
  1853                        properties:
  1854                          dockerRepository:
  1855                            description: DockerRepository is the repository containing the component's image.
  1856                            type: string
  1857                          resources:
  1858                            description: Resources describes the requested and maximum allowed CPU/memory usage.
  1859                            properties:
  1860                              claims:
  1861                                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."
  1862                                items:
  1863                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1864                                  properties:
  1865                                    name:
  1866                                      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.
  1867                                      type: string
  1868                                  required:
  1869                                    - name
  1870                                  type: object
  1871                                type: array
  1872                                x-kubernetes-list-map-keys:
  1873                                  - name
  1874                                x-kubernetes-list-type: map
  1875                              limits:
  1876                                additionalProperties:
  1877                                  anyOf:
  1878                                    - type: integer
  1879                                    - type: string
  1880                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1881                                  x-kubernetes-int-or-string: true
  1882                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1883                                type: object
  1884                              requests:
  1885                                additionalProperties:
  1886                                  anyOf:
  1887                                    - type: integer
  1888                                    - type: string
  1889                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1890                                  x-kubernetes-int-or-string: true
  1891                                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/'
  1892                                type: object
  1893                            type: object
  1894                        type: object
  1895                    type: object
  1896                  webhook:
  1897                    description: Webhook configures the webhook.
  1898                    properties:
  1899                      debugLog:
  1900                        description: DebugLog enables more verbose logging.
  1901                        type: boolean
  1902                      dockerRepository:
  1903                        description: DockerRepository is the repository containing the Kubermatic webhook image.
  1904                        type: string
  1905                      pprofEndpoint:
  1906                        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.
  1907                        type: string
  1908                      replicas:
  1909                        description: Replicas sets the number of pod replicas for the webhook.
  1910                        format: int32
  1911                        type: integer
  1912                      resources:
  1913                        description: Resources describes the requested and maximum allowed CPU/memory usage.
  1914                        properties:
  1915                          claims:
  1916                            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."
  1917                            items:
  1918                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1919                              properties:
  1920                                name:
  1921                                  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.
  1922                                  type: string
  1923                              required:
  1924                                - name
  1925                              type: object
  1926                            type: array
  1927                            x-kubernetes-list-map-keys:
  1928                              - name
  1929                            x-kubernetes-list-type: map
  1930                          limits:
  1931                            additionalProperties:
  1932                              anyOf:
  1933                                - type: integer
  1934                                - type: string
  1935                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1936                              x-kubernetes-int-or-string: true
  1937                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1938                            type: object
  1939                          requests:
  1940                            additionalProperties:
  1941                              anyOf:
  1942                                - type: integer
  1943                                - type: string
  1944                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1945                              x-kubernetes-int-or-string: true
  1946                            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/'
  1947                            type: object
  1948                        type: object
  1949                    type: object
  1950                type: object
  1951              status:
  1952                description: KubermaticConfigurationStatus stores status information about a KubermaticConfiguration.
  1953                properties:
  1954                  kubermaticEdition:
  1955                    description: KubermaticEdition current Kubermatic Edition , i.e. Community Edition or Enterprise Edition.
  1956                    type: string
  1957                  kubermaticVersion:
  1958                    description: KubermaticVersion current Kubermatic Version.
  1959                    type: string
  1960                type: object
  1961            type: object
  1962        served: true
  1963        storage: true
  1964        subresources:
  1965          status: {}