Documentation ¶
Overview ¶
Package v1 is the v1 version of the API. +groupName=ark.heptio.com
Index ¶
- Constants
- Variables
- func CustomResources() map[string]typeInfo
- func Resource(resource string) schema.GroupResource
- type Backup
- type BackupHooks
- type BackupList
- type BackupPhase
- type BackupResourceHook
- type BackupResourceHookSpec
- type BackupSpec
- type BackupStatus
- type CloudProviderConfig
- type Config
- type ConfigList
- type DeleteBackupRequest
- type DeleteBackupRequestList
- type DeleteBackupRequestPhase
- type DeleteBackupRequestSpec
- type DeleteBackupRequestStatus
- type DownloadRequest
- type DownloadRequestList
- type DownloadRequestPhase
- type DownloadRequestSpec
- type DownloadRequestStatus
- type DownloadTarget
- type DownloadTargetKind
- type ExecHook
- type HookErrorMode
- type ObjectStorageProviderConfig
- type PodVolumeBackup
- type PodVolumeBackupList
- type PodVolumeBackupPhase
- type PodVolumeBackupSpec
- type PodVolumeBackupStatus
- type PodVolumeRestore
- type PodVolumeRestoreList
- type PodVolumeRestorePhase
- type PodVolumeRestoreSpec
- type PodVolumeRestoreStatus
- type ResticRepository
- type ResticRepositoryList
- type ResticRepositoryPhase
- type ResticRepositorySpec
- type ResticRepositoryStatus
- type Restore
- type RestoreList
- type RestorePhase
- type RestoreResult
- type RestoreSpec
- type RestoreStatus
- type Schedule
- type ScheduleList
- type SchedulePhase
- type ScheduleSpec
- type ScheduleStatus
- type VolumeBackupInfo
Constants ¶
const ( // DefaultNamespace is the Kubernetes namespace that is used by default for // the Ark server and API objects. DefaultNamespace = "heptio-ark" // ResourcesDir is a top-level directory expected in backups which contains sub-directories // for each resource type in the backup. ResourcesDir = "resources" // RestoreLabelKey is the label key that's applied to all resources that // are created during a restore. This is applied for ease of identification // of restored resources. The value will be the restore's name. RestoreLabelKey = "ark-restore" // ClusterScopedDir is the name of the directory containing cluster-scoped // resources within an Ark backup. ClusterScopedDir = "cluster" // NamespaceScopedDir is the name of the directory containing namespace-scoped // resource within an Ark backup. NamespaceScopedDir = "namespaces" )
const ( // BackupNameLabel is the label key used to identify a backup by name. BackupNameLabel = "ark.heptio.com/backup-name" // BackupUIDLabel is the label key used to identify a backup by uid. BackupUIDLabel = "ark.heptio.com/backup-uid" // RestoreNameLabel is the label key used to identify a restore by name. RestoreNameLabel = "ark.heptio.com/restore-name" // RestoreUIDLabel is the label key used to identify a restore by uid. RestoreUIDLabel = "ark.heptio.com/restore-uid" // PodUIDLabel is the label key used to identify a pod by uid. PodUIDLabel = "ark.heptio.com/pod-uid" // PodVolumeOperationTimeoutAnnotation is the annotation key used to apply // a backup/restore-specific timeout value for pod volume operations (i.e. // restic backups/restores). PodVolumeOperationTimeoutAnnotation = "ark.heptio.com/pod-volume-timeout" )
const GroupName = "ark.heptio.com"
GroupName is the group name for the Ark API
Variables ¶
var ( // SchemeBuilder collects the scheme builder functions for the Ark API SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme applies the SchemeBuilder functions to a specified scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}
SchemeGroupVersion is the GroupVersion for the Ark API
Functions ¶
func CustomResources ¶ added in v0.9.1
func CustomResources() map[string]typeInfo
CustomResources returns a map of all custom resources within the Ark API group, keyed on Kind.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource gets an Ark GroupResource for a specified resource
Types ¶
type Backup ¶
type Backup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec BackupSpec `json:"spec"` Status BackupStatus `json:"status,omitempty"` }
Backup is an Ark resource that respresents the capture of Kubernetes cluster state at a point in time (API objects and associated volume state).
func (*Backup) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup.
func (*Backup) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backup) DeepCopyObject ¶ added in v0.6.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackupHooks ¶ added in v0.5.0
type BackupHooks struct { // Resources are hooks that should be executed when backing up individual instances of a resource. Resources []BackupResourceHookSpec `json:"resources"` }
BackupHooks contains custom behaviors that should be executed at different phases of the backup.
func (*BackupHooks) DeepCopy ¶ added in v0.6.0
func (in *BackupHooks) DeepCopy() *BackupHooks
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupHooks.
func (*BackupHooks) DeepCopyInto ¶ added in v0.6.0
func (in *BackupHooks) DeepCopyInto(out *BackupHooks)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupList ¶
type BackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Backup `json:"items"` }
BackupList is a list of Backups.
func (*BackupList) DeepCopy ¶ added in v0.6.0
func (in *BackupList) DeepCopy() *BackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupList.
func (*BackupList) DeepCopyInto ¶ added in v0.6.0
func (in *BackupList) DeepCopyInto(out *BackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupList) DeepCopyObject ¶ added in v0.6.0
func (in *BackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackupPhase ¶
type BackupPhase string
BackupPhase is a string representation of the lifecycle phase of an Ark backup.
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" // 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 ¶ added in v0.5.0
type BackupResourceHook struct { // Exec defines an exec hook. Exec *ExecHook `json:"exec"` }
BackupResourceHook defines a hook for a resource.
func (*BackupResourceHook) DeepCopy ¶ added in v0.6.0
func (in *BackupResourceHook) DeepCopy() *BackupResourceHook
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupResourceHook.
func (*BackupResourceHook) DeepCopyInto ¶ added in v0.6.0
func (in *BackupResourceHook) DeepCopyInto(out *BackupResourceHook)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupResourceHookSpec ¶ added in v0.5.0
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. IncludedNamespaces []string `json:"includedNamespaces"` // ExcludedNamespaces specifies the namespaces to which this hook spec does not apply. ExcludedNamespaces []string `json:"excludedNamespaces"` // IncludedResources specifies the resources to which this hook spec applies. If empty, it applies // to all resources. IncludedResources []string `json:"includedResources"` // ExcludedResources specifies the resources to which this hook spec does not apply. ExcludedResources []string `json:"excludedResources"` // LabelSelector, if specified, filters the resources to which this hook spec applies. LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"` // Hooks is a list of BackupResourceHooks to execute. DEPRECATED. Replaced by PreHooks. Hooks []BackupResourceHook `json:"hooks"` // 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. 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. 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.
func (*BackupResourceHookSpec) DeepCopy ¶ added in v0.6.0
func (in *BackupResourceHookSpec) DeepCopy() *BackupResourceHookSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupResourceHookSpec.
func (*BackupResourceHookSpec) DeepCopyInto ¶ added in v0.6.0
func (in *BackupResourceHookSpec) DeepCopyInto(out *BackupResourceHookSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupSpec ¶
type BackupSpec struct { // IncludedNamespaces is a slice of namespace names to include objects // from. If empty, all namespaces are included. IncludedNamespaces []string `json:"includedNamespaces"` // ExcludedNamespaces contains a list of namespaces that are not // included in the backup. ExcludedNamespaces []string `json:"excludedNamespaces"` // IncludedResources is a slice of resource names to include // in the backup. If empty, all resources are included. IncludedResources []string `json:"includedResources"` // ExcludedResources is a slice of resource names that are not // included in the backup. ExcludedResources []string `json:"excludedResources"` // LabelSelector is a metav1.LabelSelector to filter with // when adding individual objects to the backup. If empty // or nil, all objects are included. Optional. LabelSelector *metav1.LabelSelector `json:"labelSelector"` // SnapshotVolumes specifies whether to take cloud snapshots // of any PV's referenced in the set of objects included // in the Backup. SnapshotVolumes *bool `json:"snapshotVolumes,omitempty"` // TTL is a time.Duration-parseable string describing how long // the Backup should be retained for. TTL metav1.Duration `json:"ttl"` // IncludeClusterResources specifies whether cluster-scoped resources // should be included for consideration in the backup. IncludeClusterResources *bool `json:"includeClusterResources"` // Hooks represent custom behaviors that should be executed at different phases of the backup. Hooks BackupHooks `json:"hooks"` }
BackupSpec defines the specification for an Ark backup.
func (*BackupSpec) DeepCopy ¶ added in v0.6.0
func (in *BackupSpec) DeepCopy() *BackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSpec.
func (*BackupSpec) DeepCopyInto ¶ added in v0.6.0
func (in *BackupSpec) DeepCopyInto(out *BackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStatus ¶
type BackupStatus struct { // Version is the backup format version. Version int `json:"version"` // Expiration is when this Backup is eligible for garbage-collection. Expiration metav1.Time `json:"expiration"` // Phase is the current state of the Backup. Phase BackupPhase `json:"phase"` // VolumeBackups is a map of PersistentVolume names to // information about the backed-up volume in the cloud // provider API. VolumeBackups map[string]*VolumeBackupInfo `json:"volumeBackups"` // ValidationErrors is a slice of all validation errors (if // applicable). ValidationErrors []string `json:"validationErrors"` // 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 StartTimestamp metav1.Time `json:"startTimestamp"` // CompletionTimestamp records the time a backup was completed. // Completion time is recorded even on failed backups. // The server's time is used for CompletionTimestamps CompletionTimestamp metav1.Time `json:"completionTimestamp"` }
BackupStatus captures the current status of an Ark backup.
func (*BackupStatus) DeepCopy ¶ added in v0.6.0
func (in *BackupStatus) DeepCopy() *BackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStatus.
func (*BackupStatus) DeepCopyInto ¶ added in v0.6.0
func (in *BackupStatus) DeepCopyInto(out *BackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudProviderConfig ¶
type CloudProviderConfig struct { Name string `json:"name"` Config map[string]string `json:"config"` }
CloudProviderConfig is configuration information about how to connect to a particular cloud.
func (*CloudProviderConfig) DeepCopy ¶ added in v0.6.0
func (in *CloudProviderConfig) DeepCopy() *CloudProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProviderConfig.
func (*CloudProviderConfig) DeepCopyInto ¶ added in v0.6.0
func (in *CloudProviderConfig) DeepCopyInto(out *CloudProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Config ¶
type Config struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` // PersistentVolumeProvider is the configuration information for the cloud where // the cluster is running and has PersistentVolumes to snapshot or restore. Optional. PersistentVolumeProvider *CloudProviderConfig `json:"persistentVolumeProvider"` // BackupStorageProvider is the configuration information for the cloud where // Ark backups are stored in object storage. This may be a different cloud than // where the cluster is running. BackupStorageProvider ObjectStorageProviderConfig `json:"backupStorageProvider"` // BackupSyncPeriod is how often the BackupSyncController runs to ensure all // Ark backups in object storage exist as Backup API objects in the cluster. BackupSyncPeriod metav1.Duration `json:"backupSyncPeriod"` // GCSyncPeriod is how often the GCController runs to delete expired backup // API objects and corresponding backup files in object storage. GCSyncPeriod metav1.Duration `json:"gcSyncPeriod"` // ScheduleSyncPeriod is how often the ScheduleController runs to check for // new backups that should be triggered based on schedules. ScheduleSyncPeriod metav1.Duration `json:"scheduleSyncPeriod"` // PodVolumeOperationTimeout is how long backups/restores of pod volumes (i.e. // using restic) should be allowed to run before timing out. PodVolumeOperationTimeout metav1.Duration `json:"podVolumeOperationTimeout"` // ResourcePriorities is an ordered slice of resources specifying the desired // order of resource restores. Any resources not in the list will be restored // alphabetically after the prioritized resources. ResourcePriorities []string `json:"resourcePriorities"` // RestoreOnlyMode is whether Ark should run in a mode where only restores // are allowed; backups, schedules, and garbage-collection are all disabled. RestoreOnlyMode bool `json:"restoreOnlyMode"` }
Config is an Ark resource that captures configuration information to be used for running the Ark server.
func (*Config) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Config) DeepCopyObject ¶ added in v0.6.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigList ¶
type ConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Config `json:"items"` }
ConfigList is a list of Configs.
func (*ConfigList) DeepCopy ¶ added in v0.6.0
func (in *ConfigList) DeepCopy() *ConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigList.
func (*ConfigList) DeepCopyInto ¶ added in v0.6.0
func (in *ConfigList) DeepCopyInto(out *ConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigList) DeepCopyObject ¶ added in v0.6.0
func (in *ConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeleteBackupRequest ¶ added in v0.8.0
type DeleteBackupRequest struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec DeleteBackupRequestSpec `json:"spec"` Status DeleteBackupRequestStatus `json:"status,omitempty"` }
DeleteBackupRequest is a request to delete one or more backups.
func (*DeleteBackupRequest) DeepCopy ¶ added in v0.8.0
func (in *DeleteBackupRequest) DeepCopy() *DeleteBackupRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeleteBackupRequest.
func (*DeleteBackupRequest) DeepCopyInto ¶ added in v0.8.0
func (in *DeleteBackupRequest) DeepCopyInto(out *DeleteBackupRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeleteBackupRequest) DeepCopyObject ¶ added in v0.8.0
func (in *DeleteBackupRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeleteBackupRequestList ¶ added in v0.8.0
type DeleteBackupRequestList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []DeleteBackupRequest `json:"items"` }
DeleteBackupRequestList is a list of DeleteBackupRequests.
func (*DeleteBackupRequestList) DeepCopy ¶ added in v0.8.0
func (in *DeleteBackupRequestList) DeepCopy() *DeleteBackupRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeleteBackupRequestList.
func (*DeleteBackupRequestList) DeepCopyInto ¶ added in v0.8.0
func (in *DeleteBackupRequestList) DeepCopyInto(out *DeleteBackupRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeleteBackupRequestList) DeepCopyObject ¶ added in v0.8.0
func (in *DeleteBackupRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeleteBackupRequestPhase ¶ added in v0.8.0
type DeleteBackupRequestPhase string
DeleteBackupRequestPhase represents the lifecycle phase of a DeleteBackupRequest.
const ( // DeleteBackupRequestPhaseNew means the DeleteBackupRequest has not been processed yet. DeleteBackupRequestPhaseNew DeleteBackupRequestPhase = "New" // DeleteBackupRequestPhaseInProgress means the DeleteBackupRequest is being processed. DeleteBackupRequestPhaseInProgress DeleteBackupRequestPhase = "InProgress" // DeleteBackupRequestPhaseProcessed means the DeleteBackupRequest has been processed. DeleteBackupRequestPhaseProcessed DeleteBackupRequestPhase = "Processed" )
type DeleteBackupRequestSpec ¶ added in v0.8.0
type DeleteBackupRequestSpec struct {
BackupName string `json:"backupName"`
}
DeleteBackupRequestSpec is the specification for which backups to delete.
func (*DeleteBackupRequestSpec) DeepCopy ¶ added in v0.8.0
func (in *DeleteBackupRequestSpec) DeepCopy() *DeleteBackupRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeleteBackupRequestSpec.
func (*DeleteBackupRequestSpec) DeepCopyInto ¶ added in v0.8.0
func (in *DeleteBackupRequestSpec) DeepCopyInto(out *DeleteBackupRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeleteBackupRequestStatus ¶ added in v0.8.0
type DeleteBackupRequestStatus struct { // Phase is the current state of the DeleteBackupRequest. Phase DeleteBackupRequestPhase `json:"phase"` // Errors contains any errors that were encountered during the deletion process. Errors []string `json:"errors"` }
DeleteBackupRequestStatus is the current status of a DeleteBackupRequest.
func (*DeleteBackupRequestStatus) DeepCopy ¶ added in v0.8.0
func (in *DeleteBackupRequestStatus) DeepCopy() *DeleteBackupRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeleteBackupRequestStatus.
func (*DeleteBackupRequestStatus) DeepCopyInto ¶ added in v0.8.0
func (in *DeleteBackupRequestStatus) DeepCopyInto(out *DeleteBackupRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DownloadRequest ¶ added in v0.4.0
type DownloadRequest struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec DownloadRequestSpec `json:"spec"` Status DownloadRequestStatus `json:"status,omitempty"` }
DownloadRequest is a request to download an artifact from backup object storage, such as a backup log file.
func (*DownloadRequest) DeepCopy ¶ added in v0.6.0
func (in *DownloadRequest) DeepCopy() *DownloadRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadRequest.
func (*DownloadRequest) DeepCopyInto ¶ added in v0.6.0
func (in *DownloadRequest) DeepCopyInto(out *DownloadRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DownloadRequest) DeepCopyObject ¶ added in v0.6.0
func (in *DownloadRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DownloadRequestList ¶ added in v0.4.0
type DownloadRequestList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []DownloadRequest `json:"items"` }
DownloadRequestList is a list of DownloadRequests.
func (*DownloadRequestList) DeepCopy ¶ added in v0.6.0
func (in *DownloadRequestList) DeepCopy() *DownloadRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadRequestList.
func (*DownloadRequestList) DeepCopyInto ¶ added in v0.6.0
func (in *DownloadRequestList) DeepCopyInto(out *DownloadRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DownloadRequestList) DeepCopyObject ¶ added in v0.6.0
func (in *DownloadRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DownloadRequestPhase ¶ added in v0.4.0
type DownloadRequestPhase string
DownloadRequestPhase represents the lifecycle phase of a DownloadRequest.
const ( // DownloadRequestPhaseNew means the DownloadRequest has not been processed by the // DownloadRequestController yet. DownloadRequestPhaseNew DownloadRequestPhase = "New" // DownloadRequestPhaseProcessed means the DownloadRequest has been processed by the // DownloadRequestController. DownloadRequestPhaseProcessed DownloadRequestPhase = "Processed" )
type DownloadRequestSpec ¶ added in v0.4.0
type DownloadRequestSpec struct { // Target is what to download (e.g. logs for a backup). Target DownloadTarget `json:"target"` }
DownloadRequestSpec is the specification for a download request.
func (*DownloadRequestSpec) DeepCopy ¶ added in v0.6.0
func (in *DownloadRequestSpec) DeepCopy() *DownloadRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadRequestSpec.
func (*DownloadRequestSpec) DeepCopyInto ¶ added in v0.6.0
func (in *DownloadRequestSpec) DeepCopyInto(out *DownloadRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DownloadRequestStatus ¶ added in v0.4.0
type DownloadRequestStatus struct { // Phase is the current state of the DownloadRequest. Phase DownloadRequestPhase `json:"phase"` // DownloadURL contains the pre-signed URL for the target file. DownloadURL string `json:"downloadURL"` // Expiration is when this DownloadRequest expires and can be deleted by the system. Expiration metav1.Time `json:"expiration"` }
DownloadRequestStatus is the current status of a DownloadRequest.
func (*DownloadRequestStatus) DeepCopy ¶ added in v0.6.0
func (in *DownloadRequestStatus) DeepCopy() *DownloadRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadRequestStatus.
func (*DownloadRequestStatus) DeepCopyInto ¶ added in v0.6.0
func (in *DownloadRequestStatus) DeepCopyInto(out *DownloadRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DownloadTarget ¶ added in v0.4.0
type DownloadTarget struct { // Kind is the type of file to download. Kind DownloadTargetKind `json:"kind"` // Name is the name of the kubernetes resource with which the file is associated. Name string `json:"name"` }
DownloadTarget is the specification for what kind of file to download, and the name of the resource with which it's associated.
func (*DownloadTarget) DeepCopy ¶ added in v0.6.0
func (in *DownloadTarget) DeepCopy() *DownloadTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadTarget.
func (*DownloadTarget) DeepCopyInto ¶ added in v0.6.0
func (in *DownloadTarget) DeepCopyInto(out *DownloadTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DownloadTargetKind ¶ added in v0.4.0
type DownloadTargetKind string
DownloadTargetKind represents what type of file to download.
const ( DownloadTargetKindBackupLog DownloadTargetKind = "BackupLog" DownloadTargetKindBackupContents DownloadTargetKind = "BackupContents" DownloadTargetKindRestoreLog DownloadTargetKind = "RestoreLog" DownloadTargetKindRestoreResults DownloadTargetKind = "RestoreResults" )
type ExecHook ¶ added in v0.5.0
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. Container string `json:"container"` // Command is the command and arguments to execute. Command []string `json:"command"` // OnError specifies how Ark should behave if it encounters an error executing this hook. OnError HookErrorMode `json:"onError"` // Timeout defines the maximum amount of time Ark should wait for the hook to complete before // considering the execution a failure. Timeout metav1.Duration `json:"timeout"` }
ExecHook is a hook that uses the pod exec API to execute a command in a container in a pod.
func (*ExecHook) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecHook.
func (*ExecHook) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HookErrorMode ¶ added in v0.5.0
type HookErrorMode string
HookErrorMode defines how Ark should treat an error from a hook.
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" )
type ObjectStorageProviderConfig ¶
type ObjectStorageProviderConfig struct { // CloudProviderConfig is the configuration information for the cloud where // Ark backups are stored in object storage. CloudProviderConfig `json:",inline"` // Bucket is the name of the bucket in object storage where Ark backups // are stored. Bucket string `json:"bucket"` // ResticLocation is the bucket and optional prefix in object storage where // Ark stores restic backups of pod volumes, specified either as "bucket" or // "bucket/prefix". This bucket must be different than the `Bucket` field. // Optional. ResticLocation string `json:"resticLocation"` }
ObjectStorageProviderConfig is configuration information for connecting to a particular bucket in object storage to access Ark backups.
func (*ObjectStorageProviderConfig) DeepCopy ¶ added in v0.6.0
func (in *ObjectStorageProviderConfig) DeepCopy() *ObjectStorageProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStorageProviderConfig.
func (*ObjectStorageProviderConfig) DeepCopyInto ¶ added in v0.6.0
func (in *ObjectStorageProviderConfig) DeepCopyInto(out *ObjectStorageProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodVolumeBackup ¶ added in v0.9.0
type PodVolumeBackup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec PodVolumeBackupSpec `json:"spec"` Status PodVolumeBackupStatus `json:"status,omitempty"` }
func (*PodVolumeBackup) DeepCopy ¶ added in v0.9.0
func (in *PodVolumeBackup) DeepCopy() *PodVolumeBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeBackup.
func (*PodVolumeBackup) DeepCopyInto ¶ added in v0.9.0
func (in *PodVolumeBackup) DeepCopyInto(out *PodVolumeBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodVolumeBackup) DeepCopyObject ¶ added in v0.9.0
func (in *PodVolumeBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodVolumeBackupList ¶ added in v0.9.0
type PodVolumeBackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []PodVolumeBackup `json:"items"` }
PodVolumeBackupList is a list of PodVolumeBackups.
func (*PodVolumeBackupList) DeepCopy ¶ added in v0.9.0
func (in *PodVolumeBackupList) DeepCopy() *PodVolumeBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeBackupList.
func (*PodVolumeBackupList) DeepCopyInto ¶ added in v0.9.0
func (in *PodVolumeBackupList) DeepCopyInto(out *PodVolumeBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodVolumeBackupList) DeepCopyObject ¶ added in v0.9.0
func (in *PodVolumeBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodVolumeBackupPhase ¶ added in v0.9.0
type PodVolumeBackupPhase string
PodVolumeBackupPhase represents the lifecycle phase of a PodVolumeBackup.
const ( PodVolumeBackupPhaseNew PodVolumeBackupPhase = "New" PodVolumeBackupPhaseInProgress PodVolumeBackupPhase = "InProgress" PodVolumeBackupPhaseCompleted PodVolumeBackupPhase = "Completed" PodVolumeBackupPhaseFailed PodVolumeBackupPhase = "Failed" )
type PodVolumeBackupSpec ¶ added in v0.9.0
type PodVolumeBackupSpec struct { // Node is the name of the node that the Pod is running on. Node string `json:"node"` // Pod is a reference to the pod containing the volume to be backed up. Pod corev1api.ObjectReference `json:"pod"` // Volume is the name of the volume within the Pod to be backed // up. Volume string `json:"volume"` // RepoIdentifier is the restic repository identifier. RepoIdentifier string `json:"repoIdentifier"` // Tags are a map of key-value pairs that should be applied to the // volume backup as tags. Tags map[string]string `json:"tags"` }
PodVolumeBackupSpec is the specification for a PodVolumeBackup.
func (*PodVolumeBackupSpec) DeepCopy ¶ added in v0.9.0
func (in *PodVolumeBackupSpec) DeepCopy() *PodVolumeBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeBackupSpec.
func (*PodVolumeBackupSpec) DeepCopyInto ¶ added in v0.9.0
func (in *PodVolumeBackupSpec) DeepCopyInto(out *PodVolumeBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodVolumeBackupStatus ¶ added in v0.9.0
type PodVolumeBackupStatus struct { // Phase is the current state of the PodVolumeBackup. Phase PodVolumeBackupPhase `json:"phase"` // Path is the full path within the controller pod being backed up. Path string `json:"path"` // SnapshotID is the identifier for the snapshot of the pod volume. SnapshotID string `json:"snapshotID"` // Message is a message about the pod volume backup's status. Message string `json:"message"` }
PodVolumeBackupStatus is the current status of a PodVolumeBackup.
func (*PodVolumeBackupStatus) DeepCopy ¶ added in v0.9.0
func (in *PodVolumeBackupStatus) DeepCopy() *PodVolumeBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeBackupStatus.
func (*PodVolumeBackupStatus) DeepCopyInto ¶ added in v0.9.0
func (in *PodVolumeBackupStatus) DeepCopyInto(out *PodVolumeBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodVolumeRestore ¶ added in v0.9.0
type PodVolumeRestore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec PodVolumeRestoreSpec `json:"spec"` Status PodVolumeRestoreStatus `json:"status,omitempty"` }
func (*PodVolumeRestore) DeepCopy ¶ added in v0.9.0
func (in *PodVolumeRestore) DeepCopy() *PodVolumeRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeRestore.
func (*PodVolumeRestore) DeepCopyInto ¶ added in v0.9.0
func (in *PodVolumeRestore) DeepCopyInto(out *PodVolumeRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodVolumeRestore) DeepCopyObject ¶ added in v0.9.0
func (in *PodVolumeRestore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodVolumeRestoreList ¶ added in v0.9.0
type PodVolumeRestoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []PodVolumeRestore `json:"items"` }
PodVolumeRestoreList is a list of PodVolumeRestores.
func (*PodVolumeRestoreList) DeepCopy ¶ added in v0.9.0
func (in *PodVolumeRestoreList) DeepCopy() *PodVolumeRestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeRestoreList.
func (*PodVolumeRestoreList) DeepCopyInto ¶ added in v0.9.0
func (in *PodVolumeRestoreList) DeepCopyInto(out *PodVolumeRestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodVolumeRestoreList) DeepCopyObject ¶ added in v0.9.0
func (in *PodVolumeRestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodVolumeRestorePhase ¶ added in v0.9.0
type PodVolumeRestorePhase string
PodVolumeRestorePhase represents the lifecycle phase of a PodVolumeRestore.
const ( PodVolumeRestorePhaseNew PodVolumeRestorePhase = "New" PodVolumeRestorePhaseInProgress PodVolumeRestorePhase = "InProgress" PodVolumeRestorePhaseCompleted PodVolumeRestorePhase = "Completed" PodVolumeRestorePhaseFailed PodVolumeRestorePhase = "Failed" )
type PodVolumeRestoreSpec ¶ added in v0.9.0
type PodVolumeRestoreSpec struct { // Pod is a reference to the pod containing the volume to be restored. Pod corev1api.ObjectReference `json:"pod"` // Volume is the name of the volume within the Pod to be restored. Volume string `json:"volume"` // RepoIdentifier is the restic repository identifier. RepoIdentifier string `json:"repoIdentifier"` // SnapshotID is the ID of the volume snapshot to be restored. SnapshotID string `json:"snapshotID"` }
PodVolumeRestoreSpec is the specification for a PodVolumeRestore.
func (*PodVolumeRestoreSpec) DeepCopy ¶ added in v0.9.0
func (in *PodVolumeRestoreSpec) DeepCopy() *PodVolumeRestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeRestoreSpec.
func (*PodVolumeRestoreSpec) DeepCopyInto ¶ added in v0.9.0
func (in *PodVolumeRestoreSpec) DeepCopyInto(out *PodVolumeRestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodVolumeRestoreStatus ¶ added in v0.9.0
type PodVolumeRestoreStatus struct { // Phase is the current state of the PodVolumeRestore. Phase PodVolumeRestorePhase `json:"phase"` // Message is a message about the pod volume restore's status. Message string `json:"message"` }
PodVolumeRestoreStatus is the current status of a PodVolumeRestore.
func (*PodVolumeRestoreStatus) DeepCopy ¶ added in v0.9.0
func (in *PodVolumeRestoreStatus) DeepCopy() *PodVolumeRestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeRestoreStatus.
func (*PodVolumeRestoreStatus) DeepCopyInto ¶ added in v0.9.0
func (in *PodVolumeRestoreStatus) DeepCopyInto(out *PodVolumeRestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResticRepository ¶ added in v0.9.0
type ResticRepository struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ResticRepositorySpec `json:"spec"` Status ResticRepositoryStatus `json:"status,omitempty"` }
func (*ResticRepository) DeepCopy ¶ added in v0.9.0
func (in *ResticRepository) DeepCopy() *ResticRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResticRepository.
func (*ResticRepository) DeepCopyInto ¶ added in v0.9.0
func (in *ResticRepository) DeepCopyInto(out *ResticRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResticRepository) DeepCopyObject ¶ added in v0.9.0
func (in *ResticRepository) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResticRepositoryList ¶ added in v0.9.0
type ResticRepositoryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []ResticRepository `json:"items"` }
ResticRepositoryList is a list of ResticRepositories.
func (*ResticRepositoryList) DeepCopy ¶ added in v0.9.0
func (in *ResticRepositoryList) DeepCopy() *ResticRepositoryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResticRepositoryList.
func (*ResticRepositoryList) DeepCopyInto ¶ added in v0.9.0
func (in *ResticRepositoryList) DeepCopyInto(out *ResticRepositoryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResticRepositoryList) DeepCopyObject ¶ added in v0.9.0
func (in *ResticRepositoryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResticRepositoryPhase ¶ added in v0.9.0
type ResticRepositoryPhase string
ResticRepositoryPhase represents the lifecycle phase of a ResticRepository.
const ( ResticRepositoryPhaseNew ResticRepositoryPhase = "New" ResticRepositoryPhaseReady ResticRepositoryPhase = "Ready" ResticRepositoryPhaseNotReady ResticRepositoryPhase = "NotReady" )
type ResticRepositorySpec ¶ added in v0.9.0
type ResticRepositorySpec struct { // MaintenanceFrequency is how often maintenance should be run. MaintenanceFrequency metav1.Duration `json:"maintenanceFrequency"` // ResticIdentifier is the full restic-compatible string for identifying // this repository. ResticIdentifier string `json:"resticIdentifier"` }
ResticRepositorySpec is the specification for a ResticRepository.
func (*ResticRepositorySpec) DeepCopy ¶ added in v0.9.0
func (in *ResticRepositorySpec) DeepCopy() *ResticRepositorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResticRepositorySpec.
func (*ResticRepositorySpec) DeepCopyInto ¶ added in v0.9.0
func (in *ResticRepositorySpec) DeepCopyInto(out *ResticRepositorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResticRepositoryStatus ¶ added in v0.9.0
type ResticRepositoryStatus struct { // Phase is the current state of the ResticRepository. Phase ResticRepositoryPhase `json:"phase"` // Message is a message about the current status of the ResticRepository. Message string `json:"message"` // LastMaintenanceTime is the last time maintenance was run. LastMaintenanceTime metav1.Time `json:"lastMaintenanceTime"` }
ResticRepositoryStatus is the current status of a ResticRepository.
func (*ResticRepositoryStatus) DeepCopy ¶ added in v0.9.0
func (in *ResticRepositoryStatus) DeepCopy() *ResticRepositoryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResticRepositoryStatus.
func (*ResticRepositoryStatus) DeepCopyInto ¶ added in v0.9.0
func (in *ResticRepositoryStatus) DeepCopyInto(out *ResticRepositoryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Restore ¶
type Restore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec RestoreSpec `json:"spec"` Status RestoreStatus `json:"status,omitempty"` }
Restore is an Ark resource that represents the application of resources from an Ark backup to a target Kubernetes cluster.
func (*Restore) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Restore.
func (*Restore) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Restore) DeepCopyObject ¶ added in v0.6.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RestoreList ¶
type RestoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Restore `json:"items"` }
RestoreList is a list of Restores.
func (*RestoreList) DeepCopy ¶ added in v0.6.0
func (in *RestoreList) DeepCopy() *RestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreList.
func (*RestoreList) DeepCopyInto ¶ added in v0.6.0
func (in *RestoreList) DeepCopyInto(out *RestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RestoreList) DeepCopyObject ¶ added in v0.6.0
func (in *RestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RestorePhase ¶
type RestorePhase string
RestorePhase is a string representation of the lifecycle phase of an Ark restore
const ( // RestorePhaseNew means the restore has been created but not // yet processed by the RestoreController RestorePhaseNew RestorePhase = "New" // RestorePhaseFailedValidation means the restore has failed // the controller's validations and therefore will not run. RestorePhaseFailedValidation RestorePhase = "FailedValidation" // RestorePhaseInProgress means the restore is currently executing. RestorePhaseInProgress RestorePhase = "InProgress" // RestorePhaseCompleted means the restore has finished executing. // Any relevant warnings or errors will be captured in the Status. RestorePhaseCompleted RestorePhase = "Completed" )
type RestoreResult ¶
type RestoreResult struct { // Ark is a slice of messages related to the operation of Ark // itself (for example, messages related to connecting to the // cloud, reading a backup file, etc.) Ark []string `json:"ark"` // Cluster is a slice of messages related to restoring cluster- // scoped resources. Cluster []string `json:"cluster"` // Namespaces is a map of namespace name to slice of messages // related to restoring namespace-scoped resources. Namespaces map[string][]string `json:"namespaces"` }
RestoreResult is a collection of messages that were generated during execution of a restore. This will typically store either warning or error messages.
func (*RestoreResult) DeepCopy ¶ added in v0.6.0
func (in *RestoreResult) DeepCopy() *RestoreResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreResult.
func (*RestoreResult) DeepCopyInto ¶ added in v0.6.0
func (in *RestoreResult) DeepCopyInto(out *RestoreResult)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreSpec ¶
type RestoreSpec struct { // BackupName is the unique name of the Ark backup to restore // from. BackupName string `json:"backupName"` // IncludedNamespaces is a slice of namespace names to include objects // from. If empty, all namespaces are included. IncludedNamespaces []string `json:"includedNamespaces"` // ExcludedNamespaces contains a list of namespaces that are not // included in the restore. ExcludedNamespaces []string `json:"excludedNamespaces"` // IncludedResources is a slice of resource names to include // in the restore. If empty, all resources in the backup are included. IncludedResources []string `json:"includedResources"` // ExcludedResources is a slice of resource names that are not // included in the restore. ExcludedResources []string `json:"excludedResources"` // NamespaceMapping is a map of source namespace names // to target namespace names to restore into. Any source // namespaces not included in the map will be restored into // namespaces of the same name. NamespaceMapping map[string]string `json:"namespaceMapping"` // LabelSelector is a metav1.LabelSelector to filter with // when restoring individual objects from the backup. If empty // or nil, all objects are included. Optional. LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"` // RestorePVs specifies whether to restore all included // PVs from snapshot (via the cloudprovider). RestorePVs *bool `json:"restorePVs,omitempty"` // IncludeClusterResources specifies whether cluster-scoped resources // should be included for consideration in the restore. If null, defaults // to true. IncludeClusterResources *bool `json:"includeClusterResources,omitempty"` }
RestoreSpec defines the specification for an Ark restore.
func (*RestoreSpec) DeepCopy ¶ added in v0.6.0
func (in *RestoreSpec) DeepCopy() *RestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreSpec.
func (*RestoreSpec) DeepCopyInto ¶ added in v0.6.0
func (in *RestoreSpec) DeepCopyInto(out *RestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreStatus ¶
type RestoreStatus struct { // Phase is the current state of the Restore Phase RestorePhase `json:"phase"` // ValidationErrors is a slice of all validation errors (if // applicable) ValidationErrors []string `json:"validationErrors"` // Warnings is a count of all warning messages that were generated during // execution of the restore. The actual warnings are stored in object storage. Warnings int `json:"warnings"` // Errors is a count of all error messages that were generated during // execution of the restore. The actual errors are stored in object storage. Errors int `json:"errors"` }
RestoreStatus captures the current status of an Ark restore
func (*RestoreStatus) DeepCopy ¶ added in v0.6.0
func (in *RestoreStatus) DeepCopy() *RestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreStatus.
func (*RestoreStatus) DeepCopyInto ¶ added in v0.6.0
func (in *RestoreStatus) DeepCopyInto(out *RestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Schedule ¶
type Schedule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ScheduleSpec `json:"spec"` Status ScheduleStatus `json:"status,omitempty"` }
Schedule is an Ark resource that represents a pre-scheduled or periodic Backup that should be run.
func (*Schedule) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schedule.
func (*Schedule) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Schedule) DeepCopyObject ¶ added in v0.6.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScheduleList ¶
type ScheduleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Schedule `json:"items"` }
ScheduleList is a list of Schedules.
func (*ScheduleList) DeepCopy ¶ added in v0.6.0
func (in *ScheduleList) DeepCopy() *ScheduleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleList.
func (*ScheduleList) DeepCopyInto ¶ added in v0.6.0
func (in *ScheduleList) DeepCopyInto(out *ScheduleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScheduleList) DeepCopyObject ¶ added in v0.6.0
func (in *ScheduleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SchedulePhase ¶
type SchedulePhase string
SchedulePhase is a string representation of the lifecycle phase of an Ark schedule
const ( // SchedulePhaseNew means the schedule has been created but not // yet processed by the ScheduleController SchedulePhaseNew SchedulePhase = "New" // SchedulePhaseEnabled means the schedule has been validated and // will now be triggering backups according to the schedule spec. SchedulePhaseEnabled SchedulePhase = "Enabled" // SchedulePhaseFailedValidation means the schedule has failed // the controller's validations and therefore will not trigger backups. SchedulePhaseFailedValidation SchedulePhase = "FailedValidation" )
type ScheduleSpec ¶
type ScheduleSpec struct { // Template is the definition of the Backup to be run // on the provided schedule Template BackupSpec `json:"template"` // Schedule is a Cron expression defining when to run // the Backup. Schedule string `json:"schedule"` }
ScheduleSpec defines the specification for an Ark schedule
func (*ScheduleSpec) DeepCopy ¶ added in v0.6.0
func (in *ScheduleSpec) DeepCopy() *ScheduleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleSpec.
func (*ScheduleSpec) DeepCopyInto ¶ added in v0.6.0
func (in *ScheduleSpec) DeepCopyInto(out *ScheduleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScheduleStatus ¶
type ScheduleStatus struct { // Phase is the current phase of the Schedule Phase SchedulePhase `json:"phase"` // LastBackup is the last time a Backup was run for this // Schedule schedule LastBackup metav1.Time `json:"lastBackup"` // ValidationErrors is a slice of all validation errors (if // applicable) ValidationErrors []string `json:"validationErrors"` }
ScheduleStatus captures the current state of an Ark schedule
func (*ScheduleStatus) DeepCopy ¶ added in v0.6.0
func (in *ScheduleStatus) DeepCopy() *ScheduleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleStatus.
func (*ScheduleStatus) DeepCopyInto ¶ added in v0.6.0
func (in *ScheduleStatus) DeepCopyInto(out *ScheduleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeBackupInfo ¶
type VolumeBackupInfo struct { // SnapshotID is the ID of the snapshot taken in the cloud // provider API of this volume. SnapshotID string `json:"snapshotID"` // Type is the type of the disk/volume in the cloud provider // API. Type string `json:"type"` // AvailabilityZone is the where the volume is provisioned // in the cloud provider. AvailabilityZone string `json:"availabilityZone,omitempty"` // Iops is the optional value of provisioned IOPS for the // disk/volume in the cloud provider API. Iops *int64 `json:"iops,omitempty"` }
VolumeBackupInfo captures the required information about a PersistentVolume at backup time to be able to restore it later.
func (*VolumeBackupInfo) DeepCopy ¶ added in v0.6.0
func (in *VolumeBackupInfo) DeepCopy() *VolumeBackupInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeBackupInfo.
func (*VolumeBackupInfo) DeepCopyInto ¶ added in v0.6.0
func (in *VolumeBackupInfo) DeepCopyInto(out *VolumeBackupInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.