diff --git a/docs/volumegroupreplication.md b/docs/volumegroupreplication.md new file mode 100644 index 000000000..81fc39f27 --- /dev/null +++ b/docs/volumegroupreplication.md @@ -0,0 +1,38 @@ +# VolumeGroupReplication + +VolumeGroupReplication is a namespaced resource that contains references to storage object to be grouped and replicated, VolumeGroupReplicationClass corresponding to the driver providing replication, VolumeGroupContent 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 volumeGroupReplicationConten CR created by this volumeGroupReplication CR. + +`replicationState` is the state of the volume being referenced. Possible values are `primary`, `secondary` and `resync`. + ++ `primary` denotes that the volume is primary ++ `secondary` denotes that the volume is secondary ++ `resync` denotes that the volume 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 +``` diff --git a/docs/volumegroupreplicationclass.md b/docs/volumegroupreplicationclass.md new file mode 100644 index 000000000..4d5f26901 --- /dev/null +++ b/docs/volumegroupreplicationclass.md @@ -0,0 +1,24 @@ +# VolumeGroupReplicationClass + +`VolumeGroupReplicationClass` is a cluster scoped resource that contains driver related configuration parameters for volume group replication. + +`provisioner` is name of the storage provisioner. + +`parameters` contains key-value pairs that are passed down to the driver. Users can add their own key-value pairs. Keys with `replication.storage.openshift.io/` prefix are reserved by operator and not passed down to the driver. + +## Reserved parameter keys + ++ `replication.storage.openshift.io/group-replication-secret-name` ++ `replication.storage.openshift.io/group-replication-secret-namespace` + +``` yaml +apiVersion: replication.storage.openshift.io/v1alpha1 +kind: VolumeGroupReplicationClass +metadata: + name: volumegroupreplicationclass-sample +spec: + provisioner: example.provisioner.io + parameters: + replication.storage.openshift.io/group-replication-secret-name: secret-name + replication.storage.openshift.io/group-replication-secret-namespace: secret-namespace +```