ServerSideFieldValidation
feature disabled will discard valid values specified in this param and not perform any server side field validation. Valid values are: - Ignore: ignores unknown/duplicate fields. - Warn: responds with a warning for each unknown/duplicate field, but successfully serves the request. - Strict: fails the request on unknown/duplicate fields.curl --location --request POST '/apis/storage.k8s.io/v1/csidrivers' \
--header 'Content-Type: text/plain' \
--data-raw ''
NodePublishVolume
being periodically called to reflect any possible change in the mounted volume. This field defaults to false.If set to true, storageCapacity indicates that the CSI volume driver wants pod scheduling to consider the storage capacity that the driver deployment will report by creating CSIStorageCapacity objects with capacity information.
The check can be enabled immediately when deploying a driver. In that case, provisioning new volumes with late binding will pause until the driver deployment has published some suitable CSIStorageCapacity object.
Alternatively, the driver can be deployed with the field unset or false and it can be flipped later when storage capacity information has been published.
This field was immutable in Kubernetes <= 1.22 and now is mutable.
This is a beta field and only available when the CSIStorageCapacity feature is enabled. The default is false.
TokenRequests indicates the CSI driver needs pods' service account tokens it is mounting volume for to do necessary authentication. Kubelet will pass the tokens in VolumeContext in the CSI NodePublishVolume calls. The CSI driver should parse and validate the following VolumeContext: "csi.storage.k8s.io/serviceAccount.tokens": {
"": {
"token": ,
"expirationTimestamp": ,
},
...
}
Note: Audience in each TokenRequest should be different and at most one token is empty string. To receive a new token after expiry, RequiresRepublish can be used to trigger NodePublishVolume periodically.
{
"apiVersion": "string",
"kind": "string",
"metadata": {
"annotations": {
"property1": "string",
"property2": "string"
},
"clusterName": "string",
"creationTimestamp": "2019-08-24T14:15:22Z",
"deletionGracePeriodSeconds": 0,
"deletionTimestamp": "2019-08-24T14:15:22Z",
"finalizers": [
"string"
],
"generateName": "string",
"generation": 0,
"labels": {
"property1": "string",
"property2": "string"
},
"managedFields": [
{
"apiVersion": "string",
"fieldsType": "string",
"fieldsV1": {},
"manager": "string",
"operation": "string",
"subresource": "string",
"time": "2019-08-24T14:15:22Z"
}
],
"name": "string",
"namespace": "string",
"ownerReferences": [
{
"apiVersion": "string",
"blockOwnerDeletion": true,
"controller": true,
"kind": "string",
"name": "string",
"uid": "string"
}
],
"resourceVersion": "string",
"selfLink": "string",
"uid": "string"
},
"spec": {
"attachRequired": true,
"fsGroupPolicy": "string",
"podInfoOnMount": true,
"requiresRepublish": true,
"storageCapacity": true,
"tokenRequests": [
{
"audience": "string",
"expirationSeconds": 0
}
],
"volumeLifecycleModes": [
"string"
]
}
}