Custom Resource Definition - Application

API reference for Trilio Application

Packages

triliovault.trilio.io/v1

Custom Resource Definition Resources

The main CRDs provided by TrilioVault for Kubernetes.

Backup

Backup represents the capture of Kubernetes BackupPlan defined by user at a point in time

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

Backup

BackupPlan

BackupPlan is the Schema for the BackupPlan API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

BackupPlan

required

ClusterBackup

ClusterBackup is the Schema for the ClusterBackup API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

ClusterBackup

ClusterBackupPlan

ClusterBackupPlan is the Schema for the ClusterBackupPlan API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

ClusterBackupPlan

ClusterRestore

ClusterRestore defines the desired state of ClusterRestore

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

ClusterRestore

ClusterSnapshot

ClusterSnapshot is the Schema for the clustersnapshots API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

ClusterSnapshot

ConsistentSet

ConsistentSet is the Schema for the ConsistentSet API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

ConsistentSet

required

ContinuousRestorePlan

ContinuousRestorePlan is the Schema for the ContinuousRestorePlan API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

ContinuousRestorePlan

FileRecoveryVM

FileRecoveryVM is the Schema for the hooks API.

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

FileRecoveryVM

Hook

Hook is the Schema for the hooks API.

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

Hook

status HookStatus

License

License is the Schema for the licenses API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

License

Policy

Policy is the Schema for the policies API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

Policy

required

Restore

Restore is the Schema for the restores API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

Restore

Snapshot

Snapshot is the Schema for the snapshots API

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

Snapshot

Target

Target is a location where TrilioVault stores backup.

Field
Description
Default
Validation

apiVersion string

triliovault.trilio.io/v1

kind string

Target

Supporting Resources

Supporting types and specifications used by the main CRDs.

ActionFlags

Appears in:

Field
Description
Default
Validation

cleanupOnFailure boolean

CleanupOnFailure is flag to perform cleanup after restore fails. Defaults to false

optional

protectRestoredApp boolean

ProtectRestoredApp decides if TVK will setup a backupPlan to protect the restored application.

optional

imageRestore boolean

ImageRestore is flag to perform the container image restore

optional

ApplicationSnapshot

ApplicationSnapshot defines the snapshot contents of an Application Backup.

Appears in:

Field
Description
Default
Validation

helmCharts Helm array

HelmCharts specifies the snapshot of application defined by Helm Charts.

optional

operators Operator array

Operators specifies the snapshot of application defined by Operators.

optional

custom Custom

Custom specifies the snapshot of Custom defined applications.

optional

image Image

Image specifies the snapshot of the all application's container images.

optional

ApplicationType

Underlying type: string

ApplicationType specifies type of a Backup of an application

Validation:

  • Enum: [Helm Operator Custom Namespace MultiNamespace]

Appears in:

Field
Description

Helm

HelmType means the backup consists helm based backups

Operator

OperatorType means the backup consists operator based backups

Custom

CustomType means the backup consists custom label based backups

Namespace

TODO: To remove Namespace Application Type as it's a duplicate of Backup scope in status. NamespaceType means the backup consists namespaced backups

MultiNamespace

MultiNSType means the backup is clusterbackup, currently it is only used for showing type column in backup listing

BackupComponent

BackupComponent defines the namespace and their configurations for backup

Appears in:

Field
Description
Default
Validation

namespace string

required

hookConfig HookConfig

hookConfig defines backup pre/post hooks and their configurations.

optional

includeResources ResourceSelector

IncludeResources specifies the resources included during backup

optional

excludeResources ResourceSelector

ExcludedResources specifies the resources excluded during backup

optional

retainHelmApps boolean

RetainHelmApps is a bool value that states that backup the helm application using helm way while taking namespace backup.

optional

BackupCondition

BackupCondition specifies the current condition of a backup resource.

Appears in:

Field
Description
Default
Validation

status Status

Status is the status of the condition.

Enum: [InProgress Error Completed Failed Skipped Canceled] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why the component is in this condition.

optional

Phase defines the current phase of the controller.

Enum: [PreBackupValidation Unquiesce Quiesce MetaSnapshot DataSnapshot DataUpload Snapshot MetadataUpload Retention Upload ImageBackup HookTargetIdentification Cleanup Cancel] optional

BackupConfig

BackupConfig defines the required configuration for taking the backup such as target and retention policy. NOTE: ClusterBackupConfig field in clusterbackupplan_types.go is similar to this structure. Changes made here might be required to be reflected there as well.

Appears in:

Field
Description
Default
Validation

Target is the object reference for the backup target resources

required

retentionPolicy ObjectReference

RetentionPolicy is the object reference for the policy of type retention defined

optional

schedulePolicy BackupSchedulePolicy

SchedulePolicy includes the object references of 2 type of cron schedule policy: incremental and full

optional

maxIncrBackupsPerFullBackup integer

MaxIncrBackupsPerFullBackup is the number of incremental backups after which full backup will ge triggered. This is relevant only in case of immutable backups

Maximum: 15 Minimum: 1 optional

BackupInfo

BackupInfo contains the relevant information to uniquely identify a child Backup created from a ClusterBackup

Appears in:

Field
Description
Default
Validation

Backup ObjectReference of child Backup

optional

status Status

Status status of child Backup

optional

percentageCompletion integer

PercentageCompletion is the amount of backup operation completed.

Maximum: 100 Minimum: 0 optional

location string

Location is the Backup's location on the target

optional

Type is the type of backup. It can be Full, Incremental, or Mixed.

Enum: [Incremental Full Mixed] optional

BackupPlanComponents

BackupPlanComponents contains the 3 types of components, helm charts, operators and custom label-based resources

Appears in:

Field
Description
Default
Validation

helmReleases string array

HelmReleases is the list of release names

MinItems: 1 optional

operators OperatorSelector array

Operators is the list of operator names and their selectors

MinItems: 1 optional

customSelector CustomSelector

CustomSelector specify resource selection for custom resources, This is the combination of LabelSelector including match labels and match expressions and GVKSelector which could be GroupVersionKind & Objects

optional

BackupPlanCondition

BackupPlanCondition specifies the current condition of a backupPlan resource.

Appears in:

Field
Description
Default
Validation

status Status

Status is the status of the condition.

Enum: [InProgress Completed Failed] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why the component is in this condition.

optional

Phase defines the current phase of the controller.

Enum: [Sync] optional

BackupPlanFlags

Appears in:

Field
Description
Default
Validation

skipImageBackup boolean

SkipImageBackup is flag to skip the container images backup

optional

pauseSchedule boolean

PauseSchedule is flag to pause all the schedule backups or snapshot for a backupplan/clusterbackupplan.

optional

retainHelmApps boolean

RetainHelmApps is a bool value that states that backup the helm application using helm way while taking namespace backup.

optional

BackupPlanInfo

BackupPlanInfo defines the object reference and status of a backupPlan

Appears in:

Field
Description
Default
Validation

backupPlan ObjectReference

BackupPlan is the object reference of a backupPlan

required

PartOf specify how backupPlan is selected, it could be by NamespaceSelector or by BackupComponent

Enum: [NamespaceSelector BackupComponents] optional

name string

Name will specify namespace selector's name if backupPlan is PartOf NamespaceSelector Name will be empty if backupPlan is PartOf BackupComponents

optional

status Status

Status is the status of the backupPlan

Enum: [Available InProgress Unavailable] optional

BackupPlanSelector

Underlying type: string

BackupPlanSelector used in ClusterBackupPlan Status to identify how corresponding backupPlan is selected by, it could be by NamespaceSelector or by BackupComponent

Validation:

  • Enum: [NamespaceSelector BackupComponents]

Appears in:

Field
Description

NamespaceSelector

BackupComponents

BackupPlanSpec

BackupPlanSpec defines the desired state of BackupPlan

Appears in:

Field
Description
Default
Validation

backupConfig BackupConfig

BackupConfig is the type containing the object references for all the configurations needed for backup operation

optional

snapshotConfig SnapshotConfig

SnapshotConfig is the type containing the object references for all the configurations needed for snapshot operation

optional

backupPlanComponents BackupPlanComponents

BackupPlanComponents includes all the components which defines this BackupPlan i.e Helm charts, operators and label based resources

optional

hookConfig HookConfig

hookConfig defines backup pre/post hooks and their configurations.

optional

includeResources ResourceSelector

IncludeResources specify resources to include for namespace scope backup based on LabelSelector & GVKSelector. This acts similar like SelectResources used in custom or operators.

optional

excludeResources ResourceSelector

ExcludeResources specify resources to exclude for namespace scope backup based on LabelSelector & GVKSelector

optional

encryption Encryption

Encryption specify how to encrypt backups on target for this backupPlan

optional

securityScanConfig SecurityScanConfigInfo

SecurityScanConfig defines the Security Scan config to be used for Backup scanning

optional

continuousRestoreConfig ContinuousRestoreConfigInfo

ContinuousRestoreConfig defines the Continuous Restore config to be used

optional

retainHelmApps boolean

RetainHelmApps is a bool value that states that backup the helm application using helm way while taking namespace backup. Deprecated: RetainHelmApps moved to BackupPlanFlags

optional

backupPlanFlags BackupPlanFlags

BackupPlanFlags specifies all the flags specified at the backup plan level.

optional

BackupPlanStats

BackupPlanStats defines the stats for a BackupPlan

Appears in:

Field
Description
Default
Validation

backupSummary BackupSummary

optional

snapshotSummary SnapshotSummary

optional

restoreSummary RestoreSummary

optional

immutable boolean

Immutable specify whether a backup data is going to be immutable.

optional

BackupPlanStatus

BackupPlanStatus defines the observed state of BackupPlan

Appears in:

Field
Description
Default
Validation

condition BackupPlanCondition array

Condition is the current condition of a backupPlan.

optional

status Status

Status defines the status oif the application resource as available when no operation is running and unavailable when a backup or restore operation is in progress

Enum: [Available InProgress Unavailable]

Scope indicates scope of component in BackupPlan i.e. App or Namespace.

Enum: [App Namespace] optional

applicationType ApplicationType

ApplicationType is the type of BackupPlan defining backup

Enum: [Helm Operator Custom Namespace MultiNamespace] optional

incrementalCrons object (keys:string, values:ObjectReference)

optional

fullBackupCrons object (keys:string, values:ObjectReference)

optional

snapshotCrons object (keys:string, values:ObjectReference)

optional

optional

kubevirtStatus KubevirtStatus

Enum: [Enabled Disabled] optional

pauseSchedule boolean

PauseSchedule shows whether a backup plan schedule is Paused and scheduled backups will not be created.

optional

securityScanStatus object (keys:string, values:SecurityScanStatus)

SecurityScanStatus contains the information of each Security instanceID defined, and it's Security Scan status

optional

continuousRestoreStatus object (keys:string, values:ContinuousRestoreStatus)

ContinuousRestoreStatus contains the information of each ContinuousRestore instanceID defined, and it's ContinuousRestore service status

optional

isImmutableBackupDisabled boolean

IsImmutableBackupDisabled states whether immutable backup is disabled for the BackupPlan

optional

isImmutableSnapshotDisabled boolean

IsImmutableSnapshotDisabled states whether immutable snapshot is disabled for the BackupPlan

optional

BackupScanInfo

Appears in:

Field
Description
Default
Validation

metadataScannerStatus object (keys:string, values:ScannerStatus)

MetadataScannerStatus is the result of Metadata Scanning It is the mapping of scanner name and its corresponding report

optional

dataScannerStatus object (keys:string, values:ScannerStatus)

DataScannerStatus is the result of Data Scanning It is the mapping of scanner name and its corresponding report

optional

imageScannerStatus object (keys:string, values:ScannerStatus)

ImageScannerStatus is the result of Image Scanning It is the mapping of scanner name and its corresponding report

optional

BackupSchedulePolicy

BackupSchedulePolicy contains the object references for incremental or full backup type schedule policy

Appears in:

Field
Description
Default
Validation

incrementalBackupPolicy ObjectReference

IncrementalBackupPolicy is the object reference for the policy of type schedule defined

optional

fullBackupPolicy ObjectReference

FullBackupPolicy is the object reference for the policy of type schedule defined

optional

BackupSnapshotStats

BackupSnapshotStats specifies the stats of a Backup/Snapshot

Appears in:

Field
Description
Default
Validation

targetInfo TargetInfo

TargetInfo is the information to a Target backed up

optional

latestInProgressRestore ObjectReference

LatestInProgressRestore is the reference to the latest InProgress Restore of a Backup

optional

latestCompletedRestore ObjectReference

LatestCompletedRestore is the reference to the latest Completed Restore of a Backup

optional

hookExists boolean

HookExists is a bool value that states if a backup has hooks in backup plan

optional

encryption Encryption

Encryption specifies encryption details of a backup

optional

immutable boolean

Immutable specify whether a backup data is immutable

optional

BackupSpec

BackupSpec defines the desired state of Backup

Appears in:

Field
Description
Default
Validation

Type is the type of backup in the sequence of backups of an Application.

Enum: [Incremental Full Mixed]

backupPlan ObjectReference

BackupPlan is a reference to the BackupPlan to be backed up.

required

BackupStatus

BackupStatus defines the observed state of Backup and Snapshot

Appears in:

Field
Description
Default
Validation

backupScope ComponentScope

BackupScope indicates scope of component in backup i.e. App or Namespace. Deprecated: Use Scope instead.

Enum: [App Namespace] optional

Scope indicates scope of a component in Backup/Snapshot i.e., App or Namespace.

Enum: [App Namespace] optional

applicationType ApplicationType

ApplicationType is the type of Application backed up in the App Scoped backup.

