clusterforge/kueue/CustomResourceDefinition_provisioningrequestconfigs.kueue.x-k8s.io.yaml
2025-10-06 09:34:03 +00:00

183 lines
8.1 KiB
YAML

---
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