The module lifecycle stageDeprecated

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

VolumeSnapshotClass defines parameters for volume snapshot creation used by the underlying storage system. To use, reference by name in a VolumeSnapshot object. Non-namespaced resource.
  • apiVersion
    string
    API 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
  • deletionPolicy
    string

    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

  • driver
    string
    Name of the storage driver that handles this VolumeSnapshotClass.
  • kind
    string
    Kind 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
  • metadata
    object
  • parameters
    object
    Key-value map of driver-specific parameters used when creating snapshots. Parameters are not interpreted by Kubernetes.
VolumeSnapshotClass defines parameters for volume snapshot creation used by the underlying storage system. To use, reference by name in a VolumeSnapshot object. Non-namespaced resource.
  • apiVersion
    string
    API 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
  • deletionPolicy
    string

    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

  • driver
    string
    Name of the storage driver that handles this VolumeSnapshotClass.
  • kind
    string
    Kind 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
  • parameters
    object
    Key-value map of driver-specific parameters used when creating snapshots. Parameters are not interpreted by Kubernetes.

VolumeSnapshotContent

Short names: vsc, vscs

Scope: Cluster

VolumeSnapshotContent represents the actual “on-disk” snapshot object in the underlying storage system.
  • apiVersion
    string
    API 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
  • kind
    string
    Kind 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
  • metadata
    object
  • spec
    object
    Properties of VolumeSnapshotContent created by the underlying storage system.
    • spec.deletionPolicy
      string

      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 DeletionPolicy field defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users must specify when creating the VolumeSnapshotContent object.

      Allowed values: Delete, Retain

    • spec.driver
      string

      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.
    • spec.source
      object

      Required value

      Specifies whether the snapshot is (or should be) dynamically provisioned or already exists and requires a Kubernetes object representation. Immutable after creation.
      • spec.source.snapshotHandle
        string
        CSI snapshot_id of a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. Immutable.
      • spec.source.volumeHandle
        string
        CSI volume_id of the volume from which a snapshot should be dynamically taken. Immutable.
    • spec.sourceVolumeMode
      string
      Mode of the volume whose snapshot is taken. Can be either Filesystem or Block. If not specified, the source volume’s mode is unknown. Immutable.
    • spec.volumeSnapshotClassName
      string
      VolumeSnapshotClass 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.
    • spec.volumeSnapshotRef
      object
      VolumeSnapshot object (hereinafter referred to as the referent) to which this VolumeSnapshotContent is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName field 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.
  • status
    object
    Current information of a snapshot.
    • status.creationTime
      integer
      Timestamp 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_time value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the creation_time value returned from the CSI ListSnapshots gRPC 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 command date +%s%N returns the current time in nanoseconds since 1970-01-01 00:00:00 UTC.
    • status.error
      object
      Last observed error during snapshot creation, if any. Upon success after retry, the field is cleared.
      • status.error.message
        string
        Details of the encountered error during snapshot creation if specified. Note: message may be logged, and should not contain sensitive information.
      • status.error.time
        string
        Timestamp when the error was encountered.
    • status.readyToUse
      boolean
      Indicates 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_use value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the ready_to_use value returned from the CSI ListSnapshots gRPC call if the driver supports it, otherwise set to True. If not specified, the readiness of a snapshot is unknown.
    • status.restoreSize
      integer
      Complete size of the snapshot in bytes. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the size_bytes value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the size_bytes value returned from the CSI ListSnapshots gRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than the restoreSize if specified, otherwise the restoration will fail. If not specified, the size is unknown.

      Allowed values: 0 <= X

    • status.snapshotHandle
      string
      CSI snapshot_id of a snapshot on the underlying storage system. If not specified, dynamic snapshot creation has either failed or is still in progress.
    • status.volumeGroupSnapshotHandle
      string
      CSI group_snapshot_id of a group snapshot on the underlying storage system.