Enum: [Helm Operator Custom Namespace MultiNamespace] optional

Type indicates the backup type in backup i.e. Full, Incremental or Mixed. this field is required only for Backup CRs and not for Snapshot CRs

Enum: [Incremental Full Mixed] optional

location string

Location is the absolute path of the target where backup resides.

startTimestamp Time

StartTimestamp is the time a backup was started.

optional

completionTimestamp Time

CompletionTimestamp is the time a backup was finished.

optional

Phase is the current phase of the backup operation.

optional

phaseStatus Status

PhaseStatus is the status of phase backup operation going through.

Enum: [InProgress Pending Error Completed Failed] optional

status Status

Status is the status of the backup operation.

Enum: [Queued InProgress Pending Error Completed Failed Available Coalescing Canceling Canceled Degraded] optional

metadataSize Quantity

MetadataSize is the size of the metadata backed up.

optional

Size is the aggregate size of metadata and data backed up

optional

percentageCompletion integer

PercentageCompletion is the amount of backup operation completed.

Maximum: 100 Minimum: 0 optional

expirationTimestamp Time

ExpirationTimeStamp is the time a backup will not be available after retention.

optional

Todo: Do we need this option as optional one? Todo: This is optional because, we are allowing the custom backup as empty Snapshot specifies the contents of captured backup.

optional

condition BackupCondition array

Condition is the current condition of hooks while backup.

optional

HookStatus specifies pre/post hook execution status for current backup.

optional

optional

securityScanStatus object (keys:string, values:SecurityScanStatusInfo)

SecurityScanStatus contains the information of Security Scan performed for Backup on each Security instanceID defined.

optional

consistentSetStatus object (keys:string, values:ConsistentSetInfo)

ConsistentSetStatus contains the mapping of instanceID and the ContinuousRestore performed for Backup on that ContinuousRestore site instance.

optional

duration Duration

Duration is the amount of time the backup process took to finish.

optional

encryptionEnabled boolean

EncryptionEnabled flag shows that encryption is enabled for backup

optional

hasKubevirtResources boolean

HasKubevirtResources flag will be true if backup contains any kubevirt resources (VirtualMachine etc)

optional

coalesceInfo CoalesceInfo

CoalesceInfo contains the information of retention operation performed for backup

optional

BackupSummary

BackupSummary comprises backup object references and count of backups with different statuses

Appears in:

Field
Description
Default
Validation

inProgressBackup ObjectReference

InProgressBackup is the reference to an InProgress backup of a BackupPlan

optional

lastSuccessfulBackup ObjectReference

LastSuccessfulBackup is the reference to Latest available Backup of a BackupPlan

optional

latestBackup ObjectReference

LatestBackup is the reference to Latest Backup in any state, of a BackupPlan

optional

totalAvailableBackups integer

TotalAvailableBackups is the count of total number of Available Backups

optional

totalFailedBackups integer

TotalFailedBackups is the count of total number of InProgress Backups

optional

totalCanceledBackups integer

TotalCanceledBackups is the count of total number of Canceled Backups

optional

totalQueuedBackups integer

TotalQueuedBackups is the count of total number of Queued Backups

optional

totalDegradedBackups integer

TotalDegradedBackups is the count of total number of Degraded Backups

optional

pvcExistsForBackup boolean

PVCExistsForBackup is a bool value that states if the latest backup of a backup plan has PVCs in its data component

optional

BackupType

Underlying type: string

BackupType defines the type backup instance of an BackupPlan

Validation:

  • Enum: [Incremental Full Mixed]

Appears in:

Field
Description

Incremental

Incremental means the backup instance is intermediate part of sequential backups of an BackupPlan

Full

Full means that the backup instance is whole in itself and can individually restored

Mixed

Mixed means that the backup instance has backup ad

CleanupConfig

CleanupConfig is the configuration for the PolicyType: Cleanup

Appears in:

Field
Description
Default
Validation

backupDays int

BackupDays is the age of backups to be cleaned Deprecated: Renamed to be used for both Backup and Restore cleanup

Format: int Minimum: 0 optional

days int

Days is the age of backups/restores to be cleaned

Format: int Minimum: 0 required

ClusterBackupCondition

ClusterBackupCondition specifies the current condition of a clusterBackup resource.

Appears in:

Field
Description
Default
Validation

Phase defines the current phase of the controller.

Enum: [Snapshot Backup PreClusterBackupValidation MetadataUpload Retention Cancel] optional

status Status

Status is the status of the condition.

Enum: [Available InProgress Failed Completed Skipped Canceled] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why clusterBackup is in this condition.

optional

ClusterBackupConfig

ClusterBackupConfig defines the require configuration for taking the backup such as target and retention policy. NOTE: BackupConfig field in backupplan_types.go is similar to this structure. Changes made here might be required to be reflected there as well.

Appears in:

Field
Description
Default
Validation

Target is the object reference for the backup target resources

required

retentionPolicy ObjectReference

RetentionPolicy is the object reference for the policy of type retention defined

optional

SchedulePolicy includes the object references of 2 type of cron schedule policy: incremental and full

optional

maxIncrBackupsPerFullBackup integer

MaxIncrBackupsPerFullBackup is the number of incremental backups after which full backup will ge triggered. This is relevant only in case of immutable backups

Maximum: 15 Minimum: 1 optional

ClusterBackupPlanCondition

ClusterBackupPlanCondition specifies the current condition of a cluster backup plan resource.

Appears in:

Field
Description
Default
Validation

status Status

Status is the status of the condition

Enum: [Available InProgress Unavailable Completed Failed Error] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why the component is in this condition.

optional

Phase defines the current phase of the controller.

Enum: [Sync] optional

ClusterBackupPlanSpec

ClusterBackupPlanSpec defines the desired state of ClusterBackupPlan

Appears in:

Field
Description
Default
Validation

backupComponents BackupComponent array

BackupComponents defines all the BackupComponents for which backups are to be taken. It includes namespaces and their configurations

MinItems: 1 optional

namespaceSelector NamespaceSelector array

NamespaceSelector defines namespaces for which backups are to be taken based on NamespaceSelector(labels & match expression) & their configurations

optional

backupConfig ClusterBackupConfig

BackupConfig is the type containing the object references for all the configurations needed for cluster backup operation

optional

snapshotConfig SnapshotConfig

SnapshotConfig is the type containing the object references for all the configurations needed for cluster snapshot operation

optional

includeResources ResourceSelector

IncludeResources specifies the resources to be explicitly included during backup

optional

excludeResources ResourceSelector

ExcludedResources specifies the resources to be excluded from the backup

optional

encryption Encryption

Encryption specify how to encrypt backups on target for this backupPlan

optional

securityScanConfig SecurityScanConfigInfo

SecurityScanConfig defines the Security Scan config to be used for ClusterBackup scanning

optional

continuousRestoreConfig ContinuousRestoreConfigInfo

ContinuousRestoreConfig defines the Continuous Restore config to be used

optional

retainHelmApps boolean

RetainHelmApps is a bool value that states that backup the helm application using helm way while taking namespace backup. Deprecated: RetainHelmApps moved to ClusterBackupPlanFlags

optional

clusterBackupPlanFlags BackupPlanFlags

BackupPlanFlags specifies all the flags specified at the cluster backup plan level.

optional

ClusterBackupPlanStats

ClusterBackupPlanStats defines the stats for a ClusterBackupPlan

Appears in:

Field
Description
Default
Validation

clusterBackupSummary ClusterBackupSummary

optional

clusterSnapshotSummary ClusterSnapshotSummary

optional

clusterRestoreSummary ClusterRestoreSummary

optional

immutable boolean

Immutable specify whether a backup data is going to be immutable

optional

ClusterBackupPlanStatus

ClusterBackupPlanStatus defines the observed state of ClusterBackupPlan

Appears in:

Field
Description
Default
Validation

status Status

Status defines the current state of the ClusterBackupPlan resource. Available state ClusterBackupPlan only can be used for ClusterBackup

Enum: [Available InProgress Unavailable Error]

backupPlans object (keys:string, values:BackupPlanInfo)

BackupPlans is the map of backupPlan name and its object ref managed by cluster backup plan

optional

incrementalCrons object (keys:string, values:ObjectReference)

optional

fullBackupCrons object (keys:string, values:ObjectReference)

optional

clusterSnapshotCrons object (keys:string, values:ObjectReference)

optional

Condition is the current condition of a cluster backup plan.

optional

pauseSchedule boolean

PauseSchedule shows whether a cluster backup plan schedule is Paused and scheduled cluster backups will not be created.

optional

securityScanStatus object (keys:string, values:SecurityScanStatus)

SecurityScanStatus contains the information of each Security instanceID defined, and it's Security Scan status

optional

continuousRestoreStatus object (keys:string, values:ContinuousRestoreStatus)

ContinuousRestoreStatus contains the information of each ContinuousRestore instanceID defined, and it's ContinuousRestore service status

optional

isImmutableClusterBackupDisabled boolean

IsImmutableClusterBackupDisabled states if the immutable cluster backup is disabled for the ClusterBackupPlan

optional

isImmutableClusterSnapshotDisabled boolean

IsImmutableClusterSnapshotDisabled states if the immutable cluster snapshot is disabled for the ClusterBackupPlan

optional

ClusterBackupSchedulePolicy

ClusterBackupSchedulePolicy contains the object references for incremental or full backup type schedule policy

Appears in:

Field
Description
Default
Validation

incrementalBackupPolicy ObjectReference

IncrementalBackupPolicy is the object reference for the policy of type schedule defined

optional

fullBackupPolicy ObjectReference

FullBackupPolicy is the object reference for the policy of type schedule defined

optional

ClusterBackupSnapshotStats

ClusterBackupSnapshotStats specifies the stats of a ClusterBackup/ClusterSnapshot

Appears in:

Field
Description
Default
Validation

targetInfo TargetInfo

TargetInfo is the information to a Target backed up

optional

latestInProgressClusterRestore ObjectReference

LatestInProgressClusterRestore is the reference to the latest InProgress ClusterRestore of a ClusterBackup

optional

lastCompletedClusterRestore ObjectReference

LastCompletedClusterRestore is the reference to the latest Completed ClusterRestore of a ClusterBackup

optional

hookExists boolean

HookExists is a bool value that states if a ClusterBackup has hooks in ClusterBackupPlan

optional

encryption Encryption

Encryption specifies encryption details of a ClusterBackup

optional

immutable boolean

Immutable specify whether a clusterBackup data is immutable

optional

ClusterBackupSpec

ClusterBackupSpec defines the desired state of ClusterBackup

Appears in:

Field
Description
Default
Validation

Type is the type of clusterBackup in the sequence of clusterBackups.

Enum: [Incremental Full Mixed]

clusterBackupPlan ObjectReference

ClusterBackupPlan is a reference to the ClusterBackupPlan to be backed up.

ClusterBackupStatus

ClusterBackupStatus defines the observed state of ClusterBackup and ClusterSnapshot

Appears in:

Field
Description
Default
Validation

Type indicates the ClusterBackup type in backup i.e. Full, Incremental or Mixed. this field is required only for ClusterBackup CRs and not for ClusterSnapshot CRs

Enum: [Incremental Full Mixed] optional

location string

Location is the absolute path of the target where backup resides.

startTimestamp Time

StartTimestamp is the time when ClusterBackup was started.

Format: date-time optional

completionTimestamp Time

CompletionTimestamp is the time when ClusterBackup finished.

Format: date-time optional

status Status

Status is the status of the ClusterBackup operation.

Enum: [Queued InProgress Completed Failed Available Coalescing Canceling Canceled Degraded] optional

metadataSize Quantity

MetadataSize is the size of the metadata backed up.

optional

Size is the aggregate size of the data backuped up.

optional

percentageCompletion integer

PercentageCompletion is the percentage of ClusterBackup operation completed.

Maximum: 100 Minimum: 0 optional

expirationTimestamp Time

ExpirationTimeStamp is the time after which a ClusterBackup will not be available after retention.

Format: date-time optional

condition ClusterBackupCondition array

Condition is the conditions a ClusterBackup goes through during backup

optional

duration Duration

Duration is the amount of time the ClusterBackup process took to finish.

optional

backupInfos object (keys:string, values:BackupInfo)

BackupInfos contains the information of the child Backup CRs created by this ClusterBackup

optional

snapshotInfos object (keys:string, values:SnapshotInfo)

SnapshotInfos contains the information of the child Snapshot CRs created by this ClusterSnapshot

optional

securityScanStatus object (keys:string, values:SecurityScanStatusInfo)

SecurityScanStatus contains the information of Security Scan performed for ClusterBackup on each Security instanceID defined.

optional

consistentSetStatus object (keys:string, values:ConsistentSetInfo)

ConsistentSetStatus contains the information of ContinuousRestore performed for ClusterBackup on each ContinuousRestore instanceID defined.

optional

encryptionEnabled boolean

EncryptionEnabled flag shows that encryption is enabled for cluster backup

optional

hasKubevirtResources boolean

HasKubevirtResources flag will be true if any child backup contains kubevirt resources (VirtualMachine etc)

optional

coalesceInfo CoalesceInfo

CoalesceInfo contains the information of retention operation performed for clusterbackup

optional

ClusterBackupSummary

ClusterBackupSummary comprises ClusterBackup object references and count of ClusterBackups with different statuses

Appears in:

Field
Description
Default
Validation

inProgressClusterBackup ObjectReference

InProgressClusterBackup is the reference to an InProgress ClusterBackup of a ClusterBackupPlan

optional

lastSuccessfulClusterBackup ObjectReference

