Documentation ¶
Index ¶
Constants ¶
const (
Namespace = "velero"
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Backup ¶
type Backup struct { metav1.TypeMeta `json:",inline"` Metadata metav1.ObjectMeta `json:"metadata"` // +optional Spec BackupSpec `json:"spec,omitempty"` // +optional Status BackupStatus `json:"status,omitempty"` }
Backup is a Velero resource that respresents the capture of Kubernetes cluster state at a point in time (API objects and associated volume state).
func (Backup) DeepCopyObject ¶
func (Backup) GetObjectKind ¶
func (in Backup) GetObjectKind() schema.ObjectKind
type BackupHooks ¶
type BackupHooks struct { // Resources are hooks that should be executed when backing up individual instances of a resource. // +optional // +nullable Resources []BackupResourceHookSpec `json:"resources,omitempty"` }
BackupHooks contains custom behaviors that should be executed at different phases of the backup.
type BackupList ¶
type BackupList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []Backup `json:"items"` }
BackupList is a list of Backups.
type BackupPhase ¶
type BackupPhase string
BackupPhase is a string representation of the lifecycle phase of a Velero backup. +kubebuilder:validation:Enum=New;FailedValidation;InProgress;Completed;PartiallyFailed;Failed;Deleting
const ( // BackupPhaseNew means the backup has been created but not // yet processed by the BackupController. BackupPhaseNew BackupPhase = "New" // BackupPhaseFailedValidation means the backup has failed // the controller's validations and therefore will not run. BackupPhaseFailedValidation BackupPhase = "FailedValidation" // BackupPhaseInProgress means the backup is currently executing. BackupPhaseInProgress BackupPhase = "InProgress" // BackupPhaseCompleted means the backup has run successfully without // errors. BackupPhaseCompleted BackupPhase = "Completed" // BackupPhasePartiallyFailed means the backup has run to completion // but encountered 1+ errors backing up individual items. BackupPhasePartiallyFailed BackupPhase = "PartiallyFailed" // BackupPhaseFailed means the backup ran but encountered an error that // prevented it from completing successfully. BackupPhaseFailed BackupPhase = "Failed" // BackupPhaseDeleting means the backup and all its associated data are being deleted. BackupPhaseDeleting BackupPhase = "Deleting" )
type BackupResourceHook ¶
type BackupResourceHook struct { // Exec defines an exec hook. Exec *ExecHook `json:"exec"` }
BackupResourceHook defines a hook for a resource.
type BackupResourceHookSpec ¶
type BackupResourceHookSpec struct { // Name is the name of this hook. Name string `json:"name"` // IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies // to all namespaces. // +optional // +nullable IncludedNamespaces []string `json:"includedNamespaces,omitempty"` // ExcludedNamespaces specifies the namespaces to which this hook spec does not apply. // +optional // +nullable ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` // IncludedResources specifies the resources to which this hook spec applies. If empty, it applies // to all resources. // +optional // +nullable IncludedResources []string `json:"includedResources,omitempty"` // ExcludedResources specifies the resources to which this hook spec does not apply. // +optional // +nullable ExcludedResources []string `json:"excludedResources,omitempty"` // LabelSelector, if specified, filters the resources to which this hook spec applies. // +optional // +nullable LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"` // PreHooks is a list of BackupResourceHooks to execute prior to storing the item in the backup. // These are executed before any "additional items" from item actions are processed. // +optional PreHooks []BackupResourceHook `json:"pre,omitempty"` // PostHooks is a list of BackupResourceHooks to execute after storing the item in the backup. // These are executed after all "additional items" from item actions are processed. // +optional PostHooks []BackupResourceHook `json:"post,omitempty"` }
BackupResourceHookSpec defines one or more BackupResourceHooks that should be executed based on the rules defined for namespaces, resources, and label selector.
type BackupSpec ¶
type BackupSpec struct { // IncludedNamespaces is a slice of namespace names to include objects // from. If empty, all namespaces are included. // +optional // +nullable IncludedNamespaces []string `json:"includedNamespaces,omitempty"` // ExcludedNamespaces contains a list of namespaces that are not // included in the backup. // +optional // +nullable ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` // IncludedResources is a slice of resource names to include // in the backup. If empty, all resources are included. // +optional // +nullable IncludedResources []string `json:"includedResources,omitempty"` // ExcludedResources is a slice of resource names that are not // included in the backup. // +optional // +nullable ExcludedResources []string `json:"excludedResources,omitempty"` // LabelSelector is a metav1.LabelSelector to filter with // when adding individual objects to the backup. If empty // or nil, all objects are included. Optional. // +optional // +nullable LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"` // SnapshotVolumes specifies whether to take cloud snapshots // of any PV's referenced in the set of objects included // in the Backup. // +optional // +nullable SnapshotVolumes *bool `json:"snapshotVolumes,omitempty"` // TTL is a time.Duration-parseable string describing how long // the Backup should be retained for. // +optional TTL metav1.Duration `json:"ttl,omitempty"` // IncludeClusterResources specifies whether cluster-scoped resources // should be included for consideration in the backup. // +optional // +nullable IncludeClusterResources *bool `json:"includeClusterResources,omitempty"` // Hooks represent custom behaviors that should be executed at different phases of the backup. // +optional Hooks BackupHooks `json:"hooks,omitempty"` // StorageLocation is a string containing the name of a BackupStorageLocation where the backup should be stored. // +optional StorageLocation string `json:"storageLocation,omitempty"` // VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations associated with this backup. // +optional VolumeSnapshotLocations []string `json:"volumeSnapshotLocations,omitempty"` }
type BackupStatus ¶
type BackupStatus struct { // Version is the backup format version. // +optional Version int `json:"version,omitempty"` // Expiration is when this Backup is eligible for garbage-collection. // +optional // +nullable Expiration *metav1.Time `json:"expiration,omitempty"` // Phase is the current state of the Backup. // +optional Phase BackupPhase `json:"phase,omitempty"` // ValidationErrors is a slice of all validation errors (if // applicable). // +optional // +nullable ValidationErrors []string `json:"validationErrors,omitempty"` // StartTimestamp records the time a backup was started. // Separate from CreationTimestamp, since that value changes // on restores. // The server's time is used for StartTimestamps // +optional // +nullable StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"` // CompletionTimestamp records the time a backup was completed. // Completion time is recorded even on failed backups. // Completion time is recorded before uploading the backup object. // The server's time is used for CompletionTimestamps // +optional // +nullable CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"` // VolumeSnapshotsAttempted is the total number of attempted // volume snapshots for this backup. // +optional VolumeSnapshotsAttempted int `json:"volumeSnapshotsAttempted,omitempty"` // VolumeSnapshotsCompleted is the total number of successfully // completed volume snapshots for this backup. // +optional VolumeSnapshotsCompleted int `json:"volumeSnapshotsCompleted,omitempty"` // Warnings is a count of all warning messages that were generated during // execution of the backup. The actual warnings are in the backup's log // file in object storage. // +optional Warnings int `json:"warnings,omitempty"` // Errors is a count of all error messages that were generated during // execution of the backup. The actual errors are in the backup's log // file in object storage. // +optional Errors int `json:"errors,omitempty"` }
BackupStatus captures the current status of a Velero backup.
type ExecHook ¶
type ExecHook struct { // Container is the container in the pod where the command should be executed. If not specified, // the pod's first container is used. // +optional Container string `json:"container,omitempty"` // Command is the command and arguments to execute. // +kubebuilder:validation:MinItems=1 Command []string `json:"command"` // OnError specifies how Velero should behave if it encounters an error executing this hook. // +optional OnError HookErrorMode `json:"onError,omitempty"` // Timeout defines the maximum amount of time Velero should wait for the hook to complete before // considering the execution a failure. // +optional Timeout metav1.Duration `json:"timeout,omitempty"` }
ExecHook is a hook that uses the pod exec API to execute a command in a container in a pod.
type HookErrorMode ¶
type HookErrorMode string
HookErrorMode defines how Velero should treat an error from a hook. +kubebuilder:validation:Enum=Continue;Fail
const ( // HookErrorModeContinue means that an error from a hook is acceptable, and the backup can // proceed. HookErrorModeContinue HookErrorMode = "Continue" // HookErrorModeFail means that an error from a hook is problematic, and the backup should be in // error. HookErrorModeFail HookErrorMode = "Fail" )