MiroirSnapshot
miroir.home-operations.com / v1alpha1
apiVersion: miroir.home-operations.com/v1alpha1
kind: MiroirSnapshot
metadata:
name: example
apiVersion
string
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
kind
string
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
metadata
object
spec object required
MiroirSnapshotSpec is the desired state, created by the controller on
CSI CreateSnapshot.
volumeName
string required
VolumeName references the MiroirVolume this snapshot captures.
Immutable: the backend CoW snapshots were cut on the source volume's
replicas, so retargeting the reference would point restores and
per-node teardown at a volume that never held them.
status object
MiroirSnapshotStatus is the observed state aggregated from node agents.
The snapshot exists as a backend CoW snapshot on every replica of the
source volume.
conditions []object
Conditions follow the standard Kubernetes condition conventions.
lastTransitionTime
string required
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.
format:
date-time
message
string required
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength:
32768
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.
format:
int64minimum:
0
reason
string required
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.
pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$minLength:
1maxLength:
1024
status
string required
status of the condition, one of True, False, Unknown.
enum:
True, False, Unknown
type
string required
type of condition in CamelCase or in foo.example.com/CamelCase.
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])$maxLength:
316
ioSuspended
boolean
IOSuspended is the replicated-snapshot write barrier: set by the
coordinator after suspend-io, cleared on resume. Peers snapshot
only while it holds.
perNode
object
PerNode maps node name to that agent's snapshot progress.
readyToUse
boolean
ReadyToUse is true once every replica holds the snapshot.
sizeBytes
integer
SizeBytes is the virtual size of the snapshotted volume, used by
the CSI layer to size restored volumes.
format:
int64
sourceFormatted
boolean
SourceFormatted records the source volume's Formatted flag when
the snapshot is cut. Restored volumes inherit it so their first
stage never reformats a clone that should carry a filesystem.
suspendedAt
string
SuspendedAt bounds the barrier: the coordinator resumes IO at the
deadline even if a peer never snapshots.
format:
date-timeNo matches. Try .spec.volumeName for an exact path