The module lifecycle stage: Deprecated
The module has requirements for installation
The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.
VolumeSnapshotClass
Short names: vsclass, vsclasses
Scope: Cluster
-
stringapiVersionAPI version of this object representation. Servers 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
-
stringdeletionPolicy
Controls the deletion behavior of VolumeSnapshotContent and its physical snapshot when the bound VolumeSnapshot is deleted. Supported values:
Retain: VolumeSnapshotContent and its physical snapshot on the underlying storage system are preserved.Delete: VolumeSnapshotContent and its physical snapshot on the underlying storage system are removed.
Allowed values:
Delete,Retain -
stringdriverName of the storage driver that handles this VolumeSnapshotClass.
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectmetadata
-
objectparametersKey-value map of driver-specific parameters used when creating snapshots. Parameters are not interpreted by Kubernetes.
-
stringapiVersionAPI version of this object representation. Servers 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
-
stringdeletionPolicy
Controls the deletion behavior of VolumeSnapshotContent and its physical snapshot when the bound VolumeSnapshot is deleted. Supported values:
Retain: VolumeSnapshotContent and its physical snapshot on the underlying storage system are preserved.Delete: VolumeSnapshotContent and its physical snapshot on the underlying storage system are removed.
Allowed values:
Delete,Retain -
stringdriverName of the storage driver that handles this VolumeSnapshotClass.
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectparametersKey-value map of driver-specific parameters used when creating snapshots. Parameters are not interpreted by Kubernetes.
VolumeSnapshotContent
Short names: vsc, vscs
Scope: Cluster
-
stringapiVersionAPI version of this object representation. Servers 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
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectmetadata
-
objectspecProperties of VolumeSnapshotContent created by the underlying storage system.
-
stringspec.deletionPolicy
Required value
Controls deletion behavior of VolumeSnapshotContent and its physical snapshot when the bound VolumeSnapshot is deleted. Supported values:
Retain: VolumeSnapshotContent and its physical snapshot on the underlying storage system are preserved.Delete: VolumeSnapshotContent and its physical snapshot on the underlying storage system are removed.
For dynamically provisioned snapshots, automatically filled by the CSI snapshotter sidecar with the
DeletionPolicyfield defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users must specify when creating the VolumeSnapshotContent object.Allowed values:
Delete,Retain -
stringspec.driver
Required value
CSI driver name used to create the physical snapshot on the underlying storage system. Must be the same as the name returned by the CSI GetPluginName() call for that driver. -
objectspec.source
Required value
Specifies whether the snapshot is (or should be) dynamically provisioned or already exists and requires a Kubernetes object representation. Immutable after creation.-
stringspec.source.snapshotHandleCSI
snapshot_idof a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. Immutable. -
stringspec.source.volumeHandleCSI
volume_idof the volume from which a snapshot should be dynamically taken. Immutable.
-
-
stringspec.sourceVolumeModeMode of the volume whose snapshot is taken. Can be either
FilesystemorBlock. If not specified, the source volume’s mode is unknown. Immutable. -
stringspec.volumeSnapshotClassNameVolumeSnapshotClass name from which this snapshot was (or will be) created. After provisioning, the VolumeSnapshotClass may be deleted or recreated with different values and should not be referenced post-snapshot creation.
-
objectspec.volumeSnapshotRefVolumeSnapshot object (hereinafter referred to as the referent) to which this VolumeSnapshotContent is bound.
VolumeSnapshot.Spec.VolumeSnapshotContentNamefield must reference this VolumeSnapshotContent name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object must be provided for binding. Immutable after creation.-
stringspec.volumeSnapshotRef.apiVersionAPI version of the referent.
-
stringspec.volumeSnapshotRef.fieldPathIf referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as
desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like:spec.containers{name}(wherenamerefers to the name of the container that triggered the event) or if no container name is specifiedspec.containers[2](container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. -
stringspec.volumeSnapshotRef.kindKind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
stringspec.volumeSnapshotRef.nameName of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-
stringspec.volumeSnapshotRef.namespaceNamespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
-
stringspec.volumeSnapshotRef.resourceVersionSpecific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
-
stringspec.volumeSnapshotRef.uidUID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
-
-
-
objectstatusCurrent information of a snapshot.
-
integerstatus.creationTimeTimestamp when the point-in-time snapshot is taken by the underlying storage system. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
creation_timevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thecreation_timevalue returned from the CSIListSnapshotsgRPC call if the driver supports it. If not specified, the creation time is unknown. Format is a Unix nanoseconds time encoded as an int64. On Unix, the commanddate +%s%Nreturns the current time in nanoseconds since 1970-01-01 00:00:00 UTC. -
objectstatus.errorLast observed error during snapshot creation, if any. Upon success after retry, the field is cleared.
-
stringstatus.error.messageDetails of the encountered error during snapshot creation if specified. Note: message may be logged, and should not contain sensitive information.
-
stringstatus.error.timeTimestamp when the error was encountered.
-
-
booleanstatus.readyToUseIndicates whether a snapshot is ready to be used to restore a volume. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
ready_to_usevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with theready_to_usevalue returned from the CSIListSnapshotsgRPC call if the driver supports it, otherwise set toTrue. If not specified, the readiness of a snapshot is unknown. -
integerstatus.restoreSizeComplete size of the snapshot in bytes. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
size_bytesvalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thesize_bytesvalue returned from the CSIListSnapshotsgRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than therestoreSizeif specified, otherwise the restoration will fail. If not specified, the size is unknown.Allowed values:
0 <= X -
stringstatus.snapshotHandleCSI
snapshot_idof a snapshot on the underlying storage system. If not specified, dynamic snapshot creation has either failed or is still in progress. -
stringstatus.volumeGroupSnapshotHandleCSI
group_snapshot_idof a group snapshot on the underlying storage system.
-
-
stringapiVersionAPI version of this object representation. Servers 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
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectspecProperties of VolumeSnapshotContent created by the underlying storage system.
-
stringspec.deletionPolicy
Required value
Controls deletion behavior of VolumeSnapshotContent and its physical snapshot when the bound VolumeSnapshot is deleted. Supported values:
Retain: VolumeSnapshotContent and its physical snapshot on the underlying storage system are preserved.Delete: VolumeSnapshotContent and its physical snapshot on the underlying storage system are removed. For dynamically provisioned snapshots, automatically filled by the CSI snapshotter sidecar with theDeletionPolicyfield defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users must specify when creating the VolumeSnapshotContent object.
Allowed values:
Delete,Retain -
stringspec.driver
Required value
CSI driver name used to create the physical snapshot on the underlying storage system. -
objectspec.source
Required value
Specifies whether the snapshot is (or should be) dynamically provisioned or already exists and requires a Kubernetes object representation. Immutable after creation.-
stringspec.source.snapshotHandleCSI
snapshot_idof a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. Immutable. -
stringspec.source.volumeHandleCSI
volume_idof the volume from which a snapshot should be dynamically taken. Immutable.
-
-
stringspec.volumeSnapshotClassNameVolumeSnapshotClass name from which this snapshot was (or will be) created. After provisioning, the VolumeSnapshotClass may be deleted or recreated with different values and should not be referenced post-snapshot creation.
-
objectspec.volumeSnapshotRefVolumeSnapshot object (hereinafter referred to as the referent) to which this VolumeSnapshotContent is bound.
VolumeSnapshot.Spec.VolumeSnapshotContentNamefield must reference this VolumeSnapshotContent name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object must be provided for binding. Immutable after creation.-
stringspec.volumeSnapshotRef.apiVersionAPI version of the referent.
-
stringspec.volumeSnapshotRef.fieldPathIf referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as
desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like:spec.containers{name}(wherenamerefers to the name of the container that triggered the event) or if no container name is specifiedspec.containers[2](container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. -
stringspec.volumeSnapshotRef.kindKind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
stringspec.volumeSnapshotRef.nameName of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-
stringspec.volumeSnapshotRef.namespaceNamespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
-
stringspec.volumeSnapshotRef.resourceVersionSpecific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
-
stringspec.volumeSnapshotRef.uidUID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
-
-
-
objectstatusCurrent information of a snapshot.
-
integerstatus.creationTimeTimestamp when the point-in-time snapshot is taken by the underlying storage system. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
creation_timevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thecreation_timevalue returned from the CSIListSnapshotsgRPC call if the driver supports it. If not specified, the creation time is unknown. Format is a Unix nanoseconds time encoded as an int64. On Unix, the commanddate +%s%Nreturns the current time in nanoseconds since 1970-01-01 00:00:00 UTC. -
objectstatus.errorLast observed error during snapshot creation, if any. Upon success after retry, the field is cleared.
-
stringstatus.error.messageDetails of the encountered error during snapshot creation if specified. Note: message may be logged, and should not contain sensitive information.
-
stringstatus.error.timeTimestamp when the error was encountered.
-
-
booleanstatus.readyToUseIndicates whether a snapshot is ready to be used to restore a volume. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
ready_to_usevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with theready_to_usevalue returned from the CSIListSnapshotsgRPC call if the driver supports it, otherwise set toTrue. If not specified, the readiness of a snapshot is unknown. -
integerstatus.restoreSizeComplete size of the snapshot in bytes. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
size_bytesvalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thesize_bytesvalue returned from the CSIListSnapshotsgRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than therestoreSizeif specified, otherwise the restoration will fail. If not specified, the size is unknown.Allowed values:
0 <= X -
stringstatus.snapshotHandleCSI
snapshot_idof a snapshot on the underlying storage system. If not specified, dynamic snapshot creation has either failed or is still in progress.
-
VolumeSnapshot
Short names: vs
Scope: Namespaced
-
stringapiVersionAPI version of this object representation. Servers 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
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectmetadata
-
objectspecDesired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
-
stringspec.modemode selects how this VolumeSnapshot obtains its content and is immutable once set. Capture (default): dynamic CSI snapshot from spec.source. Import: the data artifact is produced by a DataImport in the same namespace (reverse-lookup by DataImport.spec.snapshotRef); spec.source is omitted (required only when mode != Import) and the upstream snapshot-controller does not reconcile such a VolumeSnapshot - the state-snapshotter common controller binds it (sets status). Deckhouse extension: parity with spec.mode on every other state-snapshotter snapshot kind.
Default:
CaptureAllowed values:
Capture,Import -
objectspec.sourcesource specifies where a snapshot will be created from. Required unless mode is Import (an import VolumeSnapshot omits it - the data artifact comes from a DataImport; symmetry with the other snapshot kinds). May be empty: restore intent (backup controller sets volumeSnapshotContentName after restore). Otherwise exactly one of persistentVolumeClaimName or volumeSnapshotContentName must be set. Immutable after creation (except one-shot set of volumeSnapshotContentName from empty).
-
stringspec.source.persistentVolumeClaimNameName of the PersistentVolumeClaim object representing the volume from which a snapshot should be created. PVC must be in the same namespace as the VolumeSnapshot object. Specified if the snapshot does not exist and needs to be created. Immutable.
-
stringspec.source.volumeSnapshotContentNamevolumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. This field should be set if the snapshot already exists and only needs a representation in Kubernetes. For restore intent, backup controller may set this once from empty after successful restore (one-shot update).
-
-
stringspec.volumeSnapshotClassNameName of the VolumeSnapshotClass requested by the VolumeSnapshot. May be empty to use the default SnapshotClass. A cluster may have multiple default Volume SnapshotClasses: one per CSI Driver. If a SnapshotClass is not specified, VolumeSnapshotSource is checked to determine the associated CSI Driver, and the default VolumeSnapshotClass for that CSI Driver is used. If multiple VolumeSnapshotClasses exist for a CSI Driver and more than one is marked as default, CreateSnapshot fails and generates an event. Empty string is not allowed.
-
-
objectstatusCurrent information of a snapshot. Before using this object, verify that binding between VolumeSnapshot and VolumeSnapshotContent objects is successful by ensuring both objects point at each other.
-
stringstatus.boundSnapshotContentNameName of the cluster-scoped state-snapshotter SnapshotContent (state-snapshotter.deckhouse.io) that backs this VolumeSnapshot as a logical node in a snapshot tree. Written by the state-snapshotter common controller in addition to boundVolumeSnapshotContentName. Deckhouse extension.
-
stringstatus.boundVolumeSnapshotContentNameName of the VolumeSnapshotContent object to which this VolumeSnapshot object is bound. If not specified, the VolumeSnapshot object has not been successfully bound to a VolumeSnapshotContent object yet. Note: To prevent security issues, verify that binding between VolumeSnapshot and VolumeSnapshotContent objects is successful by ensuring both objects point at each other before using this object.
-
objectstatus.captureStatecaptureState collects the state-snapshotter capture signals mirrored onto this VolumeSnapshot when it is a domain snapshot node: commonController holds the core-written capture-leg latches, and domainSpecificController holds the domain-written planning refs and lifecycle. Written by the state-snapshotter controllers. Deckhouse extension.
-
objectstatus.captureState.commonControllercommonController holds the core-written capture-leg success latches. Single writer: state-snapshotter core.
-
booleanstatus.captureState.commonController.dataCaptureddataCaptured is the data-leg success latch, declared only where a data line exists.
-
booleanstatus.captureState.commonController.manifestCapturedmanifestCaptured is the manifest-leg success latch (declared on every capture node).
-
booleanstatus.captureState.commonController.subtreeManifestsPersistedsubtreeManifestsPersisted is a core-written mirror of the bound SnapshotContent’s recursive “this node and all descendants archived their manifests” latch. Monotonic (false -> true).
-
booleanstatus.captureState.commonController.subtreePlannedsubtreePlanned is a core-computed monotonic recursive latch: true once this node reached capture barrier 1 (domainSpecificController.phase >= Planned) and every direct child’s own subtreePlanned is true (the whole subtree finished planning). Domains only read it. Monotonic (false -> true).
-
-
objectstatus.captureState.domainSpecificControllerdomainSpecificController holds the domain-written planning refs and lifecycle. Single writer: domain (SDK).
-
array of objectsstatus.captureState.domainSpecificController.excludedRefsexcludedRefs are the domain’s direct exclusion vetoes at this node (the source objects it dropped via the exclude label while enumerating its children).
-
stringstatus.captureState.domainSpecificController.excludedRefs.apiVersion
-
stringstatus.captureState.domainSpecificController.excludedRefs.kind
-
stringstatus.captureState.domainSpecificController.excludedRefs.name
-
-
stringstatus.captureState.domainSpecificController.manifestCaptureRequestNamemanifestCaptureRequestName is the temporary MCR owned by the domain node while own-scope capture runs.
-
stringstatus.captureState.domainSpecificController.messagemessage is a human-readable detail for phase=Failed.
-
stringstatus.captureState.domainSpecificController.phasephase is the domain lifecycle barrier (Planning|Planned|Finished|Failed).
Allowed values:
Planning,Planned,Finished,Failed -
stringstatus.captureState.domainSpecificController.reasonreason is a short, machine-readable reason for phase=Failed (free-form domain string).
-
stringstatus.captureState.domainSpecificController.volumeCaptureRequestNamevolumeCaptureRequestName is the temporary VCR owned by a data-leaf domain node while the data leg runs.
-
-
-
array of objectsstatus.childrenSnapshotRefschildrenSnapshotRefs are the direct child snapshot edges when this VolumeSnapshot participates in a snapshot tree. A VolumeSnapshot is a data leaf, so this is normally empty; kept for uniformity across snapshot kinds. Deckhouse extension.
-
stringstatus.childrenSnapshotRefs.apiVersion
-
stringstatus.childrenSnapshotRefs.kind
-
stringstatus.childrenSnapshotRefs.name
-
-
array of objectsstatus.conditionsconditions report the state-snapshotter protocol readiness (conditions[Ready] is the single user-facing condition derived by the core), distinct from the CSI readyToUse binding signal. Written by the state-snapshotter core. Deckhouse extension.
-
stringstatus.conditions.lastTransitionTimelastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
-
stringstatus.conditions.messagemessage is a human readable message indicating details about the transition. This may be an empty string.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
Allowed values:
0 <= X -
stringstatus.conditions.reasonreason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusstatus of the condition, one of True, False, Unknown.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typetype of condition in CamelCase or in foo.example.com/CamelCase.
Maximum length:
316Pattern:
^([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])$
-
-
stringstatus.creationTimeTimestamp when the point-in-time snapshot is taken by the underlying storage system. For dynamic snapshot creation, filled by the snapshot controller with the
creation_timevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thecreation_timevalue returned from the CSIListSnapshotsgRPC call if the driver supports it. If not specified, the creation time of the snapshot is unknown. -
objectstatus.datadata is the self-contained data binding (sourceRef + artifactRef + volume metadata) mirrored from the backing state-snapshotter SnapshotContent.status.data, so d8 resolves the captured-volume descriptor from this namespaced VolumeSnapshot alone. Written by the state-snapshotter common controller. Deckhouse extension.
-
objectstatus.data.artifactRef
Required value
Durable data artifact (a VolumeSnapshotContent).-
stringstatus.data.artifactRef.apiVersion
Required value
-
stringstatus.data.artifactRef.kind
Required value
-
stringstatus.data.artifactRef.name
Required value
-
stringstatus.data.artifactRef.uid
-
-
stringstatus.data.fsTypeSource filesystem type (Filesystem volumes only).
-
stringstatus.data.sizeReal allocated size of the captured volume (e.g. “10Gi”).
-
objectstatus.data.sourceRef
Required value
Captured PersistentVolumeClaim source (uid is the volume identity).-
stringstatus.data.sourceRef.apiVersion
Required value
-
stringstatus.data.sourceRef.kind
Required value
-
stringstatus.data.sourceRef.name
Required value
-
stringstatus.data.sourceRef.namespace
-
stringstatus.data.sourceRef.uid
-
-
stringstatus.data.storageClassNameSource StorageClass of the captured volume.
-
stringstatus.data.volumeModeSource volume mode (Block or Filesystem).
Allowed values:
Block,Filesystem
-
-
objectstatus.errorLast observed error during snapshot creation, if any. Useful to upper level controllers (i.e., application controller) to decide whether to continue waiting for the snapshot to be created based on the error type. The snapshot controller keeps retrying when an error occurs during snapshot creation. Upon success, the field is cleared.
-
stringstatus.error.messageDetails of the encountered error during snapshot creation if specified. Note: message may be logged, and it should not contain sensitive information.
-
stringstatus.error.timeTimestamp when the error was encountered.
-
-
booleanstatus.readyToUseIndicates if the snapshot is ready to be used to restore a volume. For dynamic snapshot creation, filled by the snapshot controller with the
ready_to_usevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with theready_to_usevalue returned from the CSIListSnapshotsgRPC call if the driver supports it, otherwise set toTrue. If not specified, the readiness of a snapshot is unknown. -
stringstatus.restoreSizeMinimum size of volume required to create a volume from this snapshot. For dynamic snapshot creation, filled by the snapshot controller with the
size_bytesvalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thesize_bytesvalue returned from the CSIListSnapshotsgRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than therestoreSizeif specified, otherwise the restoration will fail. If not specified, the size is unknown.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ -
objectstatus.sourceRefsourceRef is the full reference to the captured live source object (the source PVC), written by the state-snapshotter domain controller (PublishSnapshotSource). Self-contained for import-mode recreation. Deckhouse extension.
-
stringstatus.sourceRef.apiVersion
Required value
-
stringstatus.sourceRef.kind
Required value
-
stringstatus.sourceRef.name
Required value
-
stringstatus.sourceRef.namespaceNamespace of the source object (namespaced sources only).
-
stringstatus.sourceRef.uidUID of the captured live source object (best-effort; used by d8-cli for import-mode recreation).
-
-
stringstatus.volumeGroupSnapshotNameName of the VolumeGroupSnapshot of which this VolumeSnapshot is a part.
-
-
stringapiVersionAPI version of this object representation. Servers 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
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectspecDesired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
-
objectspec.source
Required value
source specifies where a snapshot will be created from. May be empty for restore intent (backup controller sets volumeSnapshotContentName after restore). Otherwise exactly one of persistentVolumeClaimName or volumeSnapshotContentName must be set. Immutable after creation (except one-shot set of volumeSnapshotContentName from empty). Deprecated legacy version: carries NO Deckhouse fork fields (no spec.mode) and is never treated as a domain object; see the v1 schema.-
stringspec.source.persistentVolumeClaimNameName of the PersistentVolumeClaim object representing the volume from which a snapshot should be created. PVC must be in the same namespace as the VolumeSnapshot object. Specified if the snapshot does not exist and needs to be created. Immutable.
-
stringspec.source.volumeSnapshotContentNameName of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. Specified if the snapshot already exists and only needs a representation in Kubernetes. For restore intent, backup controller may set this once from empty after successful restore (one-shot update).
-
-
stringspec.volumeSnapshotClassNameName of the VolumeSnapshotClass requested by the VolumeSnapshot. May be empty to use the default SnapshotClass. A cluster may have multiple default Volume SnapshotClasses: one per CSI Driver. If a SnapshotClass is not specified, VolumeSnapshotSource is checked to determine the associated CSI Driver, and the default VolumeSnapshotClass for that CSI Driver is used. If multiple VolumeSnapshotClasses exist for a CSI Driver and more than one is marked as default, CreateSnapshot fails and generates an event. Empty string is not allowed.
-
-
objectstatusCurrent information of a snapshot. Before using this object, verify that binding between VolumeSnapshot and VolumeSnapshotContent objects is successful by ensuring both objects point at each other.
-
stringstatus.boundVolumeSnapshotContentNameName of the VolumeSnapshotContent object to which this VolumeSnapshot object is bound. If not specified, the VolumeSnapshot object has not been successfully bound to a VolumeSnapshotContent object yet. Note: To prevent security issues, verify that binding between VolumeSnapshot and VolumeSnapshotContent objects is successful by ensuring both objects point at each other before using this object.
-
stringstatus.creationTimeTimestamp when the point-in-time snapshot is taken by the underlying storage system. For dynamic snapshot creation, filled by the snapshot controller with the
creation_timevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thecreation_timevalue returned from the CSIListSnapshotsgRPC call if the driver supports it. If not specified, the creation time of the snapshot is unknown. -
objectstatus.errorLast observed error during snapshot creation, if any. Useful to upper level controllers (i.e., application controller) to decide whether to continue waiting for the snapshot to be created based on the error type. The snapshot controller keeps retrying when an error occurs during snapshot creation. Upon success, the field is cleared.
-
stringstatus.error.messageDetails of the encountered error during snapshot creation if specified. Note: message may be logged, and it should not contain sensitive information.
-
stringstatus.error.timeTimestamp when the error was encountered.
-
-
booleanstatus.readyToUseIndicates if the snapshot is ready to be used to restore a volume. For dynamic snapshot creation, filled by the snapshot controller with the
ready_to_usevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with theready_to_usevalue returned from the CSIListSnapshotsgRPC call if the driver supports it, otherwise set toTrue. If not specified, the readiness of a snapshot is unknown. -
stringstatus.restoreSizeMinimum size of volume required to create a volume from this snapshot. For dynamic snapshot creation, filled by the snapshot controller with the
size_bytesvalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thesize_bytesvalue returned from the CSIListSnapshotsgRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than therestoreSizeif specified, otherwise the restoration will fail. If not specified, the size is unknown.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ -
stringstatus.volumeGroupSnapshotNameName of the VolumeGroupSnapshot of which this VolumeSnapshot is a part.
-