Security & Identity

velero

Velero backup and disaster recovery

@r8s/crds/velero

velero

Declared Operator

velero

version 1.13.0

Components (3)

01

Backup

Render a Backup (velero.io/v1) exactly as defined by its CRD.


import { BackupComponent } from '@r8s/crds/velero'

<BackupComponent
  metadata={{ name: 'app-backup', namespace: 'velero' }}
  spec={{
    includedNamespaces: ['default', 'production'],
    storageLocation: 'default',
  }}
/>
"csiSnapshotTimeout"stringOptional

CSISnapshotTimeout specifies the time used to wait for CSI VolumeSnapshot status turns to ReadyToUse during creation, before returning error as timeout. The default value is 10 minute.

"datamover"stringOptional

DataMover specifies the data mover to be used by the backup. If DataMover is "" or "velero", the built-in data mover will be used.

"defaultVolumesToFsBackup"boolean | nullOptional

DefaultVolumesToFsBackup specifies whether pod volume file system backup should be used for all volumes by default.

"defaultVolumesToRestic"boolean | nullOptional

DefaultVolumesToRestic specifies whether restic should be used to take a backup of all pod volumes by default. Deprecated: this field is no longer used and will be removed entirely in future. Use DefaultVolumesToFsBackup instead.

"excludedClusterScopedResources"string[] | nullOptional

ExcludedClusterScopedResources is a slice of cluster-scoped resource type names to exclude from the backup. If set to "*", all cluster-scoped resource types are excluded. The default value is empty.

"excludedNamespaceScopedResources"string[] | nullOptional

ExcludedNamespaceScopedResources is a slice of namespace-scoped resource type names to exclude from the backup. If set to "*", all namespace-scoped resource types are excluded. The default value is empty.

"excludedNamespaces"string[] | nullOptional

ExcludedNamespaces contains a list of namespaces that are not included in the backup.

"excludedResources"string[] | nullOptional

ExcludedResources is a slice of resource names that are not included in the backup.

"hooks"HooksOptional

Hooks represent custom behaviors that should be executed at different phases of the backup.

"includeClusterResources"boolean | nullOptional

IncludeClusterResources specifies whether cluster-scoped resources should be included for consideration in the backup.

"includedClusterScopedResources"string[] | nullOptional

IncludedClusterScopedResources is a slice of cluster-scoped resource type names to include in the backup. If set to "*", all cluster-scoped resource types are included. The default value is empty, which means only related cluster-scoped resources are included.

"includedNamespaceScopedResources"string[] | nullOptional

IncludedNamespaceScopedResources is a slice of namespace-scoped resource type names to include in the backup. The default value is "*".

"includedNamespaces"string[] | nullOptional

IncludedNamespaces is a slice of namespace names to include objects from. If empty, all namespaces are included.

"includedResources"string[] | nullOptional

IncludedResources is a slice of resource names to include in the backup. If empty, all resources are included.

"itemOperationTimeout"stringOptional

ItemOperationTimeout specifies the time used to wait for asynchronous BackupItemAction operations The default value is 1 hour.

"labelSelector"LabelSelector | nullOptional

LabelSelector is a metav1.LabelSelector to filter with when adding individual objects to the backup. If empty or nil, all objects are included. Optional.

"metadata"MetadataOptional
"orLabelSelectors"OrLabelSelectorsItem[] | nullOptional

OrLabelSelectors is list of metav1.LabelSelector to filter with when adding individual objects to the backup. If multiple provided they will be joined by the OR operator. LabelSelector as well as OrLabelSelectors cannot co-exist in backup request, only one of them can be used.

"orderedResources"Record | nullOptional

OrderedResources specifies the backup order of resources of specific Kind. The map key is the resource name and value is a list of object names separated by commas. Each resource name has format "namespace/objectname". For cluster resources, simply use "objectname".

"resourcePolicy"ResourcePolicyOptional

ResourcePolicy specifies the referenced resource policies that backup should follow

"snapshotMoveData"boolean | nullOptional

SnapshotMoveData specifies whether snapshot data should be moved

"snapshotVolumes"boolean | nullOptional

SnapshotVolumes specifies whether to take snapshots of any PV's referenced in the set of objects included in the Backup.

"storageLocation"stringOptional

StorageLocation is a string containing the name of a BackupStorageLocation where the backup should be stored.

"ttl"stringOptional

TTL is a time.Duration-parseable string describing how long the Backup should be retained for.

"uploaderConfig"UploaderConfig | nullOptional

UploaderConfig specifies the configuration for the uploader.

"volumeSnapshotLocations"string[]Optional

VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations associated with this backup.

02

BackupStorageLocation

Render a BackupStorageLocation (velero.io/v1) exactly as defined by its CRD.

"accessMode""ReadOnly" | "ReadWrite"Optional

AccessMode defines the permissions for the backup storage location.

"backupSyncPeriod"string | nullOptional

BackupSyncPeriod defines how frequently to sync backup API objects from object storage. A value of 0 disables sync.

"config"RecordOptional

Config is for provider-specific configuration fields.

"credential"CredentialOptional

Credential contains the credential information intended to be used with this location

"default"booleanOptional

Default indicates this location is the default backup storage location.

"objectStorage"ObjectStorageRequired

ObjectStorageLocation specifies the settings necessary to connect to a provider's object storage.

"provider"stringRequired

Provider is the provider of the backup storage.

"validationFrequency"string | nullOptional

ValidationFrequency defines how frequently to validate the corresponding object storage. A value of 0 disables validation.

03

Schedule

Render a Schedule (velero.io/v1) exactly as defined by its CRD.


import { ScheduleComponent } from '@r8s/crds/velero'

<ScheduleComponent
  metadata={{ name: 'daily-backup', namespace: 'velero' }}
  spec={{
    schedule: '0 2 * * *',
    template: {
      includedNamespaces: ['default'],
      storageLocation: 'default',
    },
  }}
/>
"paused"booleanOptional

Paused specifies whether the schedule is paused or not

"schedule"stringRequired

Schedule is a Cron expression defining when to run the Backup.

"skipImmediately"booleanOptional

SkipImmediately specifies whether to skip backup if schedule is due immediately from schedule.status.lastBackup timestamp when schedule is unpaused or if schedule is new. If true, backup will be skipped immediately when schedule is unpaused if it is due based on .Status.LastBackupTimestamp or schedule is new, and will run at next schedule time. If false, backup will not be skipped immediately when schedule is unpaused, but will run at next schedule time. If empty, will follow server configuration (default: false).

"template"TemplateRequired

Template is the definition of the Backup to be run on the provided schedule

"useOwnerReferencesInBackup"boolean | nullOptional

UseOwnerReferencesBackup specifies whether to use OwnerReferences on backups created by this Schedule.