Search…
Custom Resource Definition - Application
API reference for TrilioVault Application

triliovault.trilio.io/v1

Package v1 contains API Schema definitions for the triliocrds v1 API group

ApplicationType (string alias)

ApplicationType specifies type of a Backup of an application

Backup

Backup represents the capture of Kubernetes BackupPlan defined by user at a point in time
Field
Description
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec BackupSpec
Backup Specification
status BackupStatus
Backup Status

BackupComponent

(Appears on: ClusterBackupPlanSpec)
BackupComponent defines the namespace and their configurations for backup
Field
Description
namespace string
hookConfig HookConfig
hookConfig defines backup pre/post hooks and their configurations.
includeResources ResourceSelector
IncludeResources specifies the resources included during backup
excludeResources ResourceSelector
ExcludedResources specifies the resources excluded during backup

BackupCondition

(Appears on: BackupStatus)
BackupCondition specifies the current condition of a backup resource.
Field
Description
status Status
Status is the status of the condition.
Timestamp is the time a condition occurred.
reason string
A brief message indicating details about why the component is in this condition.
phase OperationType
Phase defines the current phase of the controller. nolint:lll // directive continuation

BackupConfig

(Appears on: BackupPlanSpec)
BackupConfig defines the require 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.
Field
Description
Target is the object reference for the backup target resources
RetentionPolicy is the object reference for the policy of type retention defined
schedulePolicy SchedulePolicy
SchedulePolicy includes the object references of 2 type of cron schedule policy: incremental and full
maxIncrBackupsPerFullBackup byte
MaxIncrBackupsPerFullBackup is the number of incremental backups after which full backup will ge triggered. This is relevant only in case of immutable backups

BackupInfo

(Appears on: ClusterBackupStatus)
BackupInfo contains the relevant information to uniquely identify a child Backup created from a ClusterBackup
Field
Description
Backup ObjectReference of child Backup
status Status
Status status of child Backup
percentageCompletion byte
PercentageCompletion is the amount of backup operation completed.
location string
Location is the Backup’s location on the target

BackupPlan

BackupPlan is the Schema for the BackupPlan API
Field
Description
Refer to the Kubernetes API documentation for the fields of the metadata field.
Backup Plan Specification
status BackupPlanStatus
Backup Plan Status

BackupPlanComponents

(Appears on: BackupPlanSpec)
BackupPlanComponents contains the 3 types of components, helm charts, operators and custom label-based resources
Field
Description
helmReleases []string
HelmReleases is the list of release names
operators []OperatorSelector
Operators is the list of operator names and their selectors
Deprecated: Custom is the combination of label selectors including match labels and match expressions
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

BackupPlanInfo

BackupPlanInfo defines the object reference and status of a backupPlan
Field
Description
BackupPlan is the object reference of a backupPlan
status Status
Status is the status of the backupPlan

BackupPlanSpec

(Appears on: BackupPlan)
BackupPlanSpec defines the desired state of BackupPlan
Field
Description
backupNamespace string
Namespace is the namespace from where the components of backupPlan to be selected Deprecated: After removal of cluster scope CRD support, Backup namespace will be same as BackupPlan namespace.
backupConfig BackupConfig
BackupConfig is the type containing the object references for all the configurations needed for backup operation
backupPlanComponents BackupPlanComponents
BackupPlanComponents includes all the components which defines this BackupPlan i.e Helm charts, operators and label based resources
hookConfig HookConfig
hookConfig defines backup pre/post hooks and their configurations.
includeResources ResourceSelector
IncludeResources specify resources to include for namespace scope backup based on LabelSelector & GVKSelector
excludeResources ResourceSelector
ExcludeResources specify resources to exclude for namespace scope backup based on LabelSelector & GVKSelector
encryption Encryption
Encryption specify how to encrypt backups on target for this backupPlan

BackupPlanStats

(Appears on: BackupPlanStatus)
BackupPlanStats defines the stats for a BackupPlan
Field
Description
backupSummary BackupSummary
Backup Summary
restoreSummary RestoreSummary
Restore Summary

BackupPlanStatus

(Appears on: BackupPlan)
BackupPlanStatus defines the observed state of BackupPlan
Field
Description
status Status
Status defines the status of the application resource as available when no operation is running and unavailable when a backup or restore operation is in progress
scope ComponentScope
Scope indicates scope of component in BackupPlan i.e. App or Namespace.
applicationType ApplicationType
ApplicationType is the type of BackupPlan defining backup
Deprecated: IncrementalCron will be used as an list of references of Crons
Deprecated: FullBackupCron will be used as an list of references of Crons
stats BackupPlanStats

