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