LastSuccessfulClusterBackup is the reference to Latest available ClusterBackup of a ClusterBackupPlan

optional

latestClusterBackup ObjectReference

LatestClusterBackup is the reference to Latest ClusterBackup in any state, of a ClusterBackupPlan

optional

totalAvailableClusterBackups integer

TotalAvailableClusterBackups is the count of total number of Available ClusterBackups

optional

totalFailedClusterBackups integer

TotalFailedClusterBackups is the count of total number of Failed ClusterBackups.

optional

totalCanceledClusterBackups integer

TotalCanceledClusterBackups is the count of total number of Canceled Cluster Backups

optional

totalQueuedClusterBackups integer

TotalQueuedClusterBackups is the count of total number of Queued ClusterBackups.

optional

totalDegradedClusterBackups integer

TotalDegradedClusterBackups is the count of total number of Degraded ClusterBackups.

optional

pvcExistsForBackup boolean

PVCExistsForBackup is a bool value that states if the latest clusterBackup of a clusterBackupPlan has any backup that has PVCs in its data component

optional

ClusterRestoreCondition

Appears in:

Field
Description
Default
Validation

Phase defines the current phase of the controller.

Enum: [PreClusterRestore Restore ClusterRestoreCleanup AddProtection] optional

status Status

Status is the status of the cluster restore.

Enum: [InProgress Error Completed Failed] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why the component is in this condition.

optional

ClusterRestoreSource

Appears in:

Field
Description
Default
Validation

Type is the type of source for restore

Enum: [ClusterBackup ClusterSnapshot Location ClusterBackupPlan ConsistentSet ContinuousRestorePlan]

clusterBackup ObjectReference

ClusterBackup is a reference to the ClusterBackup instance restored if type is ClusterBackup.

optional

clusterSnapshot ObjectReference

ClusterSnapshot is a reference to the ClusterSnapshot instance restored if type is ClusterSnapshot.

optional

Target is a reference to the Target instance where from restore is performed if type is Location.

optional

location string

Location is an absolute path to remote target from where restore is performed if type is Location.

optional

clusterBackupPlan ObjectReference

ClusterBackupPlan is a reference to the ClusterBackupPlan whose latest successful backup is to be restored.

optional

consistentSet ObjectReference

ConsistentSet is a reference to the ConsistentSet where restore is performed if type is ConsistentSet.

optional

continuousRestorePlan ObjectReference

ContinuousRestorePlan is a reference to the ContinuousRestorePlan where restore is performed if type is ContinuousRestorePlan.

optional

ClusterRestoreSourceType

Underlying type: string

Appears in:

Field
Description

ClusterBackup

ClusterBackupSource means that the restore is performed from ClusterBackup instance

ClusterSnapshot

ClusterSnapshotSource means that the restore is performed from ClusterSnapshot instance

Location

ClusterLocationSource means that the restore is performed from remote target location

ClusterBackupPlan

ClusterBackupPlanSource means that the restore is performed from ClusterBackup instance

ConsistentSet

ClusterConsistentSetSource means that the restore is performed from ConsistentSet instance

ContinuousRestorePlan

ClusterContinuousRestorePlanSource means that the restore is performed from ContinuousRestorePlan instance

ClusterRestoreSpec

ClusterRestoreSpec defines the source from where the ClusterRestore is to be done

Appears in:

Field
Description
Default
Validation

Type is the type of source for ClusterRestore

required

globalConfig RestoreConfig

GlobalConfig is the global restore configuration which is applicable for the components of restore unless explicitly overridden at the component level

optional

components ComponentConfig array

Components defines the components and their custom configuration using which individual component restore is to be done

MinItems: 1 optional

excludeComponents string array

ExcludeComponents specifies the components(namespaces) to be excluded from the ClusterRestore

MinItems: 1 optional

actionFlags ActionFlags

optional

encryption Encryption

Encryption specify encryption key to decrypt the encrypted data.

optional

imageRegistry ImageRegistry

ImageRegistry specifies the configuration to restore container images

optional

ClusterRestoreStats

ClusterRestoreStats defines the stats for a RestorCluster

Appears in:

Field
Description
Default
Validation

clusterBackupPlan ObjectReference

ClusterBackupPlan is the reference to ClusterBackupPlan associated with ClusterRestore

optional

clusterBackup ObjectReference

ClusterBackup is the reference to the ClusterBackup associated with ClusterRestore

optional

clusterSnapshot ObjectReference

ClusterSnapshot is the reference to the ClusterSnapshot associated with ClusterRestore

optional

ClusterRestoreStatus

ClusterRestoreStatus defines the observed state of ClusterRestore

Appears in:

Field
Description
Default
Validation

startTimestamp Time

StartTimestamp is the time when ClusterRestore was started.

Format: date-time optional

completionTimestamp Time

CompletionTimestamp is the time when ClusterRestore finished.

Format: date-time optional

Phase is the current phase of the ClusterRestore operation.

optional

phaseStatus Status

PhaseStatus is the status of phase ClusterRestore operation going through.

Enum: [InProgress Pending Error Completed Failed] optional

status Status

Status is the status of the ClusterRestore operation.

Enum: [InProgress Pending Error Completed Failed] optional

Size is the aggregate size of the data restored back.

optional

percentageCompletion integer

PercentageCompletion is the percentage of ClusterRestore operation completed.

Maximum: 100 Minimum: 0 optional

condition ClusterRestoreCondition array

Condition is the overall condition of cluster restore resource.

optional

duration Duration

Duration is the amount of time the ClusterRestore process took to finish.

optional

components object (keys:string, values:ComponentInfo)

ComponentInfos contains information related to each individual backup to be restored

optional

createdNamespaces string array

CreatedNamespaces are the namespaces created for restores.

optional

optional

protectingResources Resource array

ProtectingResources lists the Trilio resources and dependent resources which are getting created after user cluster restore operation. It's applicable only if ProtectRestoredApp is set to true.

optional

encryptionEnabled boolean

EncryptionEnabled flag shows that encryption is enabled for cluster backup

optional

ClusterRestoreSummary

ClusterRestoreSummary comprises ClusterRestore object references and count of ClusterRestore with different statuses

Appears in:

Field
Description
Default
Validation

lastSuccessfulClusterRestore ObjectReference

LastSuccessfulClusterRestore is the reference to Latest completed ClusterRestore of a ClusterBackupPlan

optional

latestClusterRestore ObjectReference

LatestClusterRestore is the reference to Latest ClusterRestore in any state, of a ClusterBackupPlan

optional

totalInProgressClusterRestores integer

TotalInProgressClusterRestores is the count of total number of InProgress ClusterRestores

optional

totalCompletedClusterRestores integer

TotalCompletedClusterRestores is the count of total number of Completed ClusterRestores

optional

totalFailedClusterRestores integer

TotalFailedClusterRestores is the count of total number of Failed ClusterRestores

optional

ClusterSnapshotSpec

ClusterSnapshotSpec defines the desired state of ClusterSnapshot

Appears in:

Field
Description
Default
Validation

clusterBackupPlan ObjectReference

ClusterBackupPlan is a reference to the ClusterBackupPlan to be backed up.

ClusterSnapshotSummary

ClusterSnapshotSummary consist of snapshot object references and count of snapshot with different statuses

Appears in:

Field
Description
Default
Validation

inProgressClusterSnapshot ObjectReference

InProgressClusterSnapshot is the reference to an InProgress ClusterSnapshot of a ClusterBackupPlan

optional

lastSuccessfulClusterSnapshot ObjectReference

LastSuccessfulClusterSnapshot is the reference to Latest available ClusterSnapshot of a ClusterBackupPlan

optional

latestClusterSnapshot ObjectReference

LatestClusterSnapshot is the reference to Latest ClusterSnapshot in any state, of a ClusterBackupPlan

optional

totalAvailableClusterSnapshots integer

TotalAvailableClusterSnapshots is the count of total number of Available ClusterSnapshots

optional

totalFailedClusterSnapshots integer

TotalFailedClusterSnapshots is the count of total number of Failed ClusterSnapshots

optional

totalQueuedClusterSnapshots integer

TotalQueuedClusterSnapshots is the count of total number of Queued ClusterSnapshots

optional

pvcExistsForSnapshot boolean

PVCExistsForSnapshot is a bool value that states if the latest cluster backup of a cluster backup plan has PVCs in its backups data component

optional

CoalesceInfo

Appears in:

Field
Description
Default
Validation

retryCount integer

optional

errorMessages string array

optional

retentionFailureStatus object (keys:string, values:map[string]CoalesceStatus)

RetentionFailureStatus points which backup and PVC failed in retention and it which stage. map[backupName]map[pvcName]value where valid values are:

optional

CoalesceStatus

Underlying type: string

Appears in:

Field
Description

CommitStarted

CommitStarted means the commit process is started

CommitCompleted

CommitCompleted means the commit process is completed

CommitFailed

CommitFailed means the commit process is failed

Qcow2MovementStarted

Qcow2MovementStarted means the qcow2 movement process is started

Qcow2MovementCompleted

Qcow2MovementCompleted means the qcow2 movement process is completed

Qcow2MovementFailed

Qcow2MovementFailed means the qcow2 movement process is failed

ComponentConfig

Appears in:

Field
Description
Default
Validation

backupNamespace string

Deprecated: SourceNamespace should be used to specify Backup or Snapshot namespace

optional

sourceNamespace string

Specify Backup/Snapshot namespace

optional

restoreNamespace string

optional

restoreConfig RestoreConfig

optional

hookConfig HookConfig

optional

ComponentInfo

Appears in:

Field
Description
Default
Validation

location string

Location is the location of the backup on target.

optional

Backup is the reference of the Backup CR used for backing up this component

optional

Snapshot is the reference of the Snapshot CR used for backing up this component

optional

Restore is the reference of the Restore CR used for restoring this component.

optional

restoreStatus Status

Status is the status of particular restore.

Enum: [InProgress Pending Error Completed Failed] optional

percentageCompletion integer

PercentageCompletion is the amount of restore operation completed.

Maximum: 100 Minimum: 0 optional

ComponentScope

Underlying type: string

ComponentScope indicates scope of components i.e. [App or Namespace] present in backup or restore

Validation:

  • Enum: [App Namespace]

Appears in:

Field
Description

App

App ComponentScope indicates that component in backup/restore is application specific i.e. custom, helm, operator

Namespace

Namespace ComponentScope indicates that component in backup/restore is specific namespace

ComponentStatus

ComponentStatus defines the details of restore of application component.

Appears in:

Field
Description
Default
Validation

existingResource Resource array

ExistingResource specifies the resources already existing in cluster defined in application.

optional

skippedResources Resource array

SkippedResources specifies the resources skipped while restoring.

optional

failedResources Resource array

FailedResources specifies the resources for which the restore operation failed

optional

newResourcesAdded Resource array

NewResourcesAdded specifies the resources added(duplicated and modified) during restore.

optional

excludedResources Resource array

ExcludedResources specifies the resources excluded during restore

optional

failedCleanupResources Resource array

FailedCleanupResources specified the resources which doesn't get clean up in failed restore

optional

transformStatus TransformStatus array

TransformStatus is the status of transformation performed

optional

Phase is the current phase of the application component while restore.

Enum: [TargetValidation Validation DataRestore MetadataRestore PrimitiveMetadataRestore Unquiesce RestoreCleanup AddProtection ImageRestore HookTargetIdentification DataOwnerUpdate] optional

phaseStatus Status

PhaseStatus is the status of phase restore operation going through.

Enum: [InProgress Pending Error Completed Failed] optional

reason string

A brief message indicating details about why the application component is in this state.

optional

Conditions

Appears in:

Field
Description
Default
Validation

status Status

Status is the status of the condition.

Enum: [InProgress Error Completed Failed Skipped Unavailable] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why the component is in this condition.

optional

Phase defines the current phase of the data components.

Enum: [Snapshot Upload DataRestore DataSnapshot] optional

ConsistentSetCondition

Appears in:

Field
Description
Default
Validation

Phase defines the current phase of the controller.

Enum: [PreConsistentSet DataRestore DataSnapshot] optional

status Status

Status is the status of the cluster restore.

Enum: [InProgress Error Completed Failed Unavailable] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why the component is in this condition.

optional

ConsistentSetInfo

Appears in:

Field
Description
Default
Validation

consistentSetName string

ConsistentSetName is the name of ConsistentSet created for ContinuousRestore corresponding to the Backup/ClusterBackup

required

consistentSetUID UID

ScanInstanceUID is the UID of the ConsistentSet created for ContinuousRestore corresponding to the Backup/ClusterBackup

required

consistentSetStatus Status

ConsistentSetStatus is the current Status of ConsistentSet.

Enum: [Available InProgress Unavailable Failed InUse Queued] optional

consistentSetCreationTimeStamp Time

ConsistentSetCreationTimeStamp is the creation timestamp of ConsistentSet

Format: date-time optional

consistentSetCompletionTimeStamp Time

ConsistentSetCompletionTimeStamp is the completion timestamp of ConsistentSet

Format: date-time optional

TotalSize is the aggregate size of the data restored

optional

ConsistentSetScope

Underlying type: string

ConsistentSetScope indicates scope of Consistent i.e. [Namespace or Cluster] as per the location given

Validation:

  • Enum: [Namespace Cluster]

Appears in:

Field
Description

Namespace

NamespaceScope indicates that the ConsistentSet's scope is Namespace i.e. Backup

Cluster

ClusterScope indicates that the ConsistentSet's scope is Cluster i.e. ClusterBackup

ConsistentSetSpec

ConsistentSetSpec defines the desired state of ConsistentSet

Appears in:

Field
Description
Default
Validation

