Skip to main content
Version: 3.6

ReverseProtectionGroup CRD reference

The ReverseProtectionGroup CRD represents the reverse direction configuration for a ProtectionGroup, allowing users to override settings for the reverse DR direction (secondary to primary). This CRD has a 1:1 mapping with ProtectionGroup and is managed by the ProtectionGroup controller.

Example

apiVersion: multicluster.portworx.com/v1alpha1
kind: ReverseProtectionGroup
metadata:
name: <name> # Name of the ReverseProtectionGroup
namespace: <namespace> # Namespace for the ReverseProtectionGroup
spec: {} # No required fields under spec

ReverseProtectionGroup

FieldDescriptionType
apiVersionAPIVersion 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
string
kindKind 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
string
specReverseProtectionGroupSpec defines the configuration for reverse direction disaster recovery.
This contains the settings needed to protect data in the opposite direction (from secondary back to primary).
This type is shared between the ProtectionGroup subresource and the standalone ReverseProtectionGroup CRD.
object
statusReverseProtectionGroupStatus defines the observed state of ReverseProtectionGroup.object

spec fields

FieldDescriptionType
advanceConfigurationAdvanceConfiguration provides fine-grained migration control options for reverse direction.
If not specified, the AdvanceConfiguration from the main ProtectionGroup is used.
object
advanceConfiguration.applicationLifecycleHooksApplicationLifecycleHooks defines the hooks that should be executed before and after application migration.object
advanceConfiguration.applicationLifecycleHooks.postMigrationHookPostMigrationHook is the list of hooks that should be executed after application migration completes.object
advanceConfiguration.applicationLifecycleHooks.preMigrationHookPreMigrationHook is the list of hooks that should be executed before application migration starts.object
advanceConfiguration.ignoreDeletedNamespacesAtSourceSkipDeletedNamespaces determines whether namespaces that have been deleted should be skipped during migration.boolean
advanceConfiguration.ignoreOwnerReferencesValidationIgnoreOwnerReferencesValidation specifies whether the migration should ignore checks related to owner references.boolean
advanceConfiguration.purgeDeletedResourcesAtSourcePurgeDeletedResources specifies whether deleted resources (that existed before but no longer exist) should be removed from destination cluster.boolean
advanceConfiguration.resourceTransformationsResourceTransformations is a list of transformation specifications that should be applied to Kubernetes resources before they are migrated.array
advanceConfiguration.skipServiceUpdateSkipServiceUpdate determines whether service updates should be skipped during migration.boolean
namespaceSelectionNamespaceSelection controls which namespaces are in the reverse protection group.
If not specified, the NamespaceSelection from the main ProtectionGroup is used.
object
namespaceSelection.namespaceSelectorsNamespaceSelectors selects namespaces by label.array
namespaceSelection.namespaceSelectors.labelKey is the label key to match.string
namespaceSelection.namespaceSelectors.operatorOperator is the label operator to use.string
namespaceSelection.namespaceSelectors.valueValue is the label value to match.string
namespaceSelection.namespacesNamespaces is the explicit list of namespaces that are part of thisarray
replicationSchedulePolicyReplicationSchedulePolicy defines the replication schedule for the reverse direction.
If not specified, the ReplicationSchedulePolicy from the main ProtectionGroup is used.
object
replicationSchedulePolicy.intervalInterval policy that will be triggered at the specified intervalobject
replicationSchedulePolicy.interval.intervalMinutesIntervalMinutes specifies the interval in minutes between triggers.integer
replicationSchedulePolicy.interval.retainRetain specifies the number of backups to retain.integer
replicationSchedulePolicy.suspendSuspend indicates whether the migrations for the protection group are to be suspended.boolean
resourceConfigurationResourceConfiguration for the reverse direction.
If not specified, the ResourceConfiguration from the main ProtectionGroup is used.
object
resourceConfiguration.customSelectionResourceSelector controls which resources and volumes within the selected namespaces are protected.object
resourceConfiguration.customSelection.excludeLabelSelectorsExcludeFilters is a set of label-based selectors used to filter the objects that should be excluded from the migration.array
resourceConfiguration.customSelection.excludeLabelSelectors.labelKey is the label key to match.string
resourceConfiguration.customSelection.excludeLabelSelectors.operatorOperator is the label operator to use.string
resourceConfiguration.customSelection.excludeLabelSelectors.valueValue is the label value to match.string
resourceConfiguration.customSelection.includeApplicationVolumesIncludeApplicationVolumes specifies whether application volumes (PVCs) should be included in the protection group.boolean
resourceConfiguration.customSelection.includeCIDRBasedNetworkPoliciesIncludeCIDRBasedNetworkPolicies specifies whether network policies with CIDR-based rules should be included in the migration.boolean
resourceConfiguration.customSelection.includeLabelSelectorsIncludeLabelSelectors is a set of label-based selectors used to filter the objects that should be included in the migration.array
resourceConfiguration.customSelection.includeLabelSelectors.labelKey is the label key to match.string
resourceConfiguration.customSelection.includeLabelSelectors.operatorOperator is the label operator to use.string
resourceConfiguration.customSelection.includeLabelSelectors.valueValue is the label value to match.string
resourceConfiguration.customSelection.resourceTypeSelectorResourceTypeSelector controls which resource kinds are included or excluded from protection.object
resourceConfiguration.customSelection.resourceTypeSelector.excludeExclude is a list of resource types that should be excluded from the migration.array
resourceConfiguration.customSelection.resourceTypeSelector.includeInclude is a list of optional Kubernetes resource types that should be included in the migration.array
resourceConfiguration.customSelection.startApplicationsAfterFailoverStartApplicationsAfterFailover determines whether migrated applications should be started after failover.boolean
resourceConfiguration.includeAllResourcesIncludeAllResources specifies whether all resources in the selected namespaces should be included in the protection group.boolean

status fields

FieldDescriptionType
phasePhase represents the current phase of the reverse protection group.string
In this topic: