Custom Resource Definitions - Application
This page describes the type and accepted values for all Trilio Custom Resource Definitions.
Deprecated Documentation
This document is deprecated and no longer supported. For accurate, up-to-date information, please refer to the documentation for the latest version of Trilio.
# Custom Resource Definitions - Application
Backup
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata
field.
spec
BackupSpec
Refers to the spec of the Backup CR
status
BackupStatus
Refers to the status of the Backup CR
BackupConfig
(Appears on: BackupPlanSpec)
BackupConfig defines the require configuration for taking the backup such as target and retention policy
target
Kubernetes core/v1.ObjectReference
Target is the object reference for the backup target resources
retentionPolicy
Kubernetes core/v1.ObjectReference
RetentionPolicy is the object reference for the policy of type retention defined
schedulePolicy
SchedulePolicy
SchedulePolicy includes the 2 type of cron schedule specs: incremental and full
BackupPlan
BackupPlan is the Schema for the applications API
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata
field.
spec
BackupPlanSpec
Refers to the spec of the BackupPlan CR
status
BackupPlanStatus
Refers to the status of the BackupPlan CR
BackupPlanComponents
(Appears on: BackupPlanSpec)
BackupPlanComponents contains the 3 types of components, helm charts, operators and custom label-based resources
helmReleases
[]string
HelmReleases is the list of release names
operators
[]OperatorSelector
Operators is the list of operator names and their selectors
Custom is the combination of label selectors including match labels and match expressions
BackupPlanSpec
(Appears on: BackupPlan)
BackupPlanSpec defines the desired state of BackupPlan
backupNamespace
string
Namespace is the namespace from where the components of backupPlan to be selected
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
hooks
[]HookConfig
Hooks section defines the config for hook action object reference to the matching regexes of pod and containers
quiescingMode
QuiescingMode
QuiescingMode is the quiescing mode which can be sequential or parallel. If mode is parallel, ignore the sequence config
sequence
[]Kubernetes meta/v1.LabelSelector
QuiescingSequence is the list of label selectors of 2 types match labels and match expressions
BackupPlanStatus
(Appears on: BackupPlan)
BackupPlanStatus defines the observed state of BackupPlan
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
BackupScheduleType (string
alias)
string
alias)(Appears on: BackupSpec)
BackupScheduleType specifies the type of schedule which triggered the backup
BackupSpec
(Appears on: Backup)
BackupSpec defines the desired state of Backup
type
BackupType
Type is the type of backup in the sequence of backups of an Application.
scheduleType
BackupScheduleType
ScheduleType specifies the type of schedule which triggered the backup.
backupPlan
Kubernetes core/v1.ObjectReference
BackupPlan is a reference to the BackupPlan to be backed up.
BackupStatus
(Appears on: Backup)
BackupStatus defines the observed state of Backup
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
k8s.io/apimachinery/pkg/api/resource.Quantity
Size is the aggregate size of the data backuped up.
percentageCompletion
byte
PercentageCompletion is the amount of backup operation completed.
snapshot
Snapshot
Optional
BackupType (string
alias)
string
alias)(Appears on: BackupSpec, DataSnapshot)
BackupType defines the type backup instance of an BackupPlan
CleanupConfig
(Appears on: PolicySpec)
CleanupConfig is the configuration for the PolicyType: Cleanup
backupDays
int
BackupDays is the age of backups to be cleaned
ComponentStatus
(Appears on: RestoreCustom, RestoreHelm, RestoreOperator)
ComponentStatus defines the details of restore of application component.
existingResource
[]Resource
ExistingResource specifies the resources already existing in cluster defined in application.
skippedResources
[]Resource
SkippedResources specifies the resources skipped while restoring.
failedResources
[]Resource
FailedResources specifies the resources for which the restore operation failed
newResourcesAdded
[]Resource
NewResourcesAdded specifies the resources added(duplicated and modified) during restore.
phase
RestorePhase
Phase is the current phase of the application component while restore.
phaseStatus
Status
PhaseStatus is the status of phase restore operation going through.
reason
string
A brief message indicating details about why the application component is in this state.
Condition
(Appears on: DataSnapshot, TargetStatus)
Condition specifies the current condition of a resource.
type
OperationType
Type is the type of condition data component is in.
status
Status
Status is the status of the condition.
timestamp
Kubernetes meta/v1.Time
Timestamp is the time a condition occurred.
reason
string
A brief message indicating details about why the component is in this condition.
CronSpec
(Appears on: SchedulePolicy)
CronSpec defines the Schedule string and the cronjob reference. The Schedule string will only be visible to the user to be configured, the reference will be set by the controller
schedule
string
Defines the backup schedule
cronJobRef
Kubernetes core/v1.ObjectReference
CronJob Reference
Custom
(Appears on: RestoreCustom, Snapshot)
Custom defines the snapshot of Custom defined application.
resources
[]Resource
Resources defines the Kubernetes resources found from Custom application.
dataSnapshots
[]DataSnapshot
DataSnapshot specifies the Snapshot of the Volumes resources in the Custom defined application.
warnings
[]string
Warnings is the list of warnings captured during backup or restore of an application
DataSnapshot
(Appears on: Custom, Helm, Operator)
DataSnapshot defines Snapshot of a Persistent Volume
backupType
BackupType
BackupType is the type of Volume backup in the sequence of backups.
location
string
Location is the absolute path of qcow2 image of a volume in the target.
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.
volumeSnapshot
VolumeSnapshot
VolumeSnapshot specifies the CSI snapshot of a Persistent Volume.
snapshotSize
k8s.io/apimachinery/pkg/api/resource.Quantity
SnapshotSize is the size of captured snapshot of a Persistent Volume.
size
k8s.io/apimachinery/pkg/api/resource.Quantity
Size is the size of complete backup/restore.
uploaded
bool
Uploaded is to imply whether volume snapshot taken is uploaded to target.
condition
Condition
Condition is the current condition of a data component while backup/restore.
podContainersMap
[]PodContainers
PodContainersMap is the set of Pod-Containers which share Persistent Volume.
DayOfWeek (string
alias)
string
alias)(Appears on: RetentionConfig)
GroupVersionKind
(Appears on: Resource)
GroupVersionKind defines the Kubernetes resource type
group
string
API Resource Group
version
string
API Resource version
kind
string
API Resource Kind
Helm
(Appears on: Operator, RestoreHelm, Snapshot)
Helm defines the snapshot of application defined by a Helm.
release
string
Release string is the name of release
newRelease
string
NewRelease string is the new release name which will get used while validation and restore process
revision
int32
Revision defines the version of deployed release backed up
resource
Resource
Resource is the captured GVK (secret or configmap) and corresponding object names slice
storageBackend
HelmStorageBackend
StorageBackend is the enum which can be either configmaps and secrets
version
HelmVersion
Version represents the Helm binary version used at the time of snapshot
dataSnapshots
[]DataSnapshot
DataSnapshot specifies the Snapshot of the Volumes defined in the helm chart resources.
warnings
[]string
Warnings is the list of warnings captured during backup or restore of an application
HelmStorageBackend (string
alias)
string
alias)(Appears on: Helm)
HelmStorageBackend defines the enum for the types of storage backend from where the helm release is backed-up
HelmVersion (string
alias)
string
alias)(Appears on: Helm)
HelmVersion defines the 2 versions of helm binaries used while backup
Hook
Hook is the Schema for the hooks API.
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata
field.
spec
HookSpec
Spec for Hook
status
HookStatus
Status for Hook
HookConfig
(Appears on: BackupPlanSpec)
HookConfig defines the sequence of hook actions and their associated pod-container regexes
Hook is the object reference of the Hook resource which will be run while quiescing
matchPatterns
[]MatchPattern
MatchPatterns is the list/sequence of the pod-container regex where the hook needs to be executed
HookExecution
(Appears on: HookSpec)
HookExecution specifies the Hook required to quiesce or unquiesce the application
command
[]string
A Command to be executed as a part of Hook.
hookTimeout
int16
A Maximum allowed time to execute Hook.
HookSpec
(Appears on: Hook)
HookSpec defines the desired state of Hook.
pre
HookExecution
PreHook is the Hook executed to quiesce the application before backup operation
post
HookExecution
PostHook is the Hook executed to unquiesce the application after backup operation
HookStatus
(Appears on: Hook)
HookStatus defines the observed state of Hook.
License
License is the Schema for the licenses API
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata
field.
spec
LicenseSpec
Spec of License CR
status
LicenseStatus
Status of License CR
LicenseCondition
(Appears on: LicenseStatus)
LicenseCondition specifies the current condition of a license.
status
LicenseState
Status is the status of the condition.
timestamp
Kubernetes meta/v1.Time
Timestamp is the time a condition occurred.
message
string
A brief message indicating details about why the component is in this condition.
LicenseEdition (string
alias)
string
alias)(Appears on: LicenseProperties)
LicenseEdition specifies the edition of the license.
LicenseProperties
(Appears on: LicenseStatus)
LicenseProperties specifies the properties of a license based on provided license key.
company
string
Company is the name of a company purchased license for.
edition
LicenseEdition
Edition is the type of license purchased to use triliovault application.
creationTimestamp
Kubernetes meta/v1.Time
CreationTimestamp is the time license created to use triliovault application.
purchaseTimestamp
Kubernetes meta/v1.Time
PurchaseTimestamp is the time user purchased the license to use triliovault application.
expirationTimestamp
Kubernetes meta/v1.Time
ExpirationTimestamp is the time provided license going to expire and won’t be able to perform backup/restore operation.
maintenanceExpiryTimestamp
Kubernetes meta/v1.Time
MaintenanceExpiryTimestamp is the time maintenance support for the provided license going to expire.
kubeUID
string
KubeUID is the kubesystem or namespace uuid of the cluster the license purchased for.
scope
Scope
Scope is the scope of a KubeUID the license purchased for.
version
string
Version is the version of a license.
sen
string
SEN is the unique serial of a license purchased.
numberOfUsers
int
NumberOfUsers is the total number of users the license valid for.
serverID
string
ServerID is the unique serverID of license purchased.
licenseID
string
LicenseID is the identifier for the license.
capacity
uint16
Capacity is the maximum capacity to use the license in number of kube nodes.
active
bool
Active is the status of the license.
LicenseSpec
(Appears on: License)
LicenseSpec defines the desired state of License
key
string
Key is the product key to use triliovault application to perform backup/restore.
LicenseState (string
alias)
string
alias)(Appears on: LicenseCondition, LicenseStatus)
LicenseState specifies the overall status of the license.
LicenseStatus
(Appears on: License)
LicenseStatus defines the observed state of License
status
LicenseState
Status is the overall status of the license based on provided key.
message
string
A brief message indicating details about why the license in this state.
properties
LicenseProperties
Properties is the details about the license based on provided license key.
condition
[]LicenseCondition
Condition is the current condition of a license.
currentNodeCount
uint16
CurrentNodeCount is the total number of nodes kubernetes cluster comprised of where each node capped at 2 vCPUs/pCPUs.
gracePeriodStartTimestamp
Kubernetes meta/v1.Time
GracePeriodStartTimestamp is the time grace period started to use triliovault application.
gracePeriodEndTimestamp
Kubernetes meta/v1.Time
GracePeriodEndTimestamp is the time grace period for using the triliovault application going to end.
MatchPattern
(Appears on: HookConfig)
MatchPattern is the structure defining the pod-container regexes used for hook execution
podRegexPattern
string
PodRegexPattern is the regex pattern to be matched for the pod where hooks will be executed
containerRegexPattern
string
ContainerRegexPattern is the regex pattern to be matched for the containers where hooks will be executed
MonthOfYear (string
alias)
string
alias)(Appears on: RetentionConfig)
NFSCredentials
(Appears on: TargetSpec)
NFSCredentials defines the credentials to use NFS as a target type.
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.
ObjectStoreCredentials
(Appears on: TargetSpec)
ObjectStoreCredentials defines the credentials to use Object Store as a target type.
url
string
Url to connect the Object Store.
accessKey
string
Access Key is to authenticate access to Object Store.
secretKey
string
Secret Key is to authenticate access to Object Store.
bucketName
string
Name of a bucket within Object Store.
region
string
Region where the Object Store resides.
OperationType (string
alias)
string
alias)(Appears on: BackupStatus, Condition)
OperationType specifies the type of operation for Job
Operator
(Appears on: RestoreOperator, Snapshot)
Operator defines the snapshot of application defined by an Operator.
operatorId
string
OperatorId is unique ID for a particular operator
customResources
[]Resource
CustomResources is the list of all custom resource’s GVK and names list
helm
Helm
Helm represents the snapshot of the helm chart for helm based operator
operatorResources
[]Resource
OperatorResources defines the a kubernetes resources found from Operator resources.
dataSnapshots
[]DataSnapshot
DataSnapshot specifies the Snapshot of the Volumes defined in the operator resources.
warnings
[]string
Warnings is the list of warnings captured during backup or restore of an application
OperatorSelector
(Appears on: BackupPlanComponents)
OperatorSelector defines the mapping of operator name and their selectors
operatorId
string
OperatorId is any unique ID for a particular operator
customResources
[]Resource
CustomResources list resources where each resource contains custom resource gvk and metadata
helmRelease
string
HelmRelease is the release name of the helm based operator
olmSubscription
string
OLMSubscription is the release name of the helm based operator
operatorResourceSelector
[]Kubernetes meta/v1.LabelSelector
OperatorResourceSelector is the selector for operator resources
applicationResourceSelector
[]Kubernetes meta/v1.LabelSelector
ApplicationResourceSelector is the selector for instances deployed by the operator resources
PodContainers
(Appears on: DataSnapshot)
PodContainers defines Pod and containers running in that Pod.
podName
string
PodName is the name of pod which will be the key for the map between pod containers list
containers
[]string
Containers is the list of containers inside a pod
Policy
Policy is the Schema for the policies API
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata
field.
spec
PolicySpec
Spec of Policy CR
status
PolicyStatus
Status of Policy CR
PolicySpec
(Appears on: Policy)
PolicySpec defines the desired state of Policy
type
PolicyType
Type is a field of Policy spec, which defines the policy type containing only 3 values: Retention, Timeout, Cleanup.
default
bool
Default field states if the current type of policy is default across the TV application
retentionConfig
RetentionConfig
RetentionConfig field defines the configuration for Retention policies
timeoutConfig
TimeoutConfig
TimeoutConfig field defines the configuration for timeout policies
cleanupConfig
CleanupConfig
CleanupConfig field defines the configuration for Cleanup policies
PolicyStatus
(Appears on: Policy)
Policy Status defines the observed state of Policy
PolicyType (string
alias)
string
alias)(Appears on: PolicySpec)
PolicyType is the Enum for types of policies
QuiescingMode (string
alias)
string
alias)(Appears on: BackupPlanSpec)
QuiescingMode is the enum for 2 modes of quiescing the application components i.e Sequential or Parallel
Resource
(Appears on: ComponentStatus, Custom, Helm, Operator, OperatorSelector)
Resource defines the list of names of a Kubernetes resource of a particular GVK.
groupVersionKind
GroupVersionKind
GroupVersionKind specifies GVK uniquely representing particular resource type.
objects
[]string
Objects is the list of names of all the objects of the captured GVK
Restore
Restore is the Schema for the restores API Backup respresents the capture of Kubernetes Application defined by user at a point in time
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata
field.
spec
RestoreSpec
Spec of Restore CR
status
RestoreStatus
Status of Restore CR
RestoreApplication
(Appears on: RestoreStatus)
RestoreApplication defines the snapshot contents of an Application Backup.
helmCharts
[]RestoreHelm
HelmCharts specifies the backed up helm resources restored as Helm Charts.
operators
[]RestoreOperator
Operators specifies the backed up operator resources restored as Operators.
custom
RestoreCustom
Custom specifies the backup up kubernetes resources.
RestoreCustom
(Appears on: RestoreApplication)
RestoreCustom defines the backed up kubernetes resources.
snapshot
Custom
Snapshot defines the snapshot of custom application to be restored.
status
ComponentStatus
Status specifies the details of component restore in a namespace
RestoreHelm
(Appears on: RestoreApplication)
RestoreHelm defines the backed up helm application to be restored.
snapshot
Helm
Snapshot defines the snapshot of application to be restored by a Helm.
status
ComponentStatus
Status specifies the details of component restore in a namespace
RestoreOperator
(Appears on: RestoreApplication)
RestoreOperator defines the backed up operator application to be restored.
snapshot
Operator
Snapshot defines the snapshot of application to be restored by a Operator.
status
ComponentStatus
Status specifies the details of component restore in a namespace
RestorePhase (string
alias)
string
alias)(Appears on: ComponentStatus, RestoreStatus)
RestorePhase specifies the one of phase of Restore operation
RestoreSource
(Appears on: RestoreSpec)
type
RestoreSourceType
Type is the type of source for restore
Backup is a reference to the Backup instance restored if type is Backup.
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.
RestoreSourceType (string
alias)
string
alias)(Appears on: RestoreSource)
BackupSourceType defines the type of source for restore
RestoreSpec
(Appears on: Restore)
RestoreSpec defines the desired state of Restore
backupPlan
Kubernetes core/v1.ObjectReference
BackupPlan is a reference to the BackupPlan whose backup is restored.
source
RestoreSource
Source defines the source referred for performing restore operation
restoreNamespace
string
Namespace is a name of namespace in cluster where backed resources will be restored
skipIfAlreadyExists
bool
SkipIfAlreadyExists specifies whether to skip restore of a resource if already exists in the namespace restored.
patchIfAlreadyExists
bool
PatchIfAlreadyExists specifies whether to patch spec of a already exists resource in the namespace restored.
omitMetadata
bool
OmitMetadata specifies whether to omit metadata like labels, annotations of resources while restoring them.
Env is the List of environment variables to set in the container. Cannot be updated.
RestoreStatus
(Appears on: Restore)
RestoreStatus defines the observed state of Restore
startTimestamp
Kubernetes meta/v1.Time
StartTimestamp is the time a restore was started.
completionTimestamp
Kubernetes meta/v1.Time
CompletionTimestamp is the time a restore was finished.
phase
RestorePhase
Phase is the current phase of the restore operation.
phaseStatus
Status
PhaseStatus is the status of phase restore operation going through.
status
Status
Status is the status of the restore operation.
size
k8s.io/apimachinery/pkg/api/resource.Quantity
Size is the aggregate size of the data restored back.
percentageCompletion
byte
PercentageCompletion is the amount of restore operation completed.
restoreApplication
RestoreApplication
RestoreApplication defines the information about the different applications restored back to cluster.
RetentionConfig
(Appears on: PolicySpec)
RetentionConfig is the configuration for the PolicyType: Retention
daily
int
Daily is max number of backups to be retained in a day
weekly
int
Weekly is max number of backups to be retained in a week
monthly
int
Monthly is max number of backups to be retained in a month
yearly
int
Yearly is max number of backups to be retained in a year
day_of_week
DayOfWeek
DayOfWeek is Day of the week to maintain weekly backup/restore resources
date_of_month
int
DateOfMonth is Date of the month to maintain monthly backup/restore resources
month_of_year
MonthOfYear
MonthOfYear is the month of the backup to retain for yearly backups
SchedulePolicy
(Appears on: BackupConfig)
SchedulePolicy defines the cronjob specs for incremental or full backup types
Scope (string
alias)
string
alias)(Appears on: LicenseProperties)
Scope specifies the scope of a resource.
Snapshot
(Appears on: BackupStatus)
Snapshot defines the snapshot contents of an Application Backup.
helmCharts
[]Helm
HelmCharts specifies the snapshot of application defined by Helm Charts.
operators
[]Operator
Operators specifies the snapshot of application defined by Operators.
custom
Custom
Custom specifies the snapshot of Custom defined applications.
Status (string
alias)
string
alias)(Appears on: BackupPlanStatus, BackupStatus, ComponentStatus, Condition, RestoreStatus, TargetStatus, VolumeSnapshot)
Status specifies the status of WorkloadJob operating on
Target
Target is a location where Trilio stores backup.
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata
field.
spec
TargetSpec
status
TargetStatus
TargetSpec
(Appears on: Target)
TargetSpec defines the specification of a Target.
type
TargetType
Type is the type of target for backup storage.
vendor
Vendor
Vendor is the third party storage vendor hosting the target
nfsCredentials
NFSCredentials
NfsCredentials specifies the credentials for TargetType NFS
objectStoreCredentials
ObjectStoreCredentials
ObjectStoreCredentials specifies the credentials for TargetType ObjectStore
TargetStatus
(Appears on: Target)
TargetStatus defines the observed state of Target
condition
[]Condition
Condition is the current condition of a target.
status
Status
Status is the final Status of target Available/Unavailable
TargetType (string
alias)
string
alias)(Appears on: TargetSpec)
TargetType is the type of target.
TimeoutConfig
(Appears on: PolicySpec)
TimeoutConfig is the configuration for the PolicyType: Timeout
Vendor (string
alias)
string
alias)(Appears on: TargetSpec)
Vendor is the third party storage vendor hosting the target
VolumeSnapshot
(Appears on: DataSnapshot)
VolumeSnapshot defines the CSI snapshot of a Persistent Volume.
volumeSnapshot
Kubernetes core/v1.ObjectReference
VolumeSnapshot is a reference to the Persistent Volume Snapshot captured.
retryCount
byte
RetryCount is the number of attempts made to capture Volume Snapshot.
status
Status
Status is the status defining the progress of Volume Snapshot capture.
error
string
Error is the error occurred while capturing Volume Snapshot if any.
Generated with gen-crd-api-reference-docs
on git commit c3c084d1
.
Last updated