continuousRestorePlan ObjectReference

ContinuousRestorePlan specifies the object references of continuousRestorePlan used

required

location string

Location is the target location where Backup/ClusterBackup is stored

required

transformComponents TransformComponents

TransformComponents specifies the transformation configuration for PVCs both in custom and helm charts

optional

ConsistentSetStats

ConsistentSetStats defines the stats for a consistent set

Appears in:

Field
Description
Default
Validation

sourceBackupPlan SourceBackupPlan

optional

sourceInstanceInfo SourceInstanceInfo

optional

ConsistentSetStatus

ConsistentSetStatus defines the observed state of ConsistentSet

Appears in:

Field
Description
Default
Validation

status Status

Status defines the status of ConsistentSet. When consistentSet is used in any Restore/ClusterRestore, it's status will be in InUse

Enum: [Available InProgress Error Failed Unavailable InUse Queued] optional

Scope defines scope of ConsistentSet i.e. Namespace or Cluster

Enum: [Namespace Cluster] optional

startTimestamp Time

StartTimestamp is the time when ConsistentSet was started.

Format: date-time optional

completionTimestamp Time

CompletionTimestamp is the time when ConsistentSet operation finished.

Format: date-time optional

backupInfo object (keys:string, values:SourceBackupInfo)

BackupInfo contains the information of data restored done for each Backup available on the location specified. It contains a mapping of Backup-uuid and related data restored info.

optional

Size is the aggregate size of the data restored back.

optional

percentageCompletion integer

PercentageCompletion is the percentage of ConsistentSet operation completed.

Maximum: 100 Minimum: 0 optional

Phase is the current phase of the ConsistentSet operation.

optional

phaseStatus Status

PhaseStatus is the status of phase ConsistentSet operation going through.

Enum: [InProgress Pending Error Completed Failed] optional

condition ConsistentSetCondition array

Condition is the overall condition of ConsistentSet resource.

optional

duration Duration

Duration is the amount of time the ConsistentSet process took to finish.

optional

optional

ConsistentSetSummary

ConsistentSetSummary comprises of ConsistentSet object references and count of ConsistentSet with different statuses

Appears in:

Field
Description
Default
Validation

lastSuccessfulConsistentSet ObjectReference

LastSuccessfulConsistentSet is the reference to Latest completed ConsistentSet of a ContinuousRestorePlan

optional

lastSuccessfulConsistentSetTimestamp Time

LastSuccessfulConsistentSetTimestamp is the completion timestamp of the last successful ConsistentSet created

optional

latestConsistentSet ObjectReference

LatestConsistentSet is the reference to Latest ClusterRestore in any state, of a ClusterBackupPlan

optional

latestConsistentSetCreationTimestamp Time

LatestConsistentSetCreationTimestamp is the creation time stamp of the last ConsistentSet created for this BackupPlan/ClusterBackupPlan

optional

totalInProgressConsistentSet integer

TotalInProgressConsistentSet is the count of total number of InProgress ConsistentSets

optional

totalAvailableConsistentSet integer

TotalAvailableConsistentSet is the count of total number of Available ConsistentSets

optional

totalUnavailableConsistentSet integer

TotalUnavailableConsistentSet is the count of total number of Unavailable ConsistentSets

optional

totalFailedConsistentSet integer

TotalFailedConsistentSet is the count of total number of Failed ConsistentSets

optional

totalQueuedConsistentSet integer

TotalQueuedConsistentSet is the count of total number of Queued ConsistentSets

optional

totalInUseConsistentSet integer

TotalInUseConsistentSet is the count of total number of InUse ConsistentSets

optional

ContainerHookStatus

ContainerHookStatus defines hook execution status for a containers

Appears in:

Field
Description
Default
Validation

containerName string

ContainerName is container in which hooks are executed.

required

preHookStatus PrePostHookStatus

PreHookStatus defines status for pre hooks

optional

postHookStatus PrePostHookStatus

PostHookStatus defines status for post hooks

optional

ContainerImage

Appears in:

Field
Description
Default
Validation

ID string

ID is the image ID to uniquely identify the image

optional

registry string

Registry of the container image

optional

repository string

Repository of the container image

optional

image string

Image is the name of the container image

backupImageFQDN string

BackupImageFQDN is the actual image name provided in resource spec at the time of backup

tag string

Tag is the image tag of the container image

newTag string

NewTag is populated when the Tag exists on the repo with a different sha in case of restore

optional

sha string

Sha is the sha digest of the container image

optional

imagePullSecrets ImagePullSecret array

ImagePullSecrets defines imagePullSecrets and resource who used these imagePullSecrets

optional

warnings string array

Warnings is the list of warnings captured during image backup or restore of an application

optional

ContinuousRestoreConfig

Appears in:

Field
Description
Default
Validation

consistentSets integer

ConsistentSets is the number of ConsistentSets to be retained for each Backup

Format: int Maximum: 10 Minimum: 1

ContinuousRestoreConfigInfo

ContinuousRestoreConfigInfo defines the Continuous Restore instances info which will be used for Continuous Restore operation

Appears in:

Field
Description
Default
Validation

continuousRestoreInstances ContinuousRestoreInstance array

ContinuousRestoreInstances defines the list of Continuous Restore instances which will perform the Continuous Restore operation

MinItems: 1 required

ContinuousRestoreInstance

ContinuousRestoreInstance defines details of Continuous Restore for InstanceID specified

Appears in:

Field
Description
Default
Validation

instanceID string

InstanceID is the unique Instance ID of the Continuous Restore Service to be used for Continuous Restore

required

continuousRestorePolicy ObjectReference

ContinuousRestorePolicy is the object reference to the Continuous Restore Policy to be used for Continuous Restore

required

transformComponents TransformComponents

TransformComponents specifies the transformation configuration for PVCs both in custom and helm charts

optional

ContinuousRestorePlanCondition

ContinuousRestorePlanCondition specifies the current condition of a ContinuousRestorePlan resource.

Appears in:

Field
Description
Default
Validation

status Status

Status is the status of the condition.

Enum: [InProgress Completed Failed] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why the component is in this condition.

optional

Phase defines the current phase of the controller.

Enum: [TargetValidation Retention] optional

ContinuousRestorePlanSpec

ContinuousRestorePlanSpec defines the desired state of ContinuousRestorePlan

Appears in:

Field
Description
Default
Validation

continuousRestorePolicy ObjectReference

ContinuousRestorePolicy specifies the object references of ContinuousRestore policy

required

Target specifies the object references of target used

required

transformComponents TransformComponents

TransformComponents specifies the transformation configuration for PVCs both in custom and helm charts

optional

ContinuousRestorePlanStats

ContinuousRestorePlanStats defines the stats for a ContinuousRestorePlan

Appears in:

Field
Description
Default
Validation

sourceBackupPlan SourceBackupPlan

optional

sourceInstanceInfo SourceInstanceInfo

optional

consistentSetSummary ConsistentSetSummary

optional

ContinuousRestorePlanStatus

ContinuousRestorePlanStatus defines the observed state of ContinuousRestorePlan

Appears in:

Field
Description
Default
Validation

Condition is the current condition of a ContinuousRestorePlan.

optional

status Status

Status defines the status of the ContinuousRestorePlan resource as per the status of target

Enum: [Available InProgress Unavailable] optional

consistentSetInfo ConsistentSetInfo array

ConsistentSetInfo is the list of ConsistentSet related info for the number of ConsistentSet defined

MinItems: 0 optional

ContinuousRestoreStatus

ContinuousRestoreStatus specifies the details of Continuous Restore operation status of an instance

Appears in:

Field
Description
Default
Validation

continuousRestoreEnabled boolean

ContinuousRestoreEnabled denotes if the Continuous Restore service is actually enabled on the ContinuousRestore site

continuousRestoreSiteStatus Status

ContinuousRestoreSiteStatus is the current Status of ContinuousRestore service Available/Unavailable. It is updated as per the heartbeat of ContinuousRestore service

Enum: [Available Unavailable] optional

lastConsistentSetCreationTimestamp Time

LastConsistentSetCreationTimestamp is the creation time stamp of the last ConsistentSet created for this BackupPlan/ClusterBackupPlan

optional

lastSuccessfulConsistentSetTimestamp Time

LastSuccessfulConsistentSetTimestamp is the completion timestamp of the last successful ConsistentSet created for this BackupPlan/ClusterBackupPlan

optional

numAvailableConsistentSet int

NumAvailableConsistentSet is the number of available ConsistentSets for this BackupPlan/ClusterBackupPlan on ContinuousRestore site Deprecated: NumAvailableConsistentSet is moved to ConsistentSetSummary

optional

continuousRestorePlan string

ContinuousRestorePlan denotes the name of ContinuousRestorePlan created for this BackupPlan/ClusterBackupPlan on the ContinuousRestore site

optional

consistentSetSummary ConsistentSetSummary

ConsistentSetSummary is the summary of ConsistentSets for a ContinuousRestorePlan

optional

Crons

Crons defines the list of Schedule string and the cronjob references. The list of Schedule string will only be visible to the user to be configured, and the references will be set by the controller

Appears in:

Field
Description
Default
Validation

schedule string array

required

Custom

Custom defines the snapshot of Custom defined application.

Appears in:

Field
Description
Default
Validation

resources Resource array

Resources defines the Kubernetes resources found from Custom application.

optional

dataSnapshots DataSnapshot array

DataSnapshot specifies the Snapshot of the Volumes resources in the Custom defined application.

optional

warnings string array

Warnings is the list of warnings captured during backup or restore of an application

optional

CustomHookStatus

CustomHookStatus defines hook execution status for a custom resources

Appears in:

Field
Description
Default
Validation

object Owner

Object is the Object on which hooks are executed.

required

preHookStatus PrePostHookStatus

PreHookStatus defines status for pre hooks

optional

postHookStatus PrePostHookStatus

PostHookStatus defines status for post hooks

optional

CustomSelector

CustomSelector defines custom resource selection using SelectResources which defines include resources & ExcludeResources specify resource exclusion based on Label based & GVK based selection

Appears in:

Field
Description
Default
Validation

selectResources ResourceSelector

SelectResources specify resource selection based on LabelSelector & GVKSelector

optional

excludeResources ResourceSelector

ExcludeResources specify resource exclusion based on LabelSelector & GVKSelector

optional

CustomTransform

CustomTransform specifies transformation configuration for Custom label-based resources

Appears in:

Field
Description
Default
Validation

transformName string

TransformName specifies the name of transformation

resources Resource

Resources specifies the resources for which transformation needs to be applied

jsonPatches Patch array

JSONPatches specifies the JSON patches to be applied

MinItems: 1

DataSnapshot

DataSnapshot defines Snapshot of a Persistent Volume

Appears in:

Field
Description
Default
Validation

backupType BackupType

BackupType is the type of Volume backup in the sequence of backups.

Enum: [Incremental Full Mixed] optional

location string

Location is the absolute path of qcow2 image of a volume in the target.

optional

persistentVolumeName string

PersistentVolumeName is the name of PersistentVolume which is bound to PersistentVolumeClaim

persistentVolumeMetadata string

PersistentVolumeMetadata is the metadata of PersistentVolume which is bound to PersistentVolumeClaim.

persistentVolumeClaimName string

PersistentVolumeClaimName is the name of PersistentVolumeClaim which is bound to Volume.

persistentVolumeClaimMetadata string

PersistentVolumeClaimMetadata is the metadata of PersistentVolumeClaim which is bound to Volume(Deprecated).

owner Owner

Owner specifies the parent for DataComponent. When we backup VirtualMachine, PersistentVolumeClaim which is part of DataVolume owned by that VM. Owner will be nil for DataComponent with no direct/indirect owner.

optional

operatorResourceVolume boolean

OperatorResourceVolume will be true for the PVC created by the operator resource.

optional

volumeSnapshot VolumeSnapshot

VolumeSnapshot specifies the CSI snapshot of a Persistent Volume.

optional

pvSize Quantity

PVSize is the actual size of the persistent volume for which backup is happening.

optional

snapshotSize Quantity

SnapshotSize is the size of the volume snapshot of a Persistent Volume.

optional

Size is the size of qcow2 created/restored in backup/restore.

optional

uploaded boolean

Uploaded is to imply whether volume snapshot taken is uploaded to target.

optional

error string

Error is the error occurred while backing up data component if any.

optional

podContainersMap PodContainers array

PodContainersMap is the set of Pod-Containers which share Persistent Volume.

optional

conditions Conditions array

Conditions are the current statuses for backup and restore PVCs.

optional

DayOfWeek

Underlying type: string

Validation:

  • Enum: [Monday Tuesday Wednesday Thursday Friday Saturday Sunday]

Appears in:

Field
Description

Monday

Tuesday

Wednesday

Thursday

Friday

Saturday

Sunday

Encryption

Encryption defines encryption secret to encrypt/decrypt backup data on target

Appears in:

Field
Description
Default
Validation

encryptionSecret ObjectReference

EncryptionSecret is object ref of a secret which contains encryption key for backup encryption

FileRecoveryVMCondition

FileRecoveryVMCondition specifies the current condition of a FileRecoveryVM resource.

Appears in:

Field
Description
Default
Validation

status Status

Status is the status of the condition.

Enum: [InProgress Error Completed Ready Failed] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why the component is in this condition.

optional

Phase defines the current phase of the controller.

Enum: [Validation MountingVMBackup Update RecoveryDiskProvisioning] optional

FileRecoveryVMPhase

Underlying type: string

FileRecoveryVMPhase represents the phase of the FileRecovery VM Condition.

Appears in:

Field
Description

RecoveryDiskProvisioning