BackupScheduleType (string alias)

BackupScheduleType specifies the type of schedule which triggered the backup

BackupSpec

(Appears on: Backup)
BackupSpec defines the desired state of Backup
Field
Description
type BackupType
Type is the type of backup in the sequence of backups of an Application.
BackupPlan is a reference to the BackupPlan to be backed up.

BackupStats

(Appears on: BackupStatus)
BackupStats specifies the stats of a Backup
Field
Description
Target is the reference to a Target backed up
latestInProgressRestore Kubernetes core/v1.ObjectReference
LatestInProgressRestore is the reference to the latest InProgress Restore of a Backup
latestCompletedRestore Kubernetes core/v1.ObjectReference
LatestCompletedRestore is the reference to the latest Completed Restore of a Backup
hookExists bool
HookExists is a bool value that states if a backup has hooks in backup plan
encryption Encryption
Encryption specifies encryption details of a backup
immutable bool
Immutable specify whether a backup data is immutable

BackupStatus

(Appears on: Backup)
BackupStatus defines the observed state of Backup
Field
Description
backupScope ComponentScope
BackupScope indicates scope of component in backup i.e. App or Namespace.
applicationType ApplicationType
ApplicationType is the type of Application backed up in the App Scoped backup
type BackupType
Type indicates the backup type in backup i.e. Full, Incremental or Mixed.
location string
Location is the absolute path of the target where backup resides.
startTimestamp Kubernetes meta/v1.Time
StartTimestamp is the time a backup was started.
completionTimestamp Kubernetes meta/v1.Time
CompletionTimestamp is the time a backup was finished.
phase OperationType
Phase is the current phase of the backup operation.
phaseStatus Status
PhaseStatus is the status of phase backup operation going through.
status Status
Status is the status of the backup operation.
Size is the aggregate size of the data backuped up.
percentageCompletion byte
PercentageCompletion is the amount of backup operation completed.
expirationTimestamp Kubernetes meta/v1.Time
ExpirationTimeStamp is the time a backup will not be available after retention.
snapshot Snapshot
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.
condition []BackupCondition
Condition is the current condition of hooks while backup.
hookStatus HookComponentStatus
HookStatus specifies pre/post hook execution status for current backup.
stats BackupStats
Duration is the amount of time the backup process took to finish.

BackupSummary

(Appears on: BackupPlanStats)
BackupSummary comprises of backup object references and count of backups with different statuses
Field
Description
InProgressBackup is the reference to an InProgress backup of a BackupPlan
lastSuccessfulBackup Kubernetes core/v1.ObjectReference
LastSuccessfulBackup is the reference to Latest available Backup of a BackupPlan
LatestBackup is the reference to Latest Backup in any state, of a BackupPlan
totalInProgressBackups uint32
TotalInProgressBackups is the count of total number of InProgress Backups
totalAvailableBackups uint32
TotalAvailableBackups is the count of total number of Available Backups
totalFailedBackups uint32
TotalFailedBackups is the count of total number of InProgress Backups
pvcExistsForBackup bool
PVCExistsForBackup is a bool value that states if the latest backup of a backup plan has PVCs in its data component

BackupType (string alias)

BackupType defines the type backup instance of an BackupPlan

CleanupConfig

(Appears on: PolicySpec)
CleanupConfig is the configuration for the PolicyType: Cleanup
Field
Description
backupDays int
BackupDays is the age of backups to be cleaned

ClusterBackup

ClusterBackup is the Schema for the ClusterBackup API
Field
Description
Refer to the Kubernetes API documentation for the fields of the metadata field.
Cluster Backup specification
Cluster Backup Status

ClusterBackupCondition

(Appears on: ClusterBackupStatus)
ClusterBackupCondition specifies the current condition of a clusterBackup resource.
Field
Description
phase OperationType
Phase defines the current phase of the controller.
status Status
Status is the status of the condition.
Timestamp is the time a condition occurred.
reason string
A brief message indicating details about why clusterBackup is in this condition.

ClusterBackupConfig