VolumeSnapshotContent represents the actual “on-disk” snapshot object in the underlying storage system.
  • apiVersion
    string
    API 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
  • kind
    string
    Kind 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
  • spec
    object
    Properties of VolumeSnapshotContent created by the underlying storage system.
    • spec.deletionPolicy
      string

      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 DeletionPolicy field defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users must specify when creating the VolumeSnapshotContent object.

      Allowed values: Delete, Retain

    • spec.driver
      string

      Required value

      CSI driver name used to create the physical snapshot on the underlying storage system.
    • spec.source
      object

      Required value

      Specifies whether the snapshot is (or should be) dynamically provisioned or already exists and requires a Kubernetes object representation. Immutable after creation.
      • spec.source.snapshotHandle
        string
        CSI snapshot_id of a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. Immutable.
      • spec.source.volumeHandle
        string
        CSI volume_id of the volume from which a snapshot should be dynamically taken. Immutable.
    • spec.volumeSnapshotClassName
      string
      VolumeSnapshotClass 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.
    • spec.volumeSnapshotRef
      object
      VolumeSnapshot object (hereinafter referred to as the referent) to which this VolumeSnapshotContent is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName field 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.
  • status
    object
    Current information of a snapshot.
    • status.creationTime
      integer
      Timestamp 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_time value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the creation_time value returned from the CSI ListSnapshots gRPC 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 command date +%s%N returns the current time in nanoseconds since 1970-01-01 00:00:00 UTC.
    • status.error
      object
      Last observed error during snapshot creation, if any. Upon success after retry, the field is cleared.
      • status.error.message
        string
        Details of the encountered error during snapshot creation if specified. Note: message may be logged, and should not contain sensitive information.
      • status.error.time
        string
        Timestamp when the error was encountered.
    • status.readyToUse
      boolean
      Indicates 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_use value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the ready_to_use value returned from the CSI ListSnapshots gRPC call if the driver supports it, otherwise set to True. If not specified, the readiness of a snapshot is unknown.
    • status.restoreSize
      integer
      Complete size of the snapshot in bytes. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the size_bytes value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the size_bytes value returned from the CSI ListSnapshots gRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than the restoreSize if specified, otherwise the restoration will fail. If not specified, the size is unknown.

      Allowed values: 0 <= X

    • status.snapshotHandle
      string
      CSI snapshot_id of 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

VolumeSnapshot is a user’s request for either creating a point-in-time snapshot of a persistent volume, or binding to a pre-existing snapshot.
  • apiVersion
    string
    API 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
  • kind
    string
    Kind 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
  • metadata
    object
  • spec
    object
    Desired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
    • spec.mode
      string
      mode 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: Capture

      Allowed values: Capture, Import

    • spec.source
      object
      source 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).
      • spec.source.persistentVolumeClaimName
        string
        Name 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.
      • spec.source.volumeSnapshotContentName
        string
        volumeSnapshotContentName 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).
    • spec.volumeSnapshotClassName
      string
      Name 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.
  • status
    object
    Current 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.
    • status.boundSnapshotContentName
      string
      Name 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.
    • status.boundVolumeSnapshotContentName
      string
      Name 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.
    • status.captureState
      object
      captureState 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.
      • status.captureState.commonController
        object
        commonController holds the core-written capture-leg success latches. Single writer: state-snapshotter core.
        • status.captureState.commonController.dataCaptured
          boolean
          dataCaptured is the data-leg success latch, declared only where a data line exists.
        • status.captureState.commonController.manifestCaptured
          boolean
          manifestCaptured is the manifest-leg success latch (declared on every capture node).
        • status.captureState.commonController.subtreeManifestsPersisted
          boolean
          subtreeManifestsPersisted is a core-written mirror of the bound SnapshotContent’s recursive “this node and all descendants archived their manifests” latch. Monotonic (false -> true).
        • status.captureState.commonController.subtreePlanned
          boolean
          subtreePlanned 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).
      • status.captureState.domainSpecificController
        object
        domainSpecificController holds the domain-written planning refs and lifecycle. Single writer: domain (SDK).
        • status.captureState.domainSpecificController.excludedRefs
          array of objects
          excludedRefs are the domain’s direct exclusion vetoes at this node (the source objects it dropped via the exclude label while enumerating its children).
          • status.captureState.domainSpecificController.excludedRefs.apiVersion
            string
          • status.captureState.domainSpecificController.excludedRefs.kind
            string
          • status.captureState.domainSpecificController.excludedRefs.name
            string
        • status.captureState.domainSpecificController.manifestCaptureRequestName
          string
          manifestCaptureRequestName is the temporary MCR owned by the domain node while own-scope capture runs.
        • status.captureState.domainSpecificController.message
          string
          message is a human-readable detail for phase=Failed.
        • status.captureState.domainSpecificController.phase
          string
          phase is the domain lifecycle barrier (Planning|Planned|Finished|Failed).

          Allowed values: Planning, Planned, Finished, Failed

        • status.captureState.domainSpecificController.reason
          string
          reason is a short, machine-readable reason for phase=Failed (free-form domain string).
        • status.captureState.domainSpecificController.volumeCaptureRequestName
          string
          volumeCaptureRequestName is the temporary VCR owned by a data-leaf domain node while the data leg runs.
    • status.childrenSnapshotRefs
      array of objects
      childrenSnapshotRefs 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.
      • status.childrenSnapshotRefs.apiVersion
        string
      • status.childrenSnapshotRefs.kind
        string
      • status.childrenSnapshotRefs.name
        string
    • status.conditions
      array of objects
      conditions 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.
      • status.conditions.lastTransitionTime
        string
        lastTransitionTime 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.
      • status.conditions.message
        string
        message is a human readable message indicating details about the transition. This may be an empty string.

        Maximum length: 32768

      • status.conditions.observedGeneration
        integer
        observedGeneration 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

      • status.conditions.reason
        string
        reason 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..1024

        Pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$

      • status.conditions.status
        string
        status of the condition, one of True, False, Unknown.

        Allowed values: True, False, Unknown

      • status.conditions.type
        string
        type of condition in CamelCase or in foo.example.com/CamelCase.

        Maximum length: 316

        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])$

    • status.creationTime
      string
      Timestamp 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_time value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the creation_time value returned from the CSI ListSnapshots gRPC call if the driver supports it. If not specified, the creation time of the snapshot is unknown.
    • status.data
      object
      data 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.
      • status.data.artifactRef
        object

        Required value

        Durable data artifact (a VolumeSnapshotContent).
        • status.data.artifactRef.apiVersion
          string

          Required value

        • status.data.artifactRef.kind
          string

          Required value

        • status.data.artifactRef.name
          string

          Required value

        • status.data.artifactRef.uid
          string
      • status.data.fsType
        string
        Source filesystem type (Filesystem volumes only).
      • status.data.size
        string
        Real allocated size of the captured volume (e.g. “10Gi”).
      • status.data.sourceRef
        object

        Required value

        Captured PersistentVolumeClaim source (uid is the volume identity).
        • status.data.sourceRef.apiVersion
          string

          Required value

        • status.data.sourceRef.kind
          string

          Required value

        • status.data.sourceRef.name
          string

          Required value

        • status.data.sourceRef.namespace
          string
        • status.data.sourceRef.uid
          string
      • status.data.storageClassName
        string
        Source StorageClass of the captured volume.
      • status.data.volumeMode
        string
        Source volume mode (Block or Filesystem).

        Allowed values: Block, Filesystem

    • status.error
      object
      Last 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.
      • status.error.message
        string
        Details of the encountered error during snapshot creation if specified. Note: message may be logged, and it should not contain sensitive information.
      • status.error.time
        string
        Timestamp when the error was encountered.
    • status.readyToUse
      boolean
      Indicates 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_use value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the ready_to_use value returned from the CSI ListSnapshots gRPC call if the driver supports it, otherwise set to True. If not specified, the readiness of a snapshot is unknown.
    • status.restoreSize
      string
      Minimum size of volume required to create a volume from this snapshot. For dynamic snapshot creation, filled by the snapshot controller with the size_bytes value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the size_bytes value returned from the CSI ListSnapshots gRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than the restoreSize if 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]+))))?$

    • status.sourceRef
      object
      sourceRef 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.
      • status.sourceRef.apiVersion
        string

        Required value

      • status.sourceRef.kind
        string

        Required value

      • status.sourceRef.name
        string

        Required value

      • status.sourceRef.namespace
        string
        Namespace of the source object (namespaced sources only).
      • status.sourceRef.uid
        string
        UID of the captured live source object (best-effort; used by d8-cli for import-mode recreation).
    • status.volumeGroupSnapshotName
      string
      Name of the VolumeGroupSnapshot of which this VolumeSnapshot is a part.