VMRecoveryDiskProvisioningPhase indicates the phase during which the FileRecovery VM controller is creating the default DataVolume.

Validation

VMValidationPhase indicates the phase during which the FileRecovery VM controller is validating the setup and dependencies required for the recovery process.

MountingVMBackup

VMBackupMountingPhase indicates when the FileRecovery VM controller creates the recovery VM.

FileRecoveryVMSpec

FileRecoveryVMSpec defines the specification of a FileRecoveryVM.

Appears in:

Field
Description
Default
Validation

vmName string

Name of the backed up virtual machine the user intends to recover data from.

location string

Location is the absolute path of the target where VM backup resides.

Target is a reference to the target object where the VM backup is stored.

dataVolume ObjectReference

DataVolume is an optional reference to the DataVolume object.

optional

persistentVolumeClaim ObjectReference

PersistentVolumeClaim is an optional reference to the Persistent Volume Claim object.

optional

storageClass string

StorageClass is an optional field used during the creation of the default DataVolume (DV) to import Trilio's FileRecoveryVM image.

optional

encryption Encryption

Encryption specify an encryption key to decrypt the encrypted VM backup. The encryption key must be the same as the one used during the backup.

optional

publicKey string

PublicKey is the public SSH key used for accessing the FileRecovery VM.

externalServiceType ServiceType

ExternalServiceType specifies the type of service created by the FileRecoveryVM to expose the mounted VM backup for external access. Defaults to ClusterIP.

optional

instancetype InstancetypeMatcher

Instancetype references a InstancetypeMatcher, which is used to populate fields in the RecoveryVM Template. Supported types are "VirtualMachineInstancetype" and "VirtualMachineClusterInstancetype".

optional

Preference references a PreferenceMatcher, which is used to populate fields in the RecoveryVM Template. Supported types are "VirtualMachinePreference" and "VirtualMachineClusterPreference".

optional

FileRecoveryVMStatus

FileRecoveryVMStatus defines the observed state of FileRecoveryVM.

Appears in:

Field
Description
Default
Validation

backupMountLocation MountLocation array

BackupMountLocation is the location where the VM backup is mounted.

optional

startTimestamp Time

StartTimestamp is the time a filerecovery was started.

optional

completionTimestamp Time

CompletionTimestamp is the time a filerecovery was finished.

optional

duration Duration

Duration is the amount of time the file recovery vm process took to finish.

optional

Phase indicates the current phase of the FileRecoveryVM operation.

Enum: [Validation Recovery Update RecoveryDiskProvisioning] optional

phaseStatus Status

PhaseStatus provides the status of the current phase.

Enum: [InProgress Error Completed Failed] optional

status Status

Status indicates the overall status of the FileRecoveryVM.

Enum: [InProgress Error Completed Failed] optional

condition FileRecoveryVMCondition array

Condition is the current condition of a FileRecoveryVM.

optional

failureReason string

FailureReason provides the reason for failure if the ChildJobs such as Validation, Recovery or Update fail.

optional

GVKR

Underlying type: struct{GroupVersionKind GroupVersionKind "json:"groupVersionKind""; Resource string "json:"resource""}

GVKR defines the Kubernetes resource type and name

Appears in:

GroupVersionKind

GroupVersionKind defines the Kubernetes resource type

Appears in:

Field
Description
Default
Validation

group string

version string

optional

kind string

Helm

Helm defines the snapshot of application defined by a Helm.

Appears in:

Field
Description
Default
Validation

release string

Release string is the name of release

MinLength: 1 required

newRelease string

NewRelease string is the new release name which will get used while validation and restore process

optional

revision integer

Revision defines the version of deployed release backed up

resources Resource array

Resources are the helm release resources with their GVK and Name

optional

nonReleaseResources Resource array

NonReleaseResources are the resources which are not part of the helm release

optional

storageBackend HelmStorageBackend

StorageBackend is the enum which can be either configmaps and secrets

Enum: [ConfigMap Secret]

version HelmVersion

Version represents the Helm binary version used at the time of snapshot

Enum: [v3]

dataSnapshots DataSnapshot array

DataSnapshot specifies the Snapshot of the Volumes defined in the helm chart resources.

optional

warnings string array

Warnings is the list of warnings captured during backup or restore of an application

optional

HelmStorageBackend

Underlying type: string

HelmStorageBackend defines the enum for the types of storage backend from where the helm release is backed-up

Validation:

  • Enum: [ConfigMap Secret]

Appears in:

Field
Description

ConfigMap

Secret

HelmTransform

HelmTransform specifies transformation configuration for Helm

Appears in:

Field
Description
Default
Validation

transformName string

TransformName specifies the name of transformation

release string

Release specifies the release name for which the transformation is to be done

set KeyValue array

Set specifies the key-value pair to be set

MinItems: 1

HelmVersion

Underlying type: string

HelmVersion defines the version of helm binary used while backup; currently supported version is v3

Validation:

  • Enum: [v3]

Appears in:

Field
Description

v3

Helm3 specifies the helm 2 binary version

HookComponentStatus

HookComponentStatus indicates status of hook execution for backup/restore

Appears in:

Field
Description
Default
Validation

podReadyWaitSeconds integer

PodReadyWaitSeconds is the wait time for which hook execution waits before performing hook Quiescing/UnQuiescing It is only applicable for pods which are found in NotRunning state during hook execution Default value is 120s, that will be set by webhook.

Maximum: 600 Minimum: 1 optional

hookPriorityStatus HookPriorityStatus array

HookPriorityStatuses specifies pre/post hook execution status for current backup.

optional

customHookStatus CustomHookStatus array

CustomHookStatuses specifies pre/post custom hook execution status

optional

HookConfig

HookConfig defines the sequence of hook actions and their associated pod-container regexes

Appears in:

Field
Description
Default
Validation

mode Mode

Mode can be sequential or parallel which defines the way hooks will be executed. If mode is parallel, ignore the hook sequence.

Enum: [Sequential Parallel] optional

podReadyWaitSeconds integer

PodReadyWaitSeconds is the wait time for which hook execution waits before performing hook Quiescing/UnQuiescing It is only applicable for pods which are found in NotRunning state during hook execution Default value is 120s, that will be set by webhook.

Maximum: 600 Minimum: 1 optional

hooks HookInfo array

Hooks defines the config's for hook action object reference to the matching regexes of pod and containers

MinItems: 1

HookConfiguration

HookConfiguration contain's configuration for hook implementation.

Appears in:

Field
Description
Default
Validation

maxRetryCount integer

MaxRetryCount is the maximum number of times pre/post hook execution can be retried. MaxRetryCount will be equal to the RetryCount specified in Hook Spec.

Maximum: 10 Minimum: 0 optional

timeoutSeconds integer

TimeoutSeconds is A Maximum allowed time in seconds to execute Hook. timeout here is a hard timeout. Meaning the command needs to exit in that time, either with exit code 0 or non 0. hook execution will be considered in error if it fails to complete within timeout.

Maximum: 300 Minimum: 1 optional

ignoreFailure boolean

IgnoreFailure is a boolean, if set to true all the failures will be ignored for both in pre and post hooks Default is false.

optional

HookExecution

HookExecution specifies the Hook required to quiesce or unquiesce the application

Appears in:

Field
Description
Default
Validation

execAction ExecAction

ExecAction is a Command to be executed as a part of Hook. Specifies the action to take. Commands should include what shell to use or the commands and its args which will be able to run without the shell. User can provide multiple commands merged as a part of a single command in the ExecAction. Shell Script Ex. ["/bin/bash", "-c", "echo hello > hello.txt && echo goodbye > goodbye.txt"]

ignoreFailure boolean

IgnoreFailure is a boolean, if set to true all the failures will be ignored both in pre and post hooks Default is false.

optional

maxRetryCount integer

MaxRetryCount count will be used to retry hook execution within the time range specified by Timeout in TimeoutSeconds field. Hook execution will be considered in error if it fails to complete within MaxRetryCount. Each retry count will be run with timeout of TimeoutSeconds field. Default is 0

Maximum: 10 Minimum: 0 optional

timeoutSeconds integer

TimeoutSeconds is A Maximum allowed time in seconds for each retry count according to value set in MaxRetryCount field to execute Hook. timeout here is a hard timeout. MaxRetryCount field is related to TimeoutSeconds, Meaning each retry count will run with a timeout of TimeoutSeconds. The command needs to exit in that time, either with exit code 0 or non 0.

Maximum: 300 Minimum: 1 optional

HookInfo

HookInfo defines the config for hook action object reference to the matching regexes of pod and containers

Appears in:

Field
Description
Default
Validation

Hook is the object reference of the Hook resource which will be run while quiescing

required

podSelector PodSelector

PodSelector will identify set of pods for hook config based on either Labels or Regex pattern.

containerRegex string

ContainerRegex identifies containers for hook execution from pods which are filtered using PodSelector. If not given then hooks will be executed in all the containers of the identified pods

optional

HookPriority

HookPriority contain hook & their targeted resources

Appears in:

Field
Description
Default
Validation

Hook is the object reference of the Hook resource which will be run while quiescing

required

preHookConf HookConfiguration

PreHookConf defines how pre hook implementation will be handled

postHookConf HookConfiguration

PostHookConf defines how post hook implementation will be handled

hookTarget HookTarget array

HookTarget defines targeting hook resources.

HookPriorityStatus

HookPriorityStatus defines observed state for hooks priority wise.

Appears in:

Field
Description
Default
Validation

priority integer

Priority defines priority for hooks. backup controller will use Priority to determine sequence of hook execution. In case of parallel Mode, priority will be same for all, in case of sequential Mode, priority will be same for a group and not individual HookConfig Set. Default Priority is 0.

Minimum: 0

hooks HookPriority array

Hooks defines list of hooks with priority Priority.

MinItems: 1

HookSpec

HookSpec defines the desired state of Hook.

Appears in:

Field
Description
Default
Validation

PreHook is the Hook executed to quiesce the application before backup operation

PostHook is the Hook executed to unquiesce the application after backup operation

HookStatus

HookStatus defines the observed state of Hook.

Appears in:

HookTarget

Appears in:

Field
Description
Default
Validation

owner Owner

Owner specifies the parent for identified pods in PodHookStatus. backup controller will fetch pods from Owner to execute the hooks. Owner will be nil for pods with no owner.

optional

containerRegex string

ContainerRegex identifies containers in identified pods to execute hooks.

optional

podHookStatus PodHookStatus array

PodHookStatus specifies pre/post hook execution status for current backup.

optional

Image

Appears in:

Field
Description
Default
Validation

imageSnapshot ImageSnapshot

ImageSnapshot specifies the Snapshot of the container images in the backup.

optional

ImagePullSecret

ImagePullSecret defines imagePullSecrets and resource who used these imagePullSecrets

Appears in:

Field
Description
Default
Validation

referencedBy GVKR

ReferencedBy defines GVK and name of resource who is using these imagePullSecrets

imagePullSecrets ObjectReference array

ImagePullSecret is the pull secret to pull the container image

ImageRegistry

Appears in:

Field
Description
Default
Validation

repository string

Repository is a container repository to restore the backup container images

Type: string

registry string

Registry is container registry to restore the backup container images

Type: string

registryAuthSecret ObjectReference

RegistryAuthSecret contains the docker config auth file or username and password, which will authenticate the docker push

skipTLSVerify boolean

SkipTLSVerify is flag to skip the TLS verification while pushing the images to the registry

Type: boolean

ImageSnapshot

ImageSnapshot defines the snapshot of images defined by all applications.

Appears in:

Field
Description
Default
Validation

backupType BackupType

BackupType is the type of image backup in the sequence of backups.

Enum: [Incremental Full Mixed] optional

location string

Location is the absolute path of image qcow2 in the target.

optional

Size is the size of qcow2 created/restored in backup/restore.

optional

error string

Error is the error occurred while backing up image component if any.

optional

containerImages ContainerImage array

ContainerImages specifies the list of container images to use in the backup

optional

KeyValue

Underlying type: struct{Key string "json:"key""; Value string "json:"value""}

KeyValue specifies key-value pair for helm transformation

Appears in:

KubevirtStatus

Underlying type: string

KubevirtStatus specifies the state of kubevirt on cluster

Appears in:

Field
Description

Enabled

Disabled

LicenseCondition

LicenseCondition specifies the current condition of a license.

Appears in:

Field
Description
Default
Validation

Status is the status of the condition.

Enum: [Active Expired Invalid Error Warning] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

message string

A brief message indicating details about why the component is in this condition.

optional

Phase defines the current phase of the controller.

Enum: [Validation] optional

LicenseEdition

Underlying type: string

Deprecated : LicenseEdition specifies the edition of the license.

Appears in:

LicenseProperties

LicenseProperties specifies the properties of a license based on provided license key.

Appears in:

Field
Description
Default
Validation

company string

Company is the name of a company purchased license for.

optional

Deprecated: Edition is the type of license purchased to use triliovault application.

Enum: [FreeTrial Basic STANDARD PROFESSIONAL ENTERPRISE] optional

creationTimestamp Time

CreationTimestamp is the time license created to use triliovault application.

optional

purchaseTimestamp Time

PurchaseTimestamp is the time user purchased the license to use triliovault application.

optional

expirationTimestamp Time

ExpirationTimestamp is the time provided license going to expire and won't be able to perform backup/restore operation.

optional

maintenanceExpiryTimestamp Time

MaintenanceExpiryTimestamp is the time maintenance support for the provided license going to expire.

optional

kubeUID string

Deprecated: KubeUID is the kubesystem or namespace uuid of the cluster the license purchased for.

optional

scope Scope

Deprecated: Scope is the scope of a KubeUID the license purchased for.