(Appears on: ClusterBackupPlanSpec)
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.
Field
Description
Target is the object reference for the backup target resources
RetentionPolicy is the object reference for the policy of type retention defined
schedulePolicy ClusterBackupSchedulePolicy
SchedulePolicy includes the object references of 2 type of cron schedule policy: incremental and full
maxIncrBackupsPerFullBackup byte
MaxIncrBackupsPerFullBackup is the number of incremental backups after which full backup will ge triggered. This is relevant only in case of immutable backups

ClusterBackupPlan

ClusterBackupPlan is the Schema for the ClusterBackupPlan API
Field
Description
Refer to the Kubernetes API documentation for the fields of the metadata field.
Specification for Cluster BackupPlan
Status for Cluster BackupPlan

ClusterBackupPlanCondition

ClusterBackupPlanCondition specifies the current condition of a cluster backup plan resource.
Field
Description
status Status
Status is the status of the condition.
Timestamp is the time a condition occurred.
reason string
A brief message indicating details about why the component is in this condition.

ClusterBackupPlanSpec

(Appears on: ClusterBackupPlan)
ClusterBackupPlanSpec defines the desired state of ClusterBackupPlan
Field
Description
backupComponents []BackupComponent
BackupComponents defines all the BackupComponents for which backups are to be taken. It includes namespaces and their configurations
backupConfig ClusterBackupConfig
BackupConfig is the type containing the object references for all the configurations needed for backup operation
includeResources ResourceSelector
IncludeResources specifies the resources to be explicitly included during backup
excludeResources ResourceSelector
ExcludedResources specifies the resources to be excluded from the backup
encryption Encryption
Encryption specify how to encrypt backups on target for this backupPlan

ClusterBackupPlanStats

ClusterBackupPlanStats defines the stats for a ClusterBackupPlan
Field
Description
clusterBackupSummary ClusterBackupSummary
Cluster Backup Summary
clusterRestoreSummary ClusterRestoreSummary
Cluster Restore Summary

ClusterBackupPlanStatus

(Appears on: ClusterBackupPlan)
ClusterBackupPlanStatus defines the observed state of ClusterBackupPlan
Field
Description
status Status
Status defines the current state of the ClusterBackupPlan resource. Available state ClusterBackupPlan only can be used for ClusterBackup
BackupPlans is the map of backupPlan name and its object ref managed by cluster backup plan
Condition is the current condition of a cluster backup plan.

ClusterBackupSchedulePolicy

(Appears on: ClusterBackupConfig)
ClusterBackupSchedulePolicy contains the object references for incremental or full backup type schedule policy
Field
Description
incrementalBackupPolicy Kubernetes core/v1.ObjectReference
IncrementalBackupPolicy is the object reference for the policy of type schedule defined
FullBackupPolicy is the object reference for the policy of type schedule defined

ClusterBackupSpec

(Appears on: ClusterBackup)
ClusterBackupSpec defines the desired state of ClusterBackup
Field
Description
type BackupType
Type is the type of clusterBackup in the sequence of clusterBackups.
ClusterBackupPlan is a reference to the ClusterBackupPlan to be backed up.

ClusterBackupStats

(Appears on: ClusterBackupStatus)
ClusterBackupStats specifies the stats of a ClusterBackup
Field
Description
Target is the reference to a Target backuped up
latestInProgressClusterRestore Kubernetes core/v1.ObjectReference
LatestInProgressClusterRestore is the reference to the latest InProgress ClusterRestore of a ClusterBackup
lastCompletedClusterRestore Kubernetes core/v1.ObjectReference
LastCompletedClusterRestore is the reference to the latest Completed ClusterRestore of a ClusterBackup
hookExists bool
HookExists is a bool value that states if a ClusterBackup has hooks in ClusterBackupPlan
encryption Encryption
Encryption specifies encryption details of a ClusterBackup
immutable bool
Immutable specify whether a clusterBackup data is immutable

ClusterBackupStatus

(Appears on: ClusterBackup)
ClusterBackupStatus defines the observed state of ClusterBackup
Field
Description
type BackupType
Type indicates the ClusterBackup type in backup i.e. Full, Incremental or Mixed.
location string
Location is the absolute path of the target where backup resides.
startTimestamp Kubernetes meta/v1.Time
StartTimestamp is the time when ClusterBackup was started.
completionTimestamp Kubernetes meta/v1.Time
CompletionTimestamp is the time when ClusterBackup finished.
status Status
Status is the status of the ClusterBackup operation.
Size is the aggregate size of the data backuped up.
percentageCompletion byte
PercentageCompletion is the percentage of ClusterBackup operation completed.
expirationTimestamp Kubernetes meta/v1.Time
ExpirationTimeStamp is the time after which a ClusterBackup will not be available after retention.
Condition is the conditions a ClusterBackup goes through during backup TODO: Define a separate condition struct
Duration is the amount of time the ClusterBackup process took to finish.
BackupInfos contains the information of the child Backup CRs created by this ClusterBackup
Cluster Backup Statistics

