Skip to content

Commit

Permalink
docs: add docs for VGR and VGRContent
Browse files Browse the repository at this point in the history
add docs VolumeGroupReplication and VolumeGroupReplicationContent

Signed-off-by: Nikhil-Ladha <[email protected]>
  • Loading branch information
Nikhil-Ladha committed Jan 16, 2025
1 parent 4384b85 commit 548fff2
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 1 deletion.
60 changes: 60 additions & 0 deletions docs/volumegroupreplication.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# VolumeGroupReplication

VolumeGroupReplication is a namespaced resource that contains references to storage object to be grouped and replicated, VolumeGroupReplicationClass corresponding to the driver providing replication, VolumeGroupReplicationContent and VolumeReplication CRs.

`volumeGroupReplicationClassName` is the name of the class providing group replication.

`volumeReplicationClassName` is the name of the class providing the replication for volumeReplication CR.

`volumeReplicationName` is the name of the volumeReplication CR created by this volumeGroupReplication CR.

`volumeGroupReplicationContentName` is the name of the volumeGroupReplicationContent CR created for this volumeGroupReplication CR.

`replicationState` is the state of the volume group being referenced. Possible values are `primary`, `secondary` and `resync`.

- `primary` denotes that the volume group is primary
- `secondary` denotes that the volume group is secondary
- `resync` denotes that the volume group needs to be resynced

`source` contains the source of the volumeGroupReplication i.e, the selectors to match the PVC/PVs to be replicated.

- `selector` is a label selector to filter the pvcs that are to be included in the group replication

```yaml
apiVersion: replication.storage.openshift.io/v1alpha1
kind: VolumeGroupReplication
metadata:
name: volumegroupreplication-sample
namespace: default
spec:
volumeReplicationClassName: volumereplicationclass-sample
volumeGroupReplicationClassName: volumegroupreplicationclass-sample
replicationState: primary
source:
selector:
matchLabels:
group: replication
autoResync: false
status:
persistentVolumeClaimsRefList:
- test-pvc
state: primary
```
Example PVC having matching labels:
```yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pvc
labels:
appname: test
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: rook-ceph-block
```
33 changes: 33 additions & 0 deletions docs/volumegroupreplicationcontent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# VolumeGroupReplicationContent

VolumeGroupReplicationContent is a cluster scoped resource that contains volume grouping related information.

`volumeGroupReplicationRef` contains object reference of the volumeGroupReplication resource that created this resource.

`volumeGroupReplicationHandle` (optional) is an existing (but new) group replication ID.

`volumeGroupReplicationClassName` is the name of the VolumeGroupReplicationClass that contains the driver related info
for volume grouping.

`source` (optional) contains the VolumeGroupReplicationContentSource struct.

- `VolumeHandles` is the list of volume handles that this resource is responsible for grouping.

```yaml
apiVersion: replication.storage.openshift.io/v1alpha1
kind: VolumeGroupReplicationContent
metadata:
name: volumegroupreplicationcontent-sample
spec:
volumeGroupReplicationRef:
kind: VolumeGroupReplication
name: volumegroupreplication-sample
namespace: default
volumeGroupReplicationClassName: volumegroupreplicationclass-sample
provisioner: example.provisioner.io
source:
volumeHandles:
- myPersistentVolumeHandle
- myPersistentVolumeHandle1
- myPersistentVolumeHandle2
```
2 changes: 1 addition & 1 deletion docs/volumereplicationclass.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# VolumeReplicationClass

`VolumeReplicationClass` is a cluster scoped resource that contains driver related configuration parameters.
VolumeReplicationClass is a cluster scoped resource that contains driver related configuration parameters.

`provisioner` is name of the storage provisioner.

Expand Down

0 comments on commit 548fff2

Please sign in to comment.