Enum: [Cluster Namespaced] optional

version string

Version is the version of a license.

optional

sen string

SEN is the unique serial of a license purchased.

optional

numberOfUsers integer

NumberOfUsers is the total number of users the license valid for.

optional

serverID string

ServerID is the unique serverID of license purchased.

optional

licenseID string

LicenseID is the identifier for the license.

optional

capacity integer

Deprecated: Capacity is the maximum capacity to use the license in number of CPUs.

optional

active boolean

Active is the status of the license.

optional

LicenseSpec

LicenseSpec defines the desired state of License

Appears in:

Field
Description
Default
Validation

key string

Key is the product key to use triliovault application to perform backup/restore.

LicenseState

Underlying type: string

LicenseState specifies the overall status of the license.

Appears in:

Field
Description

Active

LicenseActive means the license key is valid and has not reached expiration.

Expired

LicenseExpired means the license key is valid and has reached expiration.

Invalid

LicenseInvalid means the license key is not valid.

LicenseStatus

LicenseStatus defines the observed state of License

Appears in:

Field
Description
Default
Validation

Status is the overall status of the license based on provided key.

Enum: [Active Expired Invalid Error Warning] optional

Enum: [Trilio AWS Azure] optional

message string

A brief message indicating details about why the license in this state.

optional

Properties is the details about the license based on provided license key.

optional

condition LicenseCondition array

Condition is the current condition of a license.

optional

currentCPUCount integer

Deprecated: CurrentCPUCount is the total number of CPUs currently available.

Minimum: 0 optional

gracePeriodStartTimestamp Time

Deprecated: GracePeriodStartTimestamp is the time grace period started to use triliovault application.

optional

gracePeriodEndTimestamp Time

Deprecated: GracePeriodEndTimestamp is the time grace period for using the triliovault application going to end.

optional

maxCPUs integer

Deprecated: MaxCPUs is the count of maximum number of CPUs available in cluster.

Minimum: 0 optional

LicenseType

Underlying type: string

LicenseType specifies the license vendor.

Appears in:

Field
Description

Trilio

AWS

Azure

Mode

Underlying type: string

Mode is the enum for 2 modes of quiescing the application components i.e Sequential or Parallel

Validation:

  • Enum: [Sequential Parallel]

Appears in:

Field
Description

Sequential

Sequential defines the sequential quiescing mode and the quiescing sequence is required for this mode

Parallel

Parallel defines the quiescing mode to be parallel which means that the application components will be quiesced parallelly and hence the sequence will be ignored

MonthOfYear

Underlying type: string

Validation:

  • Enum: [January February March April May June July August September October November December]

Appears in:

Field
Description

January

February

March

April

May

June

July

August

September

October

November

December

MountLocation

MountLocation defines the location where the VM backup is mounted.

Appears in:

Field
Description
Default
Validation

pvcName string

optional

mountPath string array

optional

NFSCredentials

NFSCredentials defines the credentials to use NFS as a target type.

Appears in:

Field
Description
Default
Validation

nfsExport string

A NFS location in format trilio.net:/data/location/abcde or 192.156.13.1:/user/keeth/data.

nfsOptions string

An additional options passed to mount NFS directory e.g. rw, suid, hard, intr, timeo, retry.

optional

NamespaceSelector

NamespaceSelector defines namespaces for which backups are to be taken based on NamespaceSelector(labels & match expression) & their configurations

Appears in:

Field
Description
Default
Validation

name string

Name specify name for NamespaceSelector, useful to identify why namespaces grouped together using LabelSelector

labelSelector LabelSelector array

LabelSelector identifies set of namespaces for which backup are to be taken based on labels & match expression

MinItems: 1

hookConfig HookConfig

hookConfig defines backup pre/post hooks and their configurations.

optional

includeResources ResourceSelector

IncludeResources specifies the resources included during backup

optional

excludeResources ResourceSelector

ExcludedResources specifies the resources excluded during backup

optional

retainHelmApps boolean

RetainHelmApps is a bool value that states that backup the helm application using helm way while taking namespace backup.

optional

OLMResource

OLMResource defines the snapshot of OLM based operators

Appears in:

Field
Description
Default
Validation

olmResources Resource array

olmResources represents the resources installed by the subscription

optional

dependentSubscription ObjectReference array

dependentSubscription represents if current subscription has any dependent subscription.

optional

installedGVKs GroupVersionKind array

InstalledGVKs is GVKs installed by particular subscription/operator

optional

ObjectStoreCredentials

ObjectStoreCredentials defines the credentials to use Object Store as a target type.

Appears in:

Field
Description
Default
Validation

url string

URL to connect the Object Store.

optional

credentialSecret ObjectReference

CredentialSecret is object ref of a secret which contains target credentials like accessKey, secretKey, etc.

optional

sslCertConfig SSLCert

SSLCertConfig is the configuration for SSL certificate.

optional

bucketName string

BucketName is the name of a bucket within Object Store.

region string

Region where the Object Store resides.

optional

objectLockingEnabled boolean

ObjectLockingEnabled specify if target is set to be immutable

optional

skipCertVerification boolean

SkipCertVerification specify if target needs to be accessed without certificate verification and usage.

optional

OperationType

Underlying type: string

OperationType specifies the type of operation for Job

Appears in:

Field
Description

Snapshot

SnapshotOperation means the snapshot operation of kubernetes resources

Upload

UploadOperation means the operation where resources uploaded to target

MetadataUpload

MetadataUploadOperation means the operation where resources uploaded to target

Retention

Retention means the on successful backup going to maintain backups based on policy

Validation

ValidationOperation will be used in case of validation operations on resources

PrimitiveRestore

PrimitiveRestoreOperation will be used when primitive meta and data resources are to be restored

HookTargetIdentification

HookTargetIdentification indicates phase where hook targets are identified

Quiesce

QuiesceOperation will be used in pre hook execution on identified Pod and containers

Unquiesce

UnquiesceOperation will be used in post hook execution on identified Pod and containers

PreBackupValidation

PreBackupValidationOperation will be used in pre incremental or mixed backups backing chain validation operation

PreClusterBackupValidation

PreClusterBackupValidationOperation will be used in pre incremental or mixed clusterBackup's child backups backing chain validation operation

MetaSnapshot

MetaSnapshotOperation means operation where metadata resources are under snapshot operation

DataSnapshot

DataSnapshotOperation means operation where data resources are under snapshot operation

DataUpload

DataUploadOperation means operation where data snapshot is uploaded to the target.

TargetBrowsing

TargetBrowsingOperation means operation where target browsing is toggled for target instance

DataRestore

DataRestoreOperation means the restore of particular data component

DataUploadUnquiesce

DataUploadUnquiesceOperation means the data upload and unquiesce are going in parallel

ImageBackup

ImageBackupOperation means operation where backup of an image is taken and uploaded to target.

Backup

BackupOperation represents aggregate backup of ClusterBackup.

Restore

RestoreOperation represents aggregate restore of ClusterRestore.

PreClusterRestore

PreClusterRestoreOperation means operation where all backups from target are read & individual restores are created from them

ClusterRestoreCleanup

ClusterRestoreCleanupOperation means the cleanup of resources created by all restores

AddProtection

AddProtectionOperation means recreate the protecting resources.

Sync

SyncOperation means backupPlan reconciling started

EventTarget

EventTargetOperation means operation where event target stack is toggled for target instance

PreConsistentSet

PreConsistentSetOperation means operation where all backups from location are read & their info updated in ConsistentSet status

TargetValidation

TargetValidationOperation means the validation of the target is in-progress

Cleanup

CleanupOperation means the backup controller is cleaning up the stale resources

Cancel

CancelOperation means the backup mark for deletion.

BackupPlanTargetUpdateValidation

BackupPlanTargetUpdateValidationOperation means the validation of the target when updated in backupPlan

Operator

Operator defines the snapshot of application defined by an Operator.

Appears in:

Field
Description
Default
Validation

operatorId string

OperatorId is unique ID for a particular operator

MinLength: 1

customResources Resource array

CustomResources is the list of all custom resource's GVK and names list

MinItems: 1 optional

helm Helm

Helm represents the snapshot of the helm chart for helm based operator

optional

olm object (keys:string, values:OLMResource)

Olm represent the snapshot of the olm based operator

optional

subscription ObjectReference

Subscription is the subscription name of the operator.

optional

operatorResources Resource array

OperatorResources defines the a kubernetes resources found from Operator resources.

MinItems: 1 optional

applicationResources Resource array

ApplicationResources defines the kubernetes resources found from operator Custom Resources.

MinItems: 1 optional

dataSnapshots DataSnapshot array

DataSnapshot specifies the Snapshot of the Volumes defined in the operator resources.

optional

warnings string array

Warnings is the list of warnings captured during backup or restore of an application

optional

OperatorSelector

OperatorSelector defines the mapping of operator name and their selectors

Appears in:

Field
Description
Default
Validation

operatorId string

OperatorId is any unique ID for a particular operator

MinLength: 1

customResources Resource array

CustomResources list resources where each resource contains custom resource gvk and metadata

MinItems: 1 optional

helmRelease string

HelmRelease is the release name of the helm based operator

optional

subscription ObjectReference

Subscription is the subscription name of the operator.

optional

operatorResources ResourceSelector

OperatorResources specify operator resource selection based on LabelSelector & GVKSelector

optional

applicationResources ResourceSelector

ApplicationResources specify resource selection for instances deployed by the operator resources based on LabelSelector & GVKSelector.

optional

excludeResources ResourceSelector

ExcludeResources specify operator resources to exclude from backup based on LabelSelector & GVKSelector

optional

Owner

Appears in:

Field
Description
Default
Validation

groupVersionKind GroupVersionKind

GroupVersionKind specifies GVK uniquely representing particular owner type.

name string

Name is name of owner

Patch

Underlying type: struct{Op Op "json:"op""; From string "json:"from,omitempty""; Path string "json:"path""; Value *k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON "json:"value,omitempty""}

Appears in:

PodContainers

PodContainers defines Pod and containers running in that Pod.

Appears in:

Field
Description
Default
Validation

podName string

PodName is the name of pod which will be the key for the map between pod containers list

MinLength: 1 optional

containers string array

Containers is the list of containers inside a pod

optional

PodSelector

PodSelector selects pods for hook execution based on either Labels or Regex pattern. Both Labels & Regex can also specify

Appears in:

Field
Description
Default
Validation

labels LabelSelector array

MinItems: 1 optional

regex string

optional

PolicySpec

PolicySpec defines the desired state of Policy

Appears in:

Field
Description
Default
Validation

Type is a field of Policy spec, which defines the policy type containing only 3 values: Retention, Timeout, Cleanup.

Enum: [Timeout Retention Cleanup Schedule SecurityScan ContinuousRestore] required

default boolean

Default field states if the current type of policy is default across the TV application

optional

retentionConfig RetentionConfig

RetentionConfig field defines the configuration for Retention policy

optional

timeoutConfig TimeoutConfig

TimeoutConfig field defines the configuration for timeout policy

optional

cleanupConfig CleanupConfig

CleanupConfig field defines the configuration for Cleanup policy

optional

scheduleConfig Crons

ScheduleConfig field defines the configuration for Schedule policy

optional

securityScanConfig SecurityScanConfig

SecurityScanConfig field defines the configuration for SecurityScan policy

optional

continuousRestoreConfig ContinuousRestoreConfig

ContinuousRestoreConfig field defines the configuration for ContinuousRestore policy

optional

PolicyStatus

PolicyStatus defines the observed state of Policy

Appears in:

PolicyType

Underlying type: string

PolicyType is the Enum for types of policies

Validation:

  • Enum: [Timeout Retention Cleanup Schedule SecurityScan ContinuousRestore]

Appears in:

Field
Description

Timeout

Retention

Cleanup

Schedule

SecurityScan

ContinuousRestore

PrePostHookStatus

PrePostHookStatus defines Pre and Post hook execution status.

Appears in:

Field
Description
Default
Validation

status Status

Status is the status for pre/post hook execution

Enum: [InProgress Completed Failed] optional

exitStatus string

ExitStatus contains returned exit code and error trace after pre/post hook execution

optional

retryCount integer

RetryCount count used to retry hook execution within the time range specified by Timeout. This is the actual number of times backup controller retried for pre/post hook execution if MaxRetryCount>0. Default is 0

Maximum: 10 Minimum: 0 optional

RemoteInstance

RemoteInstance defines the available continuous restore TVK instances and their version

Appears in:

Field
Description
Default
Validation

instanceName string

InstanceName is the name of the available continuous restore TVK instance.

version string

Version is the TVK version of the available continuous restore TVK instance.

optional

masterEncryptionHash string

MasterEncryptionHash is the hash of the master encryption secret for a TVK instance. This field will be omitted for instances where encryption is not configured.

optional

Resource

Resource defines the list of names of a Kubernetes resource of a particular GVK.

Appears in:

Field
Description
Default
Validation

groupVersionKind GroupVersionKind

GroupVersionKind specifies GVK uniquely representing particular resource type.

objects string array

Objects is the list of names of all the objects of the captured GVK

optional

Resource Types

ResourceSelector

ResourceSelector used to define include/exclude resources as well as other resource selection, resource selection can be done using LabelSelector(MatchLabels & MatchExpression) & GVKSelector(GVK based & object names).

Appears in:

Field
Description
Default
Validation

labelSelector LabelSelector array

LabelSelector specifies resource selection using labels & match expression

MinItems: 1 optional

gvkSelector Resource array

GVKSelector specify resource selection using GVK & object name based selection Default ignore list won't be considered for these resources and will always be backed up whatever is specified

