--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/instance: kueue app.kubernetes.io/name: kueue app.kubernetes.io/version: v0.12.3 control-plane: controller-manager name: provisioningrequestconfigs.kueue.x-k8s.io spec: conversion: strategy: Webhook webhook: clientConfig: service: name: kueue-webhook-service namespace: kueue-system path: /convert conversionReviewVersions: - v1 group: kueue.x-k8s.io names: kind: ProvisioningRequestConfig listKind: ProvisioningRequestConfigList plural: provisioningrequestconfigs singular: provisioningrequestconfig scope: Cluster versions: - name: v1beta1 schema: openAPIV3Schema: description: ProvisioningRequestConfig is the Schema for the provisioningrequestconfig API properties: apiVersion: 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 type: string kind: 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 type: string metadata: type: object spec: description: ProvisioningRequestConfigSpec defines the desired state of ProvisioningRequestConfig properties: managedResources: description: |- managedResources contains the list of resources managed by the autoscaling. If empty, all resources are considered managed. If not empty, the ProvisioningRequest will contain only the podsets that are requesting at least one of them. If none of the workloads podsets is requesting at least a managed resource, the workload is considered ready. items: description: ResourceName is the name identifying various resources in a ResourceList. type: string maxItems: 100 type: array x-kubernetes-list-type: set parameters: additionalProperties: description: Parameter is limited to 255 characters. maxLength: 255 type: string description: Parameters contains all other parameters classes may require. maxProperties: 100 type: object podSetMergePolicy: description: |- podSetMergePolicy specifies the policy for merging PodSets before being passed to the cluster autoscaler. enum: - IdenticalPodTemplates - IdenticalWorkloadSchedulingRequirements type: string podSetUpdates: description: |- podSetUpdates specifies the update of the workload's PodSetUpdates which are used to target the provisioned nodes. properties: nodeSelector: description: nodeSelector specifies the list of updates for the NodeSelector. items: properties: key: description: key specifies the key for the NodeSelector. maxLength: 317 minLength: 1 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string valueFromProvisioningClassDetail: description: |- valueFromProvisioningClassDetail specifies the key of the ProvisioningRequest.status.provisioningClassDetails from which the value is used for the update. maxLength: 32768 minLength: 1 type: string required: - key - valueFromProvisioningClassDetail type: object maxItems: 8 type: array type: object provisioningClassName: description: |- ProvisioningClassName describes the different modes of provisioning the resources. Check autoscaling.x-k8s.io ProvisioningRequestSpec.ProvisioningClassName for details. maxLength: 253 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ type: string retryStrategy: default: backoffBaseSeconds: 60 backoffLimitCount: 3 backoffMaxSeconds: 1800 description: |- retryStrategy defines strategy for retrying ProvisioningRequest. If null, then the default configuration is applied with the following parameter values: backoffLimitCount: 3 backoffBaseSeconds: 60 - 1 min backoffMaxSeconds: 1800 - 30 mins To switch off retry mechanism set retryStrategy.backoffLimitCount to 0. properties: backoffBaseSeconds: default: 60 description: |- BackoffBaseSeconds defines the base for the exponential backoff for re-queuing an evicted workload. Defaults to 60. format: int32 type: integer backoffLimitCount: default: 3 description: |- BackoffLimitCount defines the maximum number of re-queuing retries. Once the number is reached, the workload is deactivated (`.spec.activate`=`false`). Every backoff duration is about "b*2^(n-1)+Rand" where: - "b" represents the base set by "BackoffBaseSeconds" parameter, - "n" represents the "workloadStatus.requeueState.count", - "Rand" represents the random jitter. During this time, the workload is taken as an inadmissible and other workloads will have a chance to be admitted. By default, the consecutive requeue delays are around: (60s, 120s, 240s, ...). Defaults to 3. format: int32 type: integer backoffMaxSeconds: default: 1800 description: |- BackoffMaxSeconds defines the maximum backoff time to re-queue an evicted workload. Defaults to 1800. format: int32 type: integer type: object required: - provisioningClassName type: object type: object served: true storage: true