VolumeSnapshot is a user’s request for either creating a point-in-time snapshot of a persistent volume, or binding to a pre-existing snapshot.
  • apiVersion
    string
    API 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
  • kind
    string
    Kind 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
  • spec
    object
    Desired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
    • spec.source
      object

      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.
      • spec.source.persistentVolumeClaimName
        string
        Name 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.
      • spec.source.volumeSnapshotContentName
        string
        Name 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).
    • spec.volumeSnapshotClassName
      string
      Name 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.
  • status
    object
    Current 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.
    • status.boundVolumeSnapshotContentName
      string
      Name 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.
    • status.creationTime
      string
      Timestamp 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_time value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the creation_time value returned from the CSI ListSnapshots gRPC call if the driver supports it. If not specified, the creation time of the snapshot is unknown.
    • status.error
      object
      Last 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.
      • status.error.message
        string
        Details of the encountered error during snapshot creation if specified. Note: message may be logged, and it should not contain sensitive information.
      • status.error.time
        string
        Timestamp when the error was encountered.
    • status.readyToUse
      boolean
      Indicates 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_use value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the ready_to_use value returned from the CSI ListSnapshots gRPC call if the driver supports it, otherwise set to True. If not specified, the readiness of a snapshot is unknown.
    • status.restoreSize
      string
      Minimum size of volume required to create a volume from this snapshot. For dynamic snapshot creation, filled by the snapshot controller with the size_bytes value returned from CSI CreateSnapshot gRPC call. For a pre-existing snapshot, filled with the size_bytes value returned from the CSI ListSnapshots gRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than the restoreSize if 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]+))))?$

    • status.volumeGroupSnapshotName
      string
      Name of the VolumeGroupSnapshot of which this VolumeSnapshot is a part.