MinItems: 1 optional

RestoreApplication

RestoreApplication defines the snapshot contents of an Application Backup.

Appears in:

Field
Description
Default
Validation

helmCharts RestoreHelm array

HelmCharts specifies the backed up helm resources restored as Helm Charts.

optional

operators RestoreOperator array

Operators specifies the backed up operator resources restored as Operators.

optional

Custom specifies the backup up kubernetes resources.

optional

Image specifies the backed up container images to be restored

optional

RestoreCondition

RestoreCondition specifies the current condition of a restore resource.

Appears in:

Field
Description
Default
Validation

status Status

Status is the status of the condition.

Enum: [InProgress Error Completed Failed Skipped] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why the component is in this condition.

optional

Phase defines the current phase of the controller.

Enum: [TargetValidation Validation DataRestore MetadataRestore PrimitiveMetadataRestore Unquiesce RestoreCleanup AddProtection ImageRestore HookTargetIdentification DataOwnerUpdate] optional

RestoreConfig

Appears in:

Field
Description
Default
Validation

restoreFlags RestoreFlags

optional

transformComponents TransformComponents

optional

excludeResources Resource array

Deprecated: ExcludeResources field is now deprecated, Use ExcludeResourceSelector field instead to exclude resources based on LabelSelector & GVKSelector

MinItems: 1 optional

excludeResourceSelector ResourceSelector

ExcludeResourceSelector specifies the resources to be excluded while restoring, Based on LabelSelector & GVKSelector

optional

resourceSelector ResourceSelector

ResourceSelector allows users to select specific resources from clusterbackup to restore. To restore specific resources from a clusterbackup, you can select them by providing labels and a list of GVKs.

optional

resourcesReadyWaitSeconds integer

ResourcesReadyWaitSeconds is the wait time for restored application's pods to come up. If user application is having webhook then CR creation will fail is webhook is not up. Provide the wait time in such case.

Maximum: 1200 Minimum: 0 optional

RestoreCustom

RestoreCustom defines the backed up kubernetes resources.

Appears in:

Field
Description
Default
Validation

snapshot Custom

Snapshot defines the snapshot of custom application to be restored.

optional

Status specifies the details of component restore in a namespace

optional

RestoreFlags

Appears in:

Field
Description
Default
Validation

useOCPNamespaceUIDRange boolean

UseOCPNamespaceUIDRange specifies whether to restore the original uid or use the SCC UID range defined on OCP namespaces on the application data.

optional

skipIfAlreadyExists boolean

SkipIfAlreadyExists specifies whether to skip restore of a resource if already exists in the namespace restored.

optional

patchIfAlreadyExists boolean

PatchIfAlreadyExists specifies whether to patch spec of a already exists resource in the namespace restored.

optional

patchCRD boolean

PatchCRD specifies whether to patch spec of a already exists crd.

optional

omitMetadata boolean

OmitMetadata specifies whether to omit metadata like labels, annotations of resources while restoring them.

optional

skipOperatorResources boolean

SkipOperatorResources specifies whether to skip operator resources or not at the time of restore. (for the use case when operator is already present and the application of that operator needs to be restored)

optional

disableIgnoreResources boolean

DisableIgnoreResources is responsible for the behavior of default list of resources being ignored at the restore. If set to true, those resources will not be ignored

optional

onlyData boolean

OnlyData flag decides if the restore operation will only restore data components.

optional

onlyMetadata boolean

OnlyMetadata flag decides if the restore operation will only restore metadata components.

optional

overrideImageIfExist boolean

OverrideImageIfExist overrides existing image from the backup image if it is already present.

optional

restoreStorageClass boolean

RestoreStorageClass specifies if user wants to restore the storage class or not.

optional

retainHelmReleaseName boolean

RetainHelmReleaseName specifies if user wants to retain the helm release name after restore.

optional

restoreVMMACAddress boolean

RestoreVMMACAddress specifies whether to assign backed up VM MAC address to the restored VM

optional

RestoreHelm

RestoreHelm defines the backed up helm application to be restored.

Appears in:

Field
Description
Default
Validation

snapshot Helm

Snapshot defines the snapshot of application to be restored by a Helm.

optional

Status specifies the details of component restore in a namespace

optional

RestoreImage

RestoreImage defines the backup container images to be restored.

Appears in:

Field
Description
Default
Validation

imageSnapshot ImageSnapshot

ImageSnapshot are the images which are restored from the backup.

RestoreOperator

RestoreOperator defines the backed up operator application to be restored.

Appears in:

Field
Description
Default
Validation

snapshot Operator

Snapshot defines the snapshot of application to be restored by a Operator.

optional

Status specifies the details of component restore in a namespace

optional

RestorePhase

Underlying type: string

RestorePhase specifies the one of phase of Restore operation

Validation:

  • Enum: [TargetValidation Validation DataRestore MetadataRestore PrimitiveMetadataRestore Unquiesce RestoreCleanup AddProtection ImageRestore HookTargetIdentification DataOwnerUpdate]

Appears in:

Field
Description

TargetValidation

RestoreTargetValidation means the validation of the target created in the restore namespace

Validation

RestoreValidation means the validation of backed up resources for the restore

DataRestore

DataRestore means the restore operation of volumes from backed up images

MetadataRestore

MetadataRestore means the restore operation of backed up validated metadata

HookTargetIdentification

HookTargetIdentificationRestore means identification of hook targets for restore

Unquiesce

UnquiesceRestore means the unquiescing the restored application

PrimitiveMetadataRestore

PrimitiveMetadataRestore means the restore operation of primitive backed up resources This RestorePhase will occur after validation phase

RestoreCleanup

RestoreCleanup means the cleanup of resources created by failed restore

AddProtection

AddProtection phase creates the tvk resources to preserve a restored application

ImageRestore

ImageRestore phase restores the backed up images of the resources

DataOwnerUpdate

DataOwnerUpdate phase updates namespace UID in the restore operation.

RestoreSource

RestoreSource defines the source from where the restore is to be done

Appears in:

Field
Description
Default
Validation

Type is the type of source for restore

Enum: [Backup Snapshot Location BackupPlan ConsistentSet ContinuousRestorePlan]

Backup is a reference to the Backup instance restored if type is Backup.

optional

Snapshot is a reference to the Snapshot instance restored if type is Snapshot.

optional

Target is a reference to the Target instance where from restore is performed if type is Location.

optional

location string

Location is an absolute path to remote target from where restore is performed if type is Location.

optional

backupPlan ObjectReference

BackupPlan is a reference to the BackupPlan whose latest successful backup is to be restored.

optional

consistentSet ObjectReference

ConsistentSet is a reference to the ConsistentSet where restore is performed if type is ConsistentSet.

optional

continuousRestorePlan ObjectReference

ContinuousRestorePlan is a reference to the ContinuousRestorePlan where restore is performed if type is ContinuousRestorePlan.

optional

RestoreSourceType

Underlying type: string

RestoreSourceType defines the type of source for restore

Appears in:

Field
Description

Backup

BackupSource means that the restore is performed from backup instance.

Snapshot

SnapshotSource means that the restore is performed from snapshot instance

Location

LocationSource means that the restore is performed from remote target location

BackupPlan

BackupPlanSource means that the restore is performed from backup instance

ConsistentSet

ConsistentSetSource means that the restore is performed from ConsistentSet instance

ContinuousRestorePlan

ContinuousRestorePlanSource means that restore is performed from ContinuousRestore instance

RestoreSpec

RestoreSpec defines the desired state of Restore

Appears in:

Field
Description
Default
Validation

Source defines the source referred for performing restore operation

restoreFlags RestoreFlags

optional

actionFlags ActionFlags

optional

env EnvVar array

Env is the List of environment variables to set in the container. Cannot be updated.

optional

transformComponents TransformComponents

TransformComponents specifies the component-wise transformation configuration

optional

excludeResources Resource array

Deprecated: ExcludeResources field is now deprecated, Use ExcludeResourceSelector field instead to exclude resources based on LabelSelector & GVKSelector

MinItems: 1 optional

excludeResourceSelector ResourceSelector

ExcludeResourceSelector specifies the resources to be excluded while restoring, Based on LabelSelector & GVKSelector

optional

resourceSelector ResourceSelector

ResourceSelector allows users to select specific resources from backup to restore. To restore specific resources from a backup, you can select them by providing labels and a list of GVKs.

optional

hookConfig HookConfig

HookConfig specifies the Post Restore Hooks Executed in reverse sequence of the sequence specified here

optional

encryption Encryption

Encryption specify encryption key to decrypt the encrypted data.

optional

resourcesReadyWaitSeconds integer

ResourcesReadyWaitSeconds is the wait time for restored application's pods to come up. If user application is having webhook then CR creation will fail is webhook is not up. Provide the wait time in such case.

Maximum: 1200 Minimum: 0 optional

imageRegistry ImageRegistry

ImageRegistry specifies the configuration to restore container images.

optional

RestoreStats

RestoreStats defines the stats for a Restore

Appears in:

Field
Description
Default
Validation

backupPlan ObjectReference

BackupPlan is the reference to BackupPlan associated with Restore

optional

Backup is the reference to the Backup associated with Restore

optional

Snapshot is the reference to the Snapshot associated with Restore

optional

RestoreStatus

RestoreStatus defines the observed state of Restore

Appears in:

Field
Description
Default
Validation

restoreScope ComponentScope

RestoreScope indicates scope of component being restored i.e. App or Namespace.

Enum: [App Namespace] optional

applicationType ApplicationType

ApplicationType is the type of Application restored in the App Scoped backup

Enum: [Helm Operator Custom Namespace MultiNamespace] optional

startTimestamp Time

StartTimestamp is the time a restore was started.

optional

completionTimestamp Time

CompletionTimestamp is the time a restore was finished.

optional

Phase is the current phase of the restore operation.

Enum: [TargetValidation Validation DataRestore MetadataRestore PrimitiveMetadataRestore Unquiesce RestoreCleanup AddProtection ImageRestore HookTargetIdentification DataOwnerUpdate] optional

phaseStatus Status

PhaseStatus is the status of phase restore operation going through.

Enum: [InProgress Pending Error Completed Failed] optional

status Status

Status is the status of the restore operation.

Enum: [InProgress Pending Error Completed Failed] optional

Size is the aggregate size of the data restored back.

optional

percentageCompletion integer

PercentageCompletion is the amount of restore operation completed.

Maximum: 100 Minimum: 0 optional

restoreApplication RestoreApplication

RestoreApplication defines the information about the different applications restored back to cluster.

HookStatus specifies pre/post hook execution status for current backup.

optional

condition RestoreCondition array

Condition is the current condition of restore resource.

optional

optional

duration Duration

Duration is the amount of time the restore process took to finish.

optional

protectingResources Resource array

ProtectingResources lists the Trilio resources and dependent resources which are getting created after user application restore operation. It's applicable only if ProtectRestoredApp is set to true.

optional

encryptionEnabled boolean

EncryptionEnabled flag shows that encryption is enabled for backup

optional

RestoreSummary

RestoreSummary comprises restore object references and count of restore with different statuses

Appears in:

Field
Description
Default
Validation

latestRestore ObjectReference

LatestRestore is the reference to Latest Restore in any state, of a BackupPlan

optional

lastSuccessfulRestore ObjectReference

LastSuccessfulRestore is the reference to Latest completed Restore of a BackupPlan

optional

totalInProgressRestores integer

TotalInProgressRestores is the count of total number of InProgress Restores

optional

totalCompletedRestores integer

TotalCompletedRestores is the count of total number of Completed Restores

optional

totalFailedRestores integer

TotalFailedRestores is the count of total number of Failed Restores

optional

RetentionConfig

RetentionConfig is the configuration for the PolicyType: Retention

Appears in:

Field
Description
Default
Validation

latest integer

Latest is the max number of latest backups to be retained

Format: int Minimum: 1 optional

weekly integer

Weekly is max number of backups to be retained in a week

Format: int Minimum: 1 optional

monthly integer

Monthly is max number of backups to be retained in a month

Format: int Minimum: 1 optional

yearly integer

Yearly is max number of backups to be retained in a year

Format: int Minimum: 1 optional

dayOfWeek DayOfWeek

DayOfWeek is Day of the week to maintain weekly backup/restore resources

Enum: [Monday Tuesday Wednesday Thursday Friday Saturday Sunday] optional

dateOfMonth int

DateOfMonth is Date of the month to maintain monthly backup/restore resources

Format: int Maximum: 28 Minimum: 1 optional

monthOfYear MonthOfYear

MonthOfYear is the month of the backup to retain for yearly backups

Enum: [January February March April May June July August September October November December] optional

SSLCert

SSLCert defines the configuration for SSL certificate.

Appears in:

Field
Description
Default
Validation

certConfigMap ObjectReference

certConfigMap is the object reference to the ConfigMap containing the SSL certificate.

optional

certKey string

certKey is the key in the ConfigMap containing the SSL certificate.

optional

ScanInstance

ScanInstance specifies the info about Security ScanInstance and its related report summary

Appears in:

Field
Description
Default
Validation

scanInstanceName string

ScanInstanceName is the name of the ScanInstance triggered on the Security site

required

scanTimestamp Time

ScanTimestamp is the time stamp when scanning completed/failed

optional

backupScanInfo object (keys:string, values:BackupScanInfo)

BackupScanInfo defines the scanning report for Backup or each Backup of a ClusterBackup It is the mapping of Backup-uuid and corresponding Scanning report

required

reportPath string

ReportPath is the location of Scanning report on the target

optional

ScannerStatus

Appears in:

Field
Description
Default
Validation

totalScans int

TotalScans denotes the total number of scans done for each type