ClusterBackupSummary

(Appears on: ClusterBackupPlanStats)
ClusterBackupSummary comprises of ClusterBackup object references and count of ClusterBackups with different statuses
Field
Description
inProgressClusterBackup Kubernetes core/v1.ObjectReference
InProgressClusterBackup is the reference to an InProgress ClusterBackup of a ClusterBackupPlan
lastSuccessfulClusterBackup Kubernetes core/v1.ObjectReference
LastSuccessfulClusterBackup is the reference to Latest available ClusterBackup of a ClusterBackupPlan
latestClusterBackup Kubernetes core/v1.ObjectReference
LatestClusterBackup is the reference to Latest ClusterBackup in any state, of a ClusterBackupPlan
totalInProgressClusterBackups uint32
TotalInProgressClusterBackups is the count of total number of InProgress ClusterBackups
totalAvailableClusterBackups uint32
TotalAvailableClusterBackups is the count of total number of Available ClusterBackups
totalFailedClusterBackups uint32
TotalFailedClusterBackups is the count of total number of Failed ClusterBackups.
pvcExistsForBackup bool
PVCExistsForBackup is a bool value that states if the latest clusterBackup of a clusterBackupPlan has any backup that has PVCs in its data component

ClusterRestore

ClusterRestore defines the desired state of ClusterRestore
Field
Description
Refer to the Kubernetes API documentation for the fields of the metadata field.
Cluster Restore Specification
Cluster Restore Status

ClusterRestoreCondition

(Appears on: ClusterRestoreStatus)
Field
Description
phase OperationType
Phase defines the current phase of the controller.
status Status
Status is the status of the cluster restore.
Timestamp is the time a condition occurred.
reason string
A brief message indicating details about why the component is in this condition.

ClusterRestoreSource

(Appears on: ClusterRestoreSpec)
Field
Description
Type is the type of source for restore
ClusterBackup is a reference to the ClusterBackup instance restored if type is ClusterBackup.
Target is a reference to the Target instance where from restore is performed if type is Location.
location string
Location is an absolute path to remote target from where restore is performed if type is Location.
ClusterBackupPlan is a reference to the ClusterBackupPlan whose latest successful backup is to be restored.

ClusterRestoreSourceType (string alias)

(Appears on: ClusterRestoreSource)

ClusterRestoreSpec

(Appears on: ClusterRestore)
ClusterRestoreSpec defines the source from where the ClusterRestore is to be done
Field
Description
Type is the type of source for ClusterRestore
globalConfig RestoreConfig
GlobalConfig is the global restore configuration which is applicable for the components of restore unless explicitly overridden at the component level
components []ComponentConfig
Components defines the components and their custom configuration using which individual component restore is to be done
excludeComponents []string
ExcludeComponents specifies the components(namespaces) to be excluded from the ClusterRestore
cleanupOnFailure bool
CleanupOnFailure is flag to perform cleanup for all restores when ClusterRestore has failed.
encryption Encryption
Encryption specify encryption key to decrypt the encrypted data.

ClusterRestoreStats

(Appears on: ClusterRestoreStatus)
ClusterRestoreStats defines the stats for a RestorCluster
Field
Description
ClusterBackupPlan is the reference to ClusterBackupPlan associated with ClusterRestore
ClusterBackup is the reference to the ClusterBackup associated with ClusterRestore

ClusterRestoreStatus

(Appears on: ClusterRestore)
ClusterRestoreStatus defines the observed state of ClusterRestore
Field
Description
startTimestamp Kubernetes meta/v1.Time
StartTimestamp is the time when ClusterRestore was started.
completionTimestamp Kubernetes meta/v1.Time
CompletionTimestamp is the time when ClusterRestore finished.
phase OperationType
Phase is the current phase of the ClusterRestore operation.
phaseStatus Status
PhaseStatus is the status of phase ClusterRestore operation going through.
status Status
Status is the status of the ClusterRestore operation.
Size is the aggregate size of the data restored back.
percentageCompletion byte
PercentageCompletion is the percentage of ClusterRestore operation completed.