Documentation ¶
Overview ¶
Package v1 is the v1 version of the API. +groupName=ark.heptio.com
Index ¶
- Constants
- Variables
- 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 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 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 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"` // 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"` // 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"` }
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"` // 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" // BackupNameLabel is the label key used by a DeleteBackupRequest to identify its backup by name. BackupNameLabel = "ark.heptio.com/backup-name" // BackupUIDLabel is the label key used by a DeleteBackupRequest to identify its backup by uid. BackupUIDLabel = "ark.heptio.com/backup-uid" )
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"` }
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 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"` // RestorePVs specifies whether to restore all included // PVs from snapshot (via the cloudprovider). RestorePVs *bool `json:"restorePVs"` // IncludeClusterResources specifies whether cluster-scoped resources // should be included for consideration in the restore. If null, defaults // to true. IncludeClusterResources *bool `json:"includeClusterResources"` }
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.