optional

scansPassed int

ScansPassed denotes the number of scans passed out of TotalScans

optional

status Status

Status is the status of the condition.

Enum: [Completed Failed] optional

reportSummary Report

ReportSummary is the summary of vulnerabilities detected in the Security scanning

required

Scope

Underlying type: string

Scope specifies the scope of a resource.

Appears in:

Field
Description

Cluster

Namespaced

SecurityScanConfig

Appears in:

Field
Description
Default
Validation

schedule string array

Schedule is the cron schedules for periodic scanning of Backups/ClusterBackups

MinItems: 1 optional

retention integer

Retention is the number of Security Scan reports to be retained for each Backup

Format: int Minimum: 1 optional

SecurityScanConfigInfo

SecurityScanConfigInfo defines the Security Scan instances info which will be used for Backup/ClusterBackup scanning

Appears in:

Field
Description
Default
Validation

securityServiceInstances SecurityServiceInstance array

SecurityServiceInstances defines the list of Security instances which will perform the Backup/ClusterBackup Security scanning

MaxItems: 1 MinItems: 1 required

SecurityScanStatus

SecurityScanStatus specifies the details of Security scan status of an instance

Appears in:

Field
Description
Default
Validation

securityEnabled boolean

SecurityEnabled denotes if the Security service is actually enabled on the Security site

serviceStatus Status

ServiceStatus is the current Status of Security service Available/Unavailable. It is updated as per the heartbeat of Security service

Enum: [Available Unavailable] optional

lastScanTimestamp Time

LastScanTimestamp is the time stamp of the last scan performed on this BackupPlan/ClusterBackupPlan

optional

lastSuccessfulScanScanTimestamp Time

LastSuccessfulScanScanTimestamp is the time of the last successful scan performed this BackupPlan/ClusterBackupPlan

optional

scanPlan string

ScanPlan denotes the name of ScanPlan created for this BackupPlan/ClusterBackupPlan on the Security site

optional

SecurityScanStatusInfo

Appears in:

Field
Description
Default
Validation

scanInstances object (keys:string, values:ScanInstance)

ScanInstances defines the list of latest 3 Security ScanInstances which were triggered for a Backup/ClusterBackup Security scanning

required

SecurityServiceInstance

SecurityServiceInstance defines details of Security Scan for InstanceID specified

Appears in:

Field
Description
Default
Validation

instanceID string

InstanceID is the unique Instance ID of the Security Service to be used for Security Scanning

required

securityScanPolicy ObjectReference

SecurityScanPolicy is the object reference to the Security Scan Policy to be used for scanning

optional

scanAllBackups boolean

ScanAllBackups enables Security Scan on all Backups/ClusterBackups of BackupPlan/ClusterBackupPlan (old and new)

optional

SnapshotConfig

SnapshotConfig defines the required configuration for taking snapshots such as target and retention policy.

Appears in:

Field
Description
Default
Validation

Target is the object reference for the target resource

required

retentionPolicy ObjectReference

RetentionPolicy is the object reference for the policy of type retention defined

optional

schedulePolicy SnapshotSchedulePolicy

SchedulePolicy includes the object references of snapshot policy

optional

SnapshotInfo

SnapshotInfo contains the relevant information to uniquely identify a child Snapshot created from a ClusterSnapshot

Appears in:

Field
Description
Default
Validation

Snapshot ObjectReference of child Snapshot

optional

status Status

Status status of child Snapshot

optional

percentageCompletion integer

PercentageCompletion is the amount of Snapshot operation completed.

Maximum: 100 Minimum: 0 optional

location string

Location is the Snapshot's location on the target

optional

SnapshotSchedulePolicy

Appears in:

Field
Description
Default
Validation

snapshotPolicy ObjectReference

SnapshotPolicy is the object reference for the policy of type Schedule defined

optional

SnapshotSpec

SnapshotSpec defines the desired state of Snapshot

Appears in:

Field
Description
Default
Validation

backupPlan ObjectReference

BackupPlan is a reference to the BackupPlan to be backed up.

required

SnapshotSummary

SnapshotSummary consist of snapshot object references and count of snapshot with different statuses

Appears in:

Field
Description
Default
Validation

inProgressSnapshot ObjectReference

InProgressSnapshot is the reference to an InProgress snapshot of a BackupPlan

optional

lastSuccessfulSnapshot ObjectReference

LastSuccessfulSnapshot is the reference to Latest available Snapshot of a BackupPlan

optional

latestSnapshot ObjectReference

LatestSnapshot is the reference to Latest snapshot in any state, of a BackupPlan

optional

totalAvailableSnapshots integer

TotalAvailableSnapshots is the count of total number of Available Snapshots

optional

totalFailedSnapshots integer

TotalFailedSnapshots is the count of total number of Failed Snapshots

optional

totalQueuedSnapshots integer

TotalQueuedSnapshots is the count of total number of Queued Snapshots

optional

pvcExistsForSnapshot boolean

PVCExistsForSnapshot is a bool value that states if the latest snapshot of a backupPlan has PVCs in its data component

optional

SourceBackupInfo

Appears in:

Field
Description
Default
Validation

backupName string

BackupName is the name of source Backup

backupNamespace string

BackupNamespace is the namespace of source Backup

completionTimestamp Time

CompletionTimestamp is the time a backup was finished.

optional

location string

Location is the path of Backup on the target

TotalSize is the total size of data restored done for the Backup

optional

pvcSnapshotInfo object (keys:string, values:VolumeSnapshotInfo)

PVCSnapshotInfo is the mapping of source original PersistentVolumeClaim name, and it's corresponding VolumeSnapshot info

optional

transformStatus TransformStatus array

TransformStatus is the status of transformation performed

optional

status Status

Status is the current Status of Backup data restore operation

Enum: [InProgress Available Failed InUse Unavailable] optional

SourceBackupPlan

Appears in:

Field
Description
Default
Validation

kind string

Enum: [BackupPlan ClusterBackupPlan] optional

name string

optional

namespace string

optional

SourceInstanceInfo

Appears in:

Field
Description
Default
Validation

name string

optional

id string

optional

Status

Underlying type: string

Status specifies the status of WorkloadJob operating on

Appears in:

Field
Description

Pending

Pending means the process is created and yet to be processed

InProgress

InProgress means the process is under execution

Completed

Completed means the process execution successfully completed.

Ready

Ready means FileRecoveryVM processing is completed and it is ready for VM backup recovery.

Failed

Failed means the process is unsuccessful due to an error.

Available

Available means the resources blocked for the process execution are now available.

Unavailable

Unavailable means the resources blocked for the process execution

Error

Error means the resources blocked for the process execution

Coalescing

Coalescing means the backup is in intermediate state

Queued

Queued means the backup is queued for future processing.

InUse

InUse means the resource is in-use at the moment

Skipped

Skipped means the particular phase is skipped for the process execution

Canceling

Canceling means the backup is in Canceling state

Canceled

Canceled means the backup is in Canceled state

Degraded

Degraded means the backup's backing chains are in degraded state and the backup is not usable.

TargetCondition

TargetCondition specifies the current condition of a target resource.

Appears in:

Field
Description
Default
Validation

status Status

Status is the status of the condition.

Enum: [InProgress Error Completed Failed] optional

timestamp Time

Timestamp is the time a condition occurred.

optional

reason string

A brief message indicating details about why the component is in this condition.

optional

Phase defines the current phase of the controller.

Enum: [Validation TargetBrowsing EventTarget] optional

TargetInfo

TargetInfo contains minimal information about target populated in backup stats

Appears in:

Field
Description
Default
Validation

Target is the reference to a Target backuped up

optional

Type is the type of target for backup storage.

Enum: [ObjectStore NFS]

vendor Vendor

Vendor is the third party storage vendor hosting the target

Enum: [AWS RedhatCeph Ceph IBMCleversafe Cloudian Scality NetApp Cohesity SwiftStack Wasabi Wassabi MinIO DellEMC Azure DigitalOcean OVH Other]

TargetSpec

TargetSpec defines the specification of a Target.

Appears in:

Field
Description
Default
Validation

Type is the type of target for backup storage.

Enum: [ObjectStore NFS]

vendor Vendor

Vendor is the third party storage vendor hosting the target

Enum: [AWS RedhatCeph Ceph IBMCleversafe Cloudian Scality NetApp Cohesity SwiftStack Wasabi Wassabi MinIO DellEMC Azure DigitalOcean OVH Other]

nfsCredentials NFSCredentials

NfsCredentials specifies the credentials for TargetType NFS

optional

objectStoreCredentials ObjectStoreCredentials

ObjectStoreCredentials specifies the credentials for TargetType ObjectStore

optional

enableBrowsing boolean

EnableBrowsing specifies if target browser feature should be enabled for this target or not

optional

thresholdCapacity Quantity

ThresholdCapacity is the maximum threshold capacity to store backup data.

optional

TargetStats

TargetStats defines the stats for a Target

Appears in:

Field
Description
Default
Validation

totalBackupPlans integer

TotalBackupPlans is the count of total number of BackupPlans of a Target

optional

capacityOccupied Quantity

CapacityOccupied is the aggregate of total size occupied on the Target by Backups

optional

applicationCapacity Quantity

optional

applicationCapacityConsumed Quantity

optional

TargetStatus

TargetStatus defines the observed state of Target

Appears in:

Field
Description
Default
Validation

condition TargetCondition array

Condition is the current condition of a target.

optional

status Status

Status is the final Status of target Available/Unavailable

Enum: [InProgress Available Unavailable] optional

browsingEnabled boolean

BrowsingEnabled specifies if target browser feature is enabled for this target or not

optional

optional

nfsPersistentVolume ObjectReference

NFSPersistentVolume is the object reference to the PersistentVolume of NFS volume type with target NFS credentials

optional

nfsPersistentVolumeClaim ObjectReference

NFSPersistentVolumeClaim is the object reference to the PersistentVolumeClaim bound to NFS volume attached to the Container

optional

defaultRetentionPeriod integer

DefaultRetentionPeriod is the period set by default on the target This value will always be in number of days

eventTargetEnabled boolean

EventTargetEnabled specifies if target is configured as Event target or not

optional

availableContinuousRestoreInstances object (keys:string, values:RemoteInstance)

AvailableContinuousRestoreInstances is the map of instance IDs to instance names which are available to be used as ContinuousRestore site

optional

availableSecurityInstances object (keys:string, values:RemoteInstance)

AvailableSecurityInstances is the map of instance IDs to instance names which are available to be used as SecurityScanning site

optional

TargetType

Underlying type: string

TargetType is the type of target.

Validation:

  • Enum: [ObjectStore NFS]

Appears in:

Field
Description

ObjectStore

NFS

TimeoutConfig

TimeoutConfig is the configuration for the PolicyType: Timeout

Appears in:

TransformComponents

TransformComponents specifies component wise transformation configuration

Appears in:

Field
Description
Default
Validation

helm HelmTransform array

HelmTransform specifies the Transformation configuration for Helm charts

MinItems: 1 optional

custom CustomTransform array

CustomTransform specifies the Transformation configuration for Custom label-based backup

MinItems: 1 optional

TransformStatus

TransformStatus specifies the details of transform operation

Appears in:

Field
Description
Default
Validation

transformName string

TransformName is the name of transformation

status Status

Status is the status of transform operation

Enum: [Completed Failed]

transformedResources Resource array

TransformedResources Specifies the resources transformed as part of transformation

optional

reason string

Reason is reason for status in case of failure

optional

Vendor

Underlying type: string

Vendor is the third party storage vendor hosting the target

Validation:

  • Enum: [AWS RedhatCeph Ceph IBMCleversafe Cloudian Scality NetApp Cohesity SwiftStack Wasabi Wassabi MinIO DellEMC Azure DigitalOcean OVH Other]

Appears in:

Field
Description

AWS

RedHatCeph

Ceph

IBMCleversafe

Cloudian

Scality

NetApp

Cohesity

SwiftStack

Wasabi

Wassabi

MinIO

Azure

DellEMC

DigitalOcean

OVH

Other

VolumeSnapshot

VolumeSnapshot defines the CSI snapshot of a Persistent Volume.

Appears in:

Field
Description
Default
Validation

volumeSnapshot ObjectReference

VolumeSnapshot is a reference to the Persistent Volume Snapshot captured.

optional

retryCount integer

RetryCount is the number of attempts made to capture Volume Snapshot.

optional

status Status

Status is the status defining the progress of Volume Snapshot capture.

Enum: [InProgress Pending Error Completed Failed Unavailable Skipped] optional

error string

Error is the error occurred while capturing Volume Snapshot if any.

optional

VolumeSnapshotInfo

Appears in:

Field
Description
Default
Validation

volumeSnapshotSourcePVC ObjectReference

VolumeSnapshotSourcePVC is the objectReference of the temporary PersistentVolumeClaim used for creating VolumeSnapshot

optional

prePopulated boolean

PrePopulated field is a bool field which denotes if the PersistentVolumeClaim used is already populated with data or not

optional

Size is the size of the actual data restored in the PVC.

optional

volumeSnapshot VolumeSnapshot

VolumeSnapshot specifies the CSI snapshot of a Persistent Volume.

optional

path string

Path is the qcow2 path for the PersistentVolume data on the target

optional

owner Owner

Owner specifies the parent for DataComponent. Owner will be nil for DataComponent with no direct/indirect owner. This is helpful for dataMover to decide how to take data backup for this PVC.

optional

conditions Conditions array

Conditions are the current statuses of restore PVCs.

optional

snapshotSize Quantity

SnapshotSize is the size of the volume snapshot of a Persistent Volume.

optional

Was this helpful?