MiroirSnapshotGroup
miroir.home-operations.com / v1alpha1
apiVersion: miroir.home-operations.com/v1alpha1
kind: MiroirSnapshotGroup
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
MiroirSnapshotGroupSpec is the desired state, created by the controller
on CSI CreateVolumeGroupSnapshot.
snapshotNames
[]string required
SnapshotNames lists the member MiroirSnapshots (one per source
volume, each carrying this group's name in spec.group). Immutable:
the group barrier is cut atomically over exactly this member set,
so growing or shrinking it after the fact would misrepresent what
the cut covered.
minItems:
1status object
MiroirSnapshotGroupStatus is the shared state of the group's write
barrier round. One MiroirSnapshotGroup is one round spanning every
diskful leg of every member volume — the multi-volume generalization
of the MiroirSnapshot per-node round, kept on a single object so that
sealing and voiding the round serialize on one resourceVersion.
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 group-wide write barrier: set by the round
driver after suspending its local member legs, cleared on resume.
Legs are cut only while it holds and every slot reports Suspended.
perLeg
object
PerLeg maps "<volume>/<node>" to that leg's progress through the
group barrier round.
readyToUse
boolean
ReadyToUse is true once every diskful leg of every member volume
holds its snapshot, all cut inside one shared write barrier.
suspendedAt
string
SuspendedAt bounds the barrier: the driver voids the round at the
deadline even if a leg never cuts, so a stuck member cannot freeze
every volume in the group forever.
format:
date-timeNo matches. Try .spec.snapshotNames for an exact path