Documentation ¶
Index ¶
- Constants
- Variables
- func IsNil(v interface{}) bool
- func MapToNamespacedName(obj metav1.Object) types.NamespacedName
- type Archive
- func (in *Archive) DeepCopy() *Archive
- func (in *Archive) DeepCopyInto(out *Archive)
- func (in *Archive) DeepCopyObject() runtime.Object
- func (a *Archive) GetActiveDeadlineSeconds() *int64
- func (a *Archive) GetFailedJobsHistoryLimit() *int
- func (a *Archive) GetPodConfig(ctx context.Context, c client.Client) (*PodConfig, error)
- func (a *Archive) GetPodSecurityContext() *corev1.PodSecurityContext
- func (a *Archive) GetResources() corev1.ResourceRequirements
- func (a *Archive) GetStatus() Status
- func (a *Archive) GetSuccessfulJobsHistoryLimit() *int
- func (*Archive) GetType() JobType
- func (a *Archive) SetStatus(status Status)
- type ArchiveList
- type ArchiveSchedule
- type ArchiveSpec
- type AzureSpec
- type B2Spec
- type Backend
- type BackendInterface
- type Backup
- func (in *Backup) DeepCopy() *Backup
- func (in *Backup) DeepCopyInto(out *Backup)
- func (in *Backup) DeepCopyObject() runtime.Object
- func (b *Backup) GetActiveDeadlineSeconds() *int64
- func (b *Backup) GetFailedJobsHistoryLimit() *int
- func (b *Backup) GetPodConfig(ctx context.Context, c client.Client) (*PodConfig, error)
- func (b *Backup) GetPodSecurityContext() *corev1.PodSecurityContext
- func (b *Backup) GetResources() corev1.ResourceRequirements
- func (b *Backup) GetStatus() Status
- func (b *Backup) GetSuccessfulJobsHistoryLimit() *int
- func (*Backup) GetType() JobType
- func (b *Backup) SetStatus(status Status)
- type BackupList
- type BackupSchedule
- type BackupSpec
- type BackupTemplate
- type Check
- func (in *Check) DeepCopy() *Check
- func (in *Check) DeepCopyInto(out *Check)
- func (in *Check) DeepCopyObject() runtime.Object
- func (c *Check) GetActiveDeadlineSeconds() *int64
- func (c *Check) GetFailedJobsHistoryLimit() *int
- func (b *Check) GetPodConfig(ctx context.Context, c client.Client) (*PodConfig, error)
- func (c *Check) GetPodSecurityContext() *corev1.PodSecurityContext
- func (c *Check) GetResources() corev1.ResourceRequirements
- func (c *Check) GetStatus() Status
- func (c *Check) GetSuccessfulJobsHistoryLimit() *int
- func (c *Check) GetType() JobType
- func (c *Check) SetStatus(status Status)
- type CheckList
- type CheckSchedule
- type CheckSpec
- type ConditionReason
- type ConditionType
- type EffectiveSchedule
- type Env
- type FolderRestore
- type GCSSpec
- type JobObject
- type JobObjectList
- type JobType
- type LocalSpec
- type Pod
- type PodConfig
- type PodConfigList
- type PodConfigSpec
- type PodConfigStatus
- type PreBackupPod
- type PreBackupPodList
- type PreBackupPodSpec
- type Prune
- func (in *Prune) DeepCopy() *Prune
- func (in *Prune) DeepCopyInto(out *Prune)
- func (in *Prune) DeepCopyObject() runtime.Object
- func (p *Prune) GetActiveDeadlineSeconds() *int64
- func (p *Prune) GetFailedJobsHistoryLimit() *int
- func (p *Prune) GetPodConfig(ctx context.Context, c client.Client) (*PodConfig, error)
- func (p *Prune) GetPodSecurityContext() *corev1.PodSecurityContext
- func (p *Prune) GetResources() corev1.ResourceRequirements
- func (p *Prune) GetStatus() Status
- func (p *Prune) GetSuccessfulJobsHistoryLimit() *int
- func (p *Prune) GetType() JobType
- func (p *Prune) SetStatus(status Status)
- type PruneList
- type PruneSchedule
- type PruneSpec
- type RestServerSpec
- type Restore
- func (in *Restore) DeepCopy() *Restore
- func (in *Restore) DeepCopyInto(out *Restore)
- func (in *Restore) DeepCopyObject() runtime.Object
- func (r *Restore) GetActiveDeadlineSeconds() *int64
- func (r *Restore) GetFailedJobsHistoryLimit() *int
- func (r *Restore) GetPodConfig(ctx context.Context, c client.Client) (*PodConfig, error)
- func (r *Restore) GetPodSecurityContext() *corev1.PodSecurityContext
- func (r *Restore) GetResources() corev1.ResourceRequirements
- func (r *Restore) GetStatus() Status
- func (r *Restore) GetSuccessfulJobsHistoryLimit() *int
- func (r *Restore) GetType() JobType
- func (r *Restore) SetStatus(status Status)
- type RestoreList
- type RestoreMethod
- type RestoreSchedule
- type RestoreSpec
- type RetentionPolicy
- type RunnableSpec
- type RunnableVolumeSpec
- type S3Spec
- type Schedule
- func (in *Schedule) DeepCopy() *Schedule
- func (in *Schedule) DeepCopyInto(out *Schedule)
- func (in *Schedule) DeepCopyObject() runtime.Object
- func (s *Schedule) GetActiveDeadlineSeconds() *int64
- func (s *Schedule) GetFailedJobsHistoryLimit() *int
- func (s *Schedule) GetJobName() string
- func (s *Schedule) GetMetaObject() metav1.Object
- func (s *Schedule) GetPodConfig(ctx context.Context, c client.Client) (*PodConfig, error)
- func (s *Schedule) GetPodSecurityContext() *corev1.PodSecurityContext
- func (s *Schedule) GetResources() corev1.ResourceRequirements
- func (s *Schedule) GetRuntimeObject() runtime.Object
- func (s *Schedule) GetStatus() Status
- func (s *Schedule) GetSuccessfulJobsHistoryLimit() *int
- func (*Schedule) GetType() JobType
- func (s *Schedule) SetStatus(status Status)
- type ScheduleCommon
- type ScheduleDefinition
- type ScheduleList
- type ScheduleSpec
- type ScheduleSpecInterface
- type ScheduleStatus
- type Snapshot
- type SnapshotList
- type SnapshotSpec
- type SnapshotStatus
- type Status
- func (in *Status) DeepCopy() *Status
- func (in *Status) DeepCopyInto(out *Status)
- func (in Status) HasFailed() bool
- func (in Status) HasFailedPreBackup() bool
- func (in Status) HasFinished() bool
- func (in Status) HasStarted() bool
- func (in Status) HasSucceeded() bool
- func (in Status) IsWaitingForPreBackup() bool
- func (in *Status) SetCondition(typ ConditionType, reason ConditionReason, status metav1.ConditionStatus, ...)
- func (in *Status) SetFailed(message string)
- func (in *Status) SetFinished(message string)
- func (in *Status) SetStarted(message string)
- func (in *Status) SetSucceeded(message string)
- type SwiftSpec
- type TLSOptions
Constants ¶
const ( BackupType JobType = "backup" CheckType JobType = "check" ArchiveType JobType = "archive" RestoreType JobType = "restore" PruneType JobType = "prune" ScheduleType JobType = "schedule" // ConditionCompleted is given when the resource has completed its main function. ConditionCompleted ConditionType = "Completed" // ConditionReady is given when all preconditions are met. ConditionReady ConditionType = "Ready" // ConditionScrubbed is given when the resource has done its housework to clean up similar but outdated resources. ConditionScrubbed ConditionType = "Scrubbed" // ConditionProgressing is given when the resource is in the process of doing its main function. ConditionProgressing ConditionType = "Progressing" // ConditionPreBackupPodReady is True if Deployments for all Container definitions were created and are ready ConditionPreBackupPodReady ConditionType = "PreBackupPodReady" // ReasonReady indicates the condition is ready for work ReasonReady ConditionReason = "Ready" // ReasonStarted indicates the resource has started progressing ReasonStarted ConditionReason = "Started" // ReasonFinished indicates the resource has finished the work without specifying its success. ReasonFinished ConditionReason = "Finished" // ReasonSucceeded indicates the condition is succeeded ReasonSucceeded ConditionReason = "Succeeded" // ReasonFailed indicates there was a general failure not further categorized ReasonFailed ConditionReason = "Failed" // ReasonCreationFailed indicates that a dependent resource could not be created ReasonCreationFailed ConditionReason = "CreationFailed" // ReasonUpdateFailed indicates that a dependent resource could not be created ReasonUpdateFailed ConditionReason = "UpdateFailed" // ReasonDeletionFailed indicates that a dependent resource could not be deleted ReasonDeletionFailed ConditionReason = "DeletionFailed" // ReasonRetrievalFailed indicates that dependent resource(s) could not be retrieved for further processing ReasonRetrievalFailed ConditionReason = "RetrievalFailed" // ReasonNoPreBackupPodsFound is given when no PreBackupPods are found in the same namespace ReasonNoPreBackupPodsFound ConditionReason = "NoPreBackupPodsFound" // ReasonWaiting is given when PreBackupPods are waiting to be started ReasonWaiting ConditionReason = "Waiting" // LabelK8upType is the label key that identifies the job type LabelK8upType = "k8up.io/type" // LabelK8upOwnedBy is a label used to indicated which resource owns this resource to make it easy to fetch owned resources. LabelK8upOwnedBy = "k8up.io/owned-by" // Deprecated: LegacyLabelK8upType is the former label key that identified the job type LegacyLabelK8upType = "k8up.syn.tools/type" // LabelManagedBy identifies the tool being used to manage the operation of a resource LabelManagedBy = "app.kubernetes.io/managed-by" // LabelRepositoryHash is the label key that identifies the Restic repository LabelRepositoryHash = "k8up.io/repository-hash" // AnnotationK8upHostname is an annotation one can set on RWO PVCs to try to back up them on the specified node. AnnotationK8upHostname = "k8up.io/hostname" )
The job types that k8up deals with
const ( // ScheduleFinalizerName is a Finalizer added to resources that need cleanup cron schedules before deleting them. ScheduleFinalizerName = "k8up.io/schedule" // Deprecated: Migrate to ScheduleFinalizerName LegacyScheduleFinalizerName = "k8up.syn.tools/schedule" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "k8up.io", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var (
ArchiveKind = reflect.TypeOf(Archive{}).Name()
)
var (
BackupKind = reflect.TypeOf(Backup{}).Name()
)
var (
CheckKind = reflect.TypeOf(Check{}).Name()
)
var (
PruneKind = reflect.TypeOf(Prune{}).Name()
)
var (
RestoreKind = reflect.TypeOf(Restore{}).Name()
)
Functions ¶
func IsNil ¶
func IsNil(v interface{}) bool
IsNil returns true if the given value is nil using reflect.
func MapToNamespacedName ¶
func MapToNamespacedName(obj metav1.Object) types.NamespacedName
MapToNamespacedName translates the given object meta into NamespacedName object
Types ¶
type Archive ¶
type Archive struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ArchiveSpec `json:"spec,omitempty"` Status Status `json:"status,omitempty"` }
Archive is the Schema for the archives API
func (*Archive) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Archive.
func (*Archive) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Archive) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Archive) GetActiveDeadlineSeconds ¶ added in v2.5.0
GetActiveDeadlineSeconds implements JobObject
func (*Archive) GetFailedJobsHistoryLimit ¶
GetFailedJobsHistoryLimit returns failed jobs history limit. Returns KeepJobs if unspecified.
func (*Archive) GetPodConfig ¶ added in v2.10.0
func (*Archive) GetPodSecurityContext ¶
func (a *Archive) GetPodSecurityContext() *corev1.PodSecurityContext
GetPodSecurityContext returns the pod security context
func (*Archive) GetResources ¶
func (a *Archive) GetResources() corev1.ResourceRequirements
GetResources returns the resource requirements
func (*Archive) GetSuccessfulJobsHistoryLimit ¶
GetSuccessfulJobsHistoryLimit returns successful jobs history limit. Returns KeepJobs if unspecified.
type ArchiveList ¶
type ArchiveList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Archive `json:"items"` }
ArchiveList contains a list of Archive
func (*ArchiveList) DeepCopy ¶
func (in *ArchiveList) DeepCopy() *ArchiveList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArchiveList.
func (*ArchiveList) DeepCopyInto ¶
func (in *ArchiveList) DeepCopyInto(out *ArchiveList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArchiveList) DeepCopyObject ¶
func (in *ArchiveList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ArchiveList) GetJobObjects ¶
func (a *ArchiveList) GetJobObjects() JobObjectList
GetJobObjects returns a sortable list of jobs
type ArchiveSchedule ¶
type ArchiveSchedule struct { ArchiveSpec `json:",inline"` *ScheduleCommon `json:",inline"` }
ArchiveSchedule manages schedules for the archival service
func (*ArchiveSchedule) DeepCopy ¶
func (in *ArchiveSchedule) DeepCopy() *ArchiveSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArchiveSchedule.
func (*ArchiveSchedule) DeepCopyInto ¶
func (in *ArchiveSchedule) DeepCopyInto(out *ArchiveSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArchiveSchedule) GetDeepCopy ¶
func (in *ArchiveSchedule) GetDeepCopy() ScheduleSpecInterface
GetDeepCopy returns a deep copy
func (*ArchiveSchedule) GetRunnableSpec ¶
func (in *ArchiveSchedule) GetRunnableSpec() *RunnableSpec
GetRunnableSpec returns a pointer to RunnableSpec
func (*ArchiveSchedule) GetSchedule ¶
func (in *ArchiveSchedule) GetSchedule() ScheduleDefinition
GetSchedule returns the schedule definition
type ArchiveSpec ¶
type ArchiveSpec struct {
*RestoreSpec `json:",inline"`
}
ArchiveSpec defines the desired state of Archive.
func (*ArchiveSpec) DeepCopy ¶
func (in *ArchiveSpec) DeepCopy() *ArchiveSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArchiveSpec.
func (*ArchiveSpec) DeepCopyInto ¶
func (in *ArchiveSpec) DeepCopyInto(out *ArchiveSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureSpec ¶
type AzureSpec struct { Container string `json:"container,omitempty"` Path string `json:"path,omitempty"` AccountNameSecretRef *corev1.SecretKeySelector `json:"accountNameSecretRef,omitempty"` AccountKeySecretRef *corev1.SecretKeySelector `json:"accountKeySecretRef,omitempty"` }
func (*AzureSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSpec.
func (*AzureSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureSpec) EnvVars ¶
func (in *AzureSpec) EnvVars(vars map[string]*corev1.EnvVarSource) map[string]*corev1.EnvVarSource
EnvVars returns the env vars for this backend.
type B2Spec ¶
type B2Spec struct { Bucket string `json:"bucket,omitempty"` Path string `json:"path,omitempty"` AccountIDSecretRef *corev1.SecretKeySelector `json:"accountIDSecretRef,omitempty"` AccountKeySecretRef *corev1.SecretKeySelector `json:"accountKeySecretRef,omitempty"` }
func (*B2Spec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new B2Spec.
func (*B2Spec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*B2Spec) EnvVars ¶
func (in *B2Spec) EnvVars(vars map[string]*corev1.EnvVarSource) map[string]*corev1.EnvVarSource
EnvVars returns the env vars for this backend.
type Backend ¶
type Backend struct { // RepoPasswordSecretRef references a secret key to look up the restic repository password RepoPasswordSecretRef *corev1.SecretKeySelector `json:"repoPasswordSecretRef,omitempty"` // EnvFrom adds all environment variables from a an external source to the Restic job. EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"` Local *LocalSpec `json:"local,omitempty"` S3 *S3Spec `json:"s3,omitempty"` GCS *GCSSpec `json:"gcs,omitempty"` Azure *AzureSpec `json:"azure,omitempty"` Swift *SwiftSpec `json:"swift,omitempty"` B2 *B2Spec `json:"b2,omitempty"` Rest *RestServerSpec `json:"rest,omitempty"` TLSOptions *TLSOptions `json:"tlsOptions,omitempty"` VolumeMounts *[]corev1.VolumeMount `json:"volumeMounts,omitempty"` }
Backend allows configuring several backend implementations. It is expected that users only configure one storage type.
func (*Backend) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend.
func (*Backend) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backend) GetCredentialEnv ¶
func (in *Backend) GetCredentialEnv() map[string]*corev1.EnvVarSource
GetCredentialEnv will return a map containing the credentials for the given backend.
func (*Backend) IsBackendEqualTo ¶
IsBackendEqualTo returns true if the restic repository string is equal to the other's string. If other is nil, it returns false.
type BackendInterface ¶
type BackendInterface interface { fmt.Stringer EnvVars(vars map[string]*corev1.EnvVarSource) map[string]*corev1.EnvVarSource }
BackendInterface represents a Backend for internal use.
type Backup ¶
type Backup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec BackupSpec `json:"spec,omitempty"` Status Status `json:"status,omitempty"` }
Backup is the Schema for the backups API
func (*Backup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup.
func (*Backup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backup) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Backup) GetActiveDeadlineSeconds ¶ added in v2.5.0
GetActiveDeadlineSeconds implements JobObject
func (*Backup) GetFailedJobsHistoryLimit ¶
GetFailedJobsHistoryLimit returns failed jobs history limit. Returns KeepJobs if unspecified.
func (*Backup) GetPodConfig ¶ added in v2.10.0
func (*Backup) GetPodSecurityContext ¶
func (b *Backup) GetPodSecurityContext() *corev1.PodSecurityContext
GetPodSecurityContext returns the pod security context
func (*Backup) GetResources ¶
func (b *Backup) GetResources() corev1.ResourceRequirements
GetResources returns the resource requirements
func (*Backup) GetSuccessfulJobsHistoryLimit ¶
GetSuccessfulJobsHistoryLimit returns successful jobs history limit. Returns KeepJobs if unspecified.
type BackupList ¶
type BackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Backup `json:"items"` }
BackupList contains a list of Backup
func (*BackupList) DeepCopy ¶
func (in *BackupList) DeepCopy() *BackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupList.
func (*BackupList) DeepCopyInto ¶
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 ¶
func (in *BackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*BackupList) GetJobObjects ¶
func (b *BackupList) GetJobObjects() JobObjectList
GetJobObjects returns a sortable list of jobs
type BackupSchedule ¶
type BackupSchedule struct { BackupSpec `json:",inline"` *ScheduleCommon `json:",inline"` }
BackupSchedule manages schedules for the backup service
func (*BackupSchedule) DeepCopy ¶
func (in *BackupSchedule) DeepCopy() *BackupSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSchedule.
func (*BackupSchedule) DeepCopyInto ¶
func (in *BackupSchedule) DeepCopyInto(out *BackupSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupSchedule) GetDeepCopy ¶
func (in *BackupSchedule) GetDeepCopy() ScheduleSpecInterface
GetDeepCopy returns a deep copy
func (*BackupSchedule) GetRunnableSpec ¶
func (in *BackupSchedule) GetRunnableSpec() *RunnableSpec
GetRunnableSpec returns a pointer to RunnableSpec
func (*BackupSchedule) GetSchedule ¶
func (in *BackupSchedule) GetSchedule() ScheduleDefinition
GetSchedule returns the schedule definition
type BackupSpec ¶
type BackupSpec struct { RunnableSpec `json:",inline"` // KeepJobs amount of jobs to keep for later analysis. // // Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively. // +optional KeepJobs *int `json:"keepJobs,omitempty"` // FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. // KeepJobs is used property is not specified. // +optional FailedJobsHistoryLimit *int `json:"failedJobsHistoryLimit,omitempty"` // SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. // KeepJobs is used property is not specified. // +optional SuccessfulJobsHistoryLimit *int `json:"successfulJobsHistoryLimit,omitempty"` // PromURL sets a prometheus push URL where the backup container send metrics to // +optional PromURL string `json:"promURL,omitempty"` // StatsURL sets an arbitrary URL where the restic container posts metrics and // information about the snapshots to. This is in addition to the prometheus // pushgateway. StatsURL string `json:"statsURL,omitempty"` // Tags is a list of arbitrary tags that get added to the backup via Restic's tagging system Tags []string `json:"tags,omitempty"` }
BackupSpec defines a single backup. It must contain all information to connect to the backup repository when applied. If used with defaults or schedules the operator will ensure that the defaults are applied before creating the object on the API.
func (*BackupSpec) DeepCopy ¶
func (in *BackupSpec) DeepCopy() *BackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSpec.
func (*BackupSpec) DeepCopyInto ¶
func (in *BackupSpec) DeepCopyInto(out *BackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupTemplate ¶
type BackupTemplate struct { Tags *[]string `json:"tags,omitempty"` Backend Backend `json:"backend,omitempty"` Env Env `json:"env,omitempty"` }
func (*BackupTemplate) DeepCopy ¶
func (in *BackupTemplate) DeepCopy() *BackupTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupTemplate.
func (*BackupTemplate) DeepCopyInto ¶
func (in *BackupTemplate) DeepCopyInto(out *BackupTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Check ¶
type Check struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CheckSpec `json:"spec,omitempty"` Status Status `json:"status,omitempty"` }
Check is the Schema for the checks API
func (*Check) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Check.
func (*Check) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Check) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Check) GetActiveDeadlineSeconds ¶ added in v2.5.0
GetActiveDeadlineSeconds implements JobObject
func (*Check) GetFailedJobsHistoryLimit ¶
GetFailedJobsHistoryLimit returns failed jobs history limit. Returns KeepJobs if unspecified.
func (*Check) GetPodConfig ¶ added in v2.10.0
func (*Check) GetPodSecurityContext ¶
func (c *Check) GetPodSecurityContext() *corev1.PodSecurityContext
GetPodSecurityContext returns the pod security context
func (*Check) GetResources ¶
func (c *Check) GetResources() corev1.ResourceRequirements
GetResources returns the resource requirements
func (*Check) GetSuccessfulJobsHistoryLimit ¶
GetSuccessfulJobsHistoryLimit returns successful jobs history limit. Returns KeepJobs if unspecified.
type CheckList ¶
type CheckList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Check `json:"items"` }
CheckList contains a list of Check
func (*CheckList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CheckList.
func (*CheckList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CheckList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CheckList) GetJobObjects ¶
func (c *CheckList) GetJobObjects() JobObjectList
GetJobObjects returns a sortable list of jobs
type CheckSchedule ¶
type CheckSchedule struct { CheckSpec `json:",inline"` *ScheduleCommon `json:",inline"` }
CheckSchedule manages the schedules for the checks
func (*CheckSchedule) DeepCopy ¶
func (in *CheckSchedule) DeepCopy() *CheckSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CheckSchedule.
func (*CheckSchedule) DeepCopyInto ¶
func (in *CheckSchedule) DeepCopyInto(out *CheckSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CheckSchedule) GetDeepCopy ¶
func (in *CheckSchedule) GetDeepCopy() ScheduleSpecInterface
GetDeepCopy returns a deep copy
func (*CheckSchedule) GetRunnableSpec ¶
func (in *CheckSchedule) GetRunnableSpec() *RunnableSpec
GetRunnableSpec returns a pointer to RunnableSpec
func (*CheckSchedule) GetSchedule ¶
func (in *CheckSchedule) GetSchedule() ScheduleDefinition
GetSchedule returns the schedule definition
type CheckSpec ¶
type CheckSpec struct { RunnableSpec `json:",inline"` // PromURL sets a prometheus push URL where the backup container send metrics to // +optional PromURL string `json:"promURL,omitempty"` // KeepJobs amount of jobs to keep for later analysis. // // Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively. // +optional KeepJobs *int `json:"keepJobs,omitempty"` // FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. // KeepJobs is used property is not specified. // +optional FailedJobsHistoryLimit *int `json:"failedJobsHistoryLimit,omitempty"` // SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. // KeepJobs is used property is not specified. // +optional SuccessfulJobsHistoryLimit *int `json:"successfulJobsHistoryLimit,omitempty"` }
CheckSpec defines the desired state of Check. It needs to contain the repository information.
func (*CheckSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CheckSpec.
func (*CheckSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionReason ¶
type ConditionReason string
ConditionReason is a static/programmatic representation of the cause of a status condition.
func (ConditionReason) String ¶
func (r ConditionReason) String() string
String casts the value to string. "r.String()" and "string(r)" are equivalent.
type ConditionType ¶
type ConditionType string
ConditionType defines what condition type this is.
func (ConditionType) String ¶
func (c ConditionType) String() string
String casts the value to string. "c.String()" and "string(c)" are equivalent.
type EffectiveSchedule ¶
type EffectiveSchedule struct { JobType JobType `json:"jobType,omitempty"` GeneratedSchedule ScheduleDefinition `json:"generatedSchedule,omitempty"` }
func (*EffectiveSchedule) DeepCopy ¶
func (in *EffectiveSchedule) DeepCopy() *EffectiveSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveSchedule.
func (*EffectiveSchedule) DeepCopyInto ¶
func (in *EffectiveSchedule) DeepCopyInto(out *EffectiveSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Env ¶
func (*Env) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Env.
func (*Env) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FolderRestore ¶
type FolderRestore struct {
*corev1.PersistentVolumeClaimVolumeSource `json:",inline"`
}
func (*FolderRestore) DeepCopy ¶
func (in *FolderRestore) DeepCopy() *FolderRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderRestore.
func (*FolderRestore) DeepCopyInto ¶
func (in *FolderRestore) DeepCopyInto(out *FolderRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCSSpec ¶
type GCSSpec struct { Bucket string `json:"bucket,omitempty"` ProjectIDSecretRef *corev1.SecretKeySelector `json:"projectIDSecretRef,omitempty"` AccessTokenSecretRef *corev1.SecretKeySelector `json:"accessTokenSecretRef,omitempty"` }
func (*GCSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCSSpec.
func (*GCSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCSSpec) EnvVars ¶
func (in *GCSSpec) EnvVars(vars map[string]*corev1.EnvVarSource) map[string]*corev1.EnvVarSource
EnvVars returns the env vars for this backend.
type JobObject ¶
type JobObject interface { client.Object GetStatus() Status SetStatus(s Status) GetType() JobType // GetResources returns the specified resource requirements GetResources() corev1.ResourceRequirements // GetPodSecurityContext returns the specified pod security context GetPodSecurityContext() *corev1.PodSecurityContext // GetActiveDeadlineSeconds returns the specified active deadline seconds timeout. GetActiveDeadlineSeconds() *int64 // GetPodConfig returns the defined PodSpec GetPodConfig(context.Context, client.Client) (*PodConfig, error) }
JobObject is an interface that must be implemented by all CRDs that implement a job.
type JobObjectList ¶
type JobObjectList []JobObject
JobObjectList is a sortable list of job objects
func (JobObjectList) Len ¶
func (jo JobObjectList) Len() int
func (JobObjectList) Less ¶
func (jo JobObjectList) Less(i, j int) bool
func (JobObjectList) Swap ¶
func (jo JobObjectList) Swap(i, j int)
type LocalSpec ¶
type LocalSpec struct {
MountPath string `json:"mountPath,omitempty"`
}
func (*LocalSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSpec.
func (*LocalSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LocalSpec) EnvVars ¶
func (in *LocalSpec) EnvVars(vars map[string]*corev1.EnvVarSource) map[string]*corev1.EnvVarSource
EnvVars returns the env vars for this backend.
type Pod ¶
type Pod struct {
corev1.PodTemplateSpec `json:",inline"`
}
Pod is a dummy struct to fix some code generation issues.
func (*Pod) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.
func (*Pod) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodConfig ¶ added in v2.10.0
type PodConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PodConfigSpec `json:"spec,omitempty"` Status PodConfigStatus `json:"status,omitempty"` }
PodConfig is the Schema for the PodConcig API Any annotations and labels set on this object will also be set on the final pod.
func NewPodConfig ¶ added in v2.10.0
func (*PodConfig) DeepCopy ¶ added in v2.10.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodConfig.
func (*PodConfig) DeepCopyInto ¶ added in v2.10.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodConfig) DeepCopyObject ¶ added in v2.10.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodConfigList ¶ added in v2.10.0
type PodConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PodConfig `json:"items"` }
SnapshotList contains a list of Snapshot
func (*PodConfigList) DeepCopy ¶ added in v2.10.0
func (in *PodConfigList) DeepCopy() *PodConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodConfigList.
func (*PodConfigList) DeepCopyInto ¶ added in v2.10.0
func (in *PodConfigList) DeepCopyInto(out *PodConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodConfigList) DeepCopyObject ¶ added in v2.10.0
func (in *PodConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodConfigSpec ¶ added in v2.10.0
type PodConfigSpec struct {
Template corev1.PodTemplateSpec `json:"template,omitempty"`
}
PodConfigSpec contains the podTemplate definition.
func (*PodConfigSpec) DeepCopy ¶ added in v2.10.0
func (in *PodConfigSpec) DeepCopy() *PodConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodConfigSpec.
func (*PodConfigSpec) DeepCopyInto ¶ added in v2.10.0
func (in *PodConfigSpec) DeepCopyInto(out *PodConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodConfigStatus ¶ added in v2.10.0
type PodConfigStatus struct { }
PodConfigStatus defines the observed state of Snapshot
func (*PodConfigStatus) DeepCopy ¶ added in v2.10.0
func (in *PodConfigStatus) DeepCopy() *PodConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodConfigStatus.
func (*PodConfigStatus) DeepCopyInto ¶ added in v2.10.0
func (in *PodConfigStatus) DeepCopyInto(out *PodConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PreBackupPod ¶
type PreBackupPod struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PreBackupPodSpec `json:"spec,omitempty"` }
PreBackupPod is the Schema for the prebackuppods API
func (*PreBackupPod) DeepCopy ¶
func (in *PreBackupPod) DeepCopy() *PreBackupPod
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreBackupPod.
func (*PreBackupPod) DeepCopyInto ¶
func (in *PreBackupPod) DeepCopyInto(out *PreBackupPod)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PreBackupPod) DeepCopyObject ¶
func (in *PreBackupPod) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PreBackupPodList ¶
type PreBackupPodList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PreBackupPod `json:"items"` }
PreBackupPodList contains a list of PreBackupPod
func (*PreBackupPodList) DeepCopy ¶
func (in *PreBackupPodList) DeepCopy() *PreBackupPodList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreBackupPodList.
func (*PreBackupPodList) DeepCopyInto ¶
func (in *PreBackupPodList) DeepCopyInto(out *PreBackupPodList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PreBackupPodList) DeepCopyObject ¶
func (in *PreBackupPodList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PreBackupPodSpec ¶
type PreBackupPodSpec struct { // BackupCommand will be added to the backupcommand annotation on the pod. BackupCommand string `json:"backupCommand,omitempty"` FileExtension string `json:"fileExtension,omitempty"` // +kubebuilder:validation:Required Pod *Pod `json:"pod,omitempty"` }
PreBackupPodSpec define pods that will be launched during the backup. After the backup has finished (successfully or not), they should be removed again automatically by the operator.
func (*PreBackupPodSpec) DeepCopy ¶
func (in *PreBackupPodSpec) DeepCopy() *PreBackupPodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreBackupPodSpec.
func (*PreBackupPodSpec) DeepCopyInto ¶
func (in *PreBackupPodSpec) DeepCopyInto(out *PreBackupPodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Prune ¶
type Prune struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PruneSpec `json:"spec,omitempty"` Status Status `json:"status,omitempty"` }
Prune is the Schema for the prunes API
func (*Prune) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prune.
func (*Prune) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Prune) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Prune) GetActiveDeadlineSeconds ¶ added in v2.5.0
GetActiveDeadlineSeconds implements JobObject
func (*Prune) GetFailedJobsHistoryLimit ¶
GetFailedJobsHistoryLimit returns failed jobs history limit. Returns KeepJobs if unspecified.
func (*Prune) GetPodConfig ¶ added in v2.10.0
func (*Prune) GetPodSecurityContext ¶
func (p *Prune) GetPodSecurityContext() *corev1.PodSecurityContext
GetPodSecurityContext returns the pod security context
func (*Prune) GetResources ¶
func (p *Prune) GetResources() corev1.ResourceRequirements
GetResources returns the resource requirements
func (*Prune) GetSuccessfulJobsHistoryLimit ¶
GetSuccessfulJobsHistoryLimit returns successful jobs history limit. Returns KeepJobs if unspecified.
type PruneList ¶
type PruneList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Prune `json:"items"` }
PruneList contains a list of Prune
func (*PruneList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PruneList.
func (*PruneList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PruneList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PruneList) GetJobObjects ¶
func (p *PruneList) GetJobObjects() JobObjectList
GetJobObjects returns a sortable list of jobs
type PruneSchedule ¶
type PruneSchedule struct { PruneSpec `json:",inline"` *ScheduleCommon `json:",inline"` }
PruneSchedule manages the schedules for the prunes
func (*PruneSchedule) DeepCopy ¶
func (in *PruneSchedule) DeepCopy() *PruneSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PruneSchedule.
func (*PruneSchedule) DeepCopyInto ¶
func (in *PruneSchedule) DeepCopyInto(out *PruneSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PruneSchedule) GetDeepCopy ¶
func (in *PruneSchedule) GetDeepCopy() ScheduleSpecInterface
GetDeepCopy returns a deep copy
func (*PruneSchedule) GetRunnableSpec ¶
func (in *PruneSchedule) GetRunnableSpec() *RunnableSpec
GetRunnableSpec returns a pointer to RunnableSpec
func (*PruneSchedule) GetSchedule ¶
func (in *PruneSchedule) GetSchedule() ScheduleDefinition
GetSchedule returns the schedule definition
type PruneSpec ¶
type PruneSpec struct { RunnableSpec `json:",inline"` // Retention sets how many backups should be kept after a forget and prune Retention RetentionPolicy `json:"retention,omitempty"` // KeepJobs amount of jobs to keep for later analysis. // // Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively. // +optional KeepJobs *int `json:"keepJobs,omitempty"` // FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. // KeepJobs is used property is not specified. // +optional FailedJobsHistoryLimit *int `json:"failedJobsHistoryLimit,omitempty"` // SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. // KeepJobs is used property is not specified. // +optional SuccessfulJobsHistoryLimit *int `json:"successfulJobsHistoryLimit,omitempty"` }
PruneSpec needs to contain the repository information as well as the desired retention policies.
func (*PruneSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PruneSpec.
func (*PruneSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestServerSpec ¶
type RestServerSpec struct { URL string `json:"url,omitempty"` UserSecretRef *corev1.SecretKeySelector `json:"userSecretRef,omitempty"` PasswordSecretReg *corev1.SecretKeySelector `json:"passwordSecretReg,omitempty"` }
func (*RestServerSpec) DeepCopy ¶
func (in *RestServerSpec) DeepCopy() *RestServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestServerSpec.
func (*RestServerSpec) DeepCopyInto ¶
func (in *RestServerSpec) DeepCopyInto(out *RestServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RestServerSpec) EnvVars ¶
func (in *RestServerSpec) EnvVars(vars map[string]*corev1.EnvVarSource) map[string]*corev1.EnvVarSource
EnvVars returns the env vars for this backend.
type Restore ¶
type Restore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RestoreSpec `json:"spec,omitempty"` Status Status `json:"status,omitempty"` }
Restore is the Schema for the restores API
func (*Restore) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Restore.
func (*Restore) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Restore) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Restore) GetActiveDeadlineSeconds ¶ added in v2.5.0
GetActiveDeadlineSeconds implements JobObject
func (*Restore) GetFailedJobsHistoryLimit ¶
GetFailedJobsHistoryLimit returns failed jobs history limit. Returns KeepJobs if unspecified.
func (*Restore) GetPodConfig ¶ added in v2.10.0
func (*Restore) GetPodSecurityContext ¶
func (r *Restore) GetPodSecurityContext() *corev1.PodSecurityContext
GetPodSecurityContext returns the pod security context
func (*Restore) GetResources ¶
func (r *Restore) GetResources() corev1.ResourceRequirements
GetResources returns the resource requirements
func (*Restore) GetSuccessfulJobsHistoryLimit ¶
GetSuccessfulJobsHistoryLimit returns successful jobs history limit. Returns KeepJobs if unspecified.
type RestoreList ¶
type RestoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Restore `json:"items"` }
RestoreList contains a list of Restore
func (*RestoreList) DeepCopy ¶
func (in *RestoreList) DeepCopy() *RestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreList.
func (*RestoreList) DeepCopyInto ¶
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 ¶
func (in *RestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RestoreList) GetJobObjects ¶
func (r *RestoreList) GetJobObjects() JobObjectList
GetJobObjects returns a sortable list of jobs
type RestoreMethod ¶
type RestoreMethod struct { S3 *S3Spec `json:"s3,omitempty"` Folder *FolderRestore `json:"folder,omitempty"` TLSOptions *TLSOptions `json:"tlsOptions,omitempty"` VolumeMounts *[]corev1.VolumeMount `json:"volumeMounts,omitempty"` }
RestoreMethod contains how and where the restore should happen all the settings are mutual exclusive.
func (*RestoreMethod) DeepCopy ¶
func (in *RestoreMethod) DeepCopy() *RestoreMethod
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreMethod.
func (*RestoreMethod) DeepCopyInto ¶
func (in *RestoreMethod) DeepCopyInto(out *RestoreMethod)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreSchedule ¶
type RestoreSchedule struct { RestoreSpec `json:",inline"` *ScheduleCommon `json:",inline"` }
RestoreSchedule manages schedules for the restore service
func (*RestoreSchedule) DeepCopy ¶
func (in *RestoreSchedule) DeepCopy() *RestoreSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreSchedule.
func (*RestoreSchedule) DeepCopyInto ¶
func (in *RestoreSchedule) DeepCopyInto(out *RestoreSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RestoreSchedule) GetDeepCopy ¶
func (in *RestoreSchedule) GetDeepCopy() ScheduleSpecInterface
GetDeepCopy returns a deep copy
func (*RestoreSchedule) GetRunnableSpec ¶
func (in *RestoreSchedule) GetRunnableSpec() *RunnableSpec
GetRunnableSpec returns a pointer to RunnableSpec
func (*RestoreSchedule) GetSchedule ¶
func (in *RestoreSchedule) GetSchedule() ScheduleDefinition
GetSchedule returns the schedule definition
type RestoreSpec ¶
type RestoreSpec struct { RunnableSpec `json:",inline"` RestoreMethod *RestoreMethod `json:"restoreMethod,omitempty"` RestoreFilter string `json:"restoreFilter,omitempty"` Snapshot string `json:"snapshot,omitempty"` // KeepJobs amount of jobs to keep for later analysis. // // Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively. // +optional KeepJobs *int `json:"keepJobs,omitempty"` // FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. // KeepJobs is used property is not specified. // +optional FailedJobsHistoryLimit *int `json:"failedJobsHistoryLimit,omitempty"` // SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. // KeepJobs is used property is not specified. // +optional SuccessfulJobsHistoryLimit *int `json:"successfulJobsHistoryLimit,omitempty"` // Tags is a list of arbitrary tags that get added to the backup via Restic's tagging system Tags []string `json:"tags,omitempty"` }
RestoreSpec can either contain an S3 restore point or a local one. For the local one you need to define an existing PVC.
func (*RestoreSpec) DeepCopy ¶
func (in *RestoreSpec) DeepCopy() *RestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreSpec.
func (*RestoreSpec) DeepCopyInto ¶
func (in *RestoreSpec) DeepCopyInto(out *RestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RetentionPolicy ¶
type RetentionPolicy struct { KeepLast int `json:"keepLast,omitempty"` KeepHourly int `json:"keepHourly,omitempty"` KeepDaily int `json:"keepDaily,omitempty"` KeepWeekly int `json:"keepWeekly,omitempty"` KeepMonthly int `json:"keepMonthly,omitempty"` KeepYearly int `json:"keepYearly,omitempty"` KeepTags []string `json:"keepTags,omitempty"` // Tags is a filter on what tags the policy should be applied // DO NOT CONFUSE THIS WITH KeepTags OR YOU'LL have a bad time Tags []string `json:"tags,omitempty"` // Hostnames is a filter on what hostnames the policy should be applied Hostnames []string `json:"hostnames,omitempty"` }
func (*RetentionPolicy) DeepCopy ¶
func (in *RetentionPolicy) DeepCopy() *RetentionPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicy.
func (*RetentionPolicy) DeepCopyInto ¶
func (in *RetentionPolicy) DeepCopyInto(out *RetentionPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunnableSpec ¶
type RunnableSpec struct { // Backend contains the restic repo where the job should backup to. Backend *Backend `json:"backend,omitempty"` // Resources describes the compute resource requirements (cpu, memory, etc.) Resources corev1.ResourceRequirements `json:"resources,omitempty"` // PodSecurityContext describes the security context with which this action shall be executed. PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // PodConfigRef describes the pod spec with wich this action shall be executed. // It takes precedence over the Resources or PodSecurityContext field. // It does not allow changing the image or the command of the resulting pod. // This is for advanced use-cases only. Please only set this if you know what you're doing. PodConfigRef *corev1.LocalObjectReference `json:"podConfigRef,omitempty"` // Volumes List of volumes that can be mounted by containers belonging to the pod. Volumes *[]RunnableVolumeSpec `json:"volumes,omitempty"` // ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it. // Value must be positive integer if given. ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty"` }
RunnableSpec defines the fields that are necessary on the specs of all actions that are translated to k8s jobs eventually.
func (*RunnableSpec) AppendEnvFromToContainer ¶
func (in *RunnableSpec) AppendEnvFromToContainer(containerSpec *corev1.Container)
AppendEnvFromToContainer will add EnvFromSource from the given RunnableSpec to the Container
func (*RunnableSpec) DeepCopy ¶
func (in *RunnableSpec) DeepCopy() *RunnableSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunnableSpec.
func (*RunnableSpec) DeepCopyInto ¶
func (in *RunnableSpec) DeepCopyInto(out *RunnableSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunnableVolumeSpec ¶ added in v2.9.0
type RunnableVolumeSpec struct { // name of the volume. // Must be a DNS_LABEL and unique within the pod. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names Name string `json:"name"` // persistentVolumeClaimVolumeSource represents a reference to a // PersistentVolumeClaim in the same namespace. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims // +optional PersistentVolumeClaim *corev1.PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"` // secret represents a secret that should populate this volume. // More info: https://kubernetes.io/docs/concepts/storage/volumes#secret // +optional Secret *corev1.SecretVolumeSource `json:"secret,omitempty"` // configMap represents a configMap that should populate this volume // +optional ConfigMap *corev1.ConfigMapVolumeSource `json:"configMap,omitempty"` }
func (*RunnableVolumeSpec) DeepCopy ¶ added in v2.9.0
func (in *RunnableVolumeSpec) DeepCopy() *RunnableVolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunnableVolumeSpec.
func (*RunnableVolumeSpec) DeepCopyInto ¶ added in v2.9.0
func (in *RunnableVolumeSpec) DeepCopyInto(out *RunnableVolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Spec ¶
type S3Spec struct { Endpoint string `json:"endpoint,omitempty"` Bucket string `json:"bucket,omitempty"` AccessKeyIDSecretRef *corev1.SecretKeySelector `json:"accessKeyIDSecretRef,omitempty"` SecretAccessKeySecretRef *corev1.SecretKeySelector `json:"secretAccessKeySecretRef,omitempty"` }
func (*S3Spec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Spec.
func (*S3Spec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*S3Spec) EnvVars ¶
func (in *S3Spec) EnvVars(vars map[string]*corev1.EnvVarSource) map[string]*corev1.EnvVarSource
EnvVars returns the env vars for this backend.
func (*S3Spec) RestoreEnvVars ¶
RestoreEnvVars returns the env vars for this backend when using Restore jobs.
type Schedule ¶
type Schedule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ScheduleSpec `json:"spec,omitempty"` Status ScheduleStatus `json:"status,omitempty"` }
Schedule is the Schema for the schedules API
func (*Schedule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schedule.
func (*Schedule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Schedule) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Schedule) GetActiveDeadlineSeconds ¶ added in v2.5.0
GetActiveDeadlineSeconds implements JobObject
func (*Schedule) GetFailedJobsHistoryLimit ¶
GetFailedJobsHistoryLimit returns failed jobs history limit. Returns KeepJobs if unspecified.
func (*Schedule) GetJobName ¶
GetJobName implements the JobObject interface.
func (*Schedule) GetMetaObject ¶
func (*Schedule) GetPodConfig ¶ added in v2.10.0
func (*Schedule) GetPodSecurityContext ¶
func (s *Schedule) GetPodSecurityContext() *corev1.PodSecurityContext
GetPodSecurityContext returns the pod security context
func (*Schedule) GetResources ¶
func (s *Schedule) GetResources() corev1.ResourceRequirements
GetResources returns the resource requirements
func (*Schedule) GetRuntimeObject ¶
func (*Schedule) GetSuccessfulJobsHistoryLimit ¶
GetSuccessfulJobsHistoryLimit returns successful jobs history limit. Returns KeepJobs if unspecified.
type ScheduleCommon ¶
type ScheduleCommon struct { Schedule ScheduleDefinition `json:"schedule,omitempty"` ConcurrentRunsAllowed bool `json:"concurrentRunsAllowed,omitempty"` }
ScheduleCommon contains fields every schedule needs
func (*ScheduleCommon) DeepCopy ¶
func (in *ScheduleCommon) DeepCopy() *ScheduleCommon
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleCommon.
func (*ScheduleCommon) DeepCopyInto ¶
func (in *ScheduleCommon) DeepCopyInto(out *ScheduleCommon)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScheduleDefinition ¶
type ScheduleDefinition string
ScheduleDefinition is the actual cron-type expression that defines the interval of the actions.
func (ScheduleDefinition) IsNonStandard ¶
func (s ScheduleDefinition) IsNonStandard() bool
IsNonStandard returns true if the value begins with "@", indicating a special definition. Two examples are '@daily' and '@daily-random'.
func (ScheduleDefinition) IsRandom ¶
func (s ScheduleDefinition) IsRandom() bool
IsRandom is true if the value is a special definition (as indicated by IsNonStandard) and if it ends with '-random'. Two examples are '@daily-random' and '@weekly-random'.
func (ScheduleDefinition) String ¶
func (s ScheduleDefinition) String() string
String casts the value to string. "aScheduleDefinition.String()" and "string(aScheduleDefinition)" are equivalent.
type ScheduleList ¶
type ScheduleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Schedule `json:"items"` }
ScheduleList contains a list of Schedule
func (*ScheduleList) DeepCopy ¶
func (in *ScheduleList) DeepCopy() *ScheduleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleList.
func (*ScheduleList) DeepCopyInto ¶
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 ¶
func (in *ScheduleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScheduleSpec ¶
type ScheduleSpec struct { Restore *RestoreSchedule `json:"restore,omitempty"` Backup *BackupSchedule `json:"backup,omitempty"` Archive *ArchiveSchedule `json:"archive,omitempty"` Check *CheckSchedule `json:"check,omitempty"` Prune *PruneSchedule `json:"prune,omitempty"` Backend *Backend `json:"backend,omitempty"` // KeepJobs amount of jobs to keep for later analysis. // // Deprecated: Use FailedJobsHistoryLimit and SuccessfulJobsHistoryLimit respectively. // +optional KeepJobs *int `json:"keepJobs,omitempty"` // FailedJobsHistoryLimit amount of failed jobs to keep for later analysis. // KeepJobs is used property is not specified. // +optional FailedJobsHistoryLimit *int `json:"failedJobsHistoryLimit,omitempty"` // SuccessfulJobsHistoryLimit amount of successful jobs to keep for later analysis. // KeepJobs is used property is not specified. // +optional SuccessfulJobsHistoryLimit *int `json:"successfulJobsHistoryLimit,omitempty"` // ResourceRequirementsTemplate describes the compute resource requirements (cpu, memory, etc.) ResourceRequirementsTemplate corev1.ResourceRequirements `json:"resourceRequirementsTemplate,omitempty"` // PodSecurityContext describes the security context with which actions (such as backups) shall be executed. PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // PodConfigRef will apply the given template to all job definitions in this Schedule. // It can be overriden for specific jobs if necessary. PodConfigRef *corev1.LocalObjectReference `json:"podConfigRef,omitempty"` }
ScheduleSpec defines the schedules for the various job types.
func (*ScheduleSpec) DeepCopy ¶
func (in *ScheduleSpec) DeepCopy() *ScheduleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleSpec.
func (*ScheduleSpec) DeepCopyInto ¶
func (in *ScheduleSpec) DeepCopyInto(out *ScheduleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScheduleSpecInterface ¶
type ScheduleSpecInterface interface { GetDeepCopy() ScheduleSpecInterface GetRunnableSpec() *RunnableSpec GetSchedule() ScheduleDefinition }
ScheduleSpecInterface represents a Job for internal use.
type ScheduleStatus ¶
type ScheduleStatus struct { // Conditions provide a standard mechanism for higher-level status reporting from a controller. // They are an extension mechanism which allows tools and other controllers to collect summary information about // resources without needing to understand resource-specific status details. Conditions []metav1.Condition `json:"conditions,omitempty"` // EffectiveSchedules contains a list of schedules generated from randomizing schedules. EffectiveSchedules []EffectiveSchedule `json:"effectiveSchedules,omitempty"` }
ScheduleStatus defines the observed state of Schedule
func (*ScheduleStatus) DeepCopy ¶
func (in *ScheduleStatus) DeepCopy() *ScheduleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleStatus.
func (*ScheduleStatus) DeepCopyInto ¶
func (in *ScheduleStatus) DeepCopyInto(out *ScheduleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Snapshot ¶
type Snapshot struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SnapshotSpec `json:"spec,omitempty"` Status SnapshotStatus `json:"status,omitempty"` }
Snapshot is the Schema for the snapshots API
func (*Snapshot) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Snapshot.
func (*Snapshot) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Snapshot) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SnapshotList ¶
type SnapshotList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Snapshot `json:"items"` }
SnapshotList contains a list of Snapshot
func (*SnapshotList) DeepCopy ¶
func (in *SnapshotList) DeepCopy() *SnapshotList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotList.
func (*SnapshotList) DeepCopyInto ¶
func (in *SnapshotList) DeepCopyInto(out *SnapshotList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SnapshotList) DeepCopyObject ¶
func (in *SnapshotList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SnapshotSpec ¶
type SnapshotSpec struct { ID *string `json:"id,omitempty"` Date *metav1.Time `json:"date,omitempty"` Paths *[]string `json:"paths,omitempty"` Repository *string `json:"repository,omitempty"` }
SnapshotSpec contains all information needed about a restic snapshot so it can be restored.
func (*SnapshotSpec) DeepCopy ¶
func (in *SnapshotSpec) DeepCopy() *SnapshotSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSpec.
func (*SnapshotSpec) DeepCopyInto ¶
func (in *SnapshotSpec) DeepCopyInto(out *SnapshotSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SnapshotStatus ¶
type SnapshotStatus struct { }
SnapshotStatus defines the observed state of Snapshot
func (*SnapshotStatus) DeepCopy ¶
func (in *SnapshotStatus) DeepCopy() *SnapshotStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotStatus.
func (*SnapshotStatus) DeepCopyInto ¶
func (in *SnapshotStatus) DeepCopyInto(out *SnapshotStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Status ¶
type Status struct { Started bool `json:"started,omitempty"` Finished bool `json:"finished,omitempty"` Exclusive bool `json:"exclusive,omitempty"` // Conditions provide a standard mechanism for higher-level status reporting from a controller. // They are an extension mechanism which allows tools and other controllers to collect summary information about // resources without needing to understand resource-specific status details. Conditions []metav1.Condition `json:"conditions,omitempty"` }
Status defines the observed state of a generic K8up job. It is used for the operator to determine what to do.
func (*Status) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Status) HasFailed ¶
HasFailed returns true in the following cases:
* If ConditionCompleted is true with any other reason than ReasonSucceeded.
* If ConditionPreBackupPodReady is false with any of the "failed" reasons.
func (Status) HasFailedPreBackup ¶
HasFailedPreBackup returns true if ConditionPreBackupPodReady is false with any of the "failed" reasons.
func (Status) HasFinished ¶
HasFinished returns true if either HasFailed() or HasSucceeded() return true.
func (Status) HasStarted ¶
HasStarted returns true if ConditionProgressing is true with ReasonStarted, false otherwise.
func (Status) HasSucceeded ¶
HasSucceeded returns true if all cases are true:
* If ConditionCompleted is true with ReasonSucceeded.
* If ConditionPreBackupPodReady has no failure reason.
func (Status) IsWaitingForPreBackup ¶
IsWaitingForPreBackup returns true if the ConditionPreBackupPodReady is Unknown with ReasonWaiting, false otherwise.
func (*Status) SetCondition ¶ added in v2.6.0
func (in *Status) SetCondition(typ ConditionType, reason ConditionReason, status metav1.ConditionStatus, message string)
SetCondition sets a generic condition, overwriting existing one by type if present.
func (*Status) SetFailed ¶ added in v2.6.0
SetFailed sets ConditionCompleted to true with ReasonFailed.
func (*Status) SetFinished ¶
SetFinished sets ConditionProgressing to false with ReasonFinished. It also sets the deprecated Finished flag to true.
func (*Status) SetStarted ¶
SetStarted sets ConditionReady to true with ReasonReady and ConditionProgressing with ReasonStarted. The given message parameter is set as the message for ConditionReady. It also sets the deprecated Started flag to true.
func (*Status) SetSucceeded ¶ added in v2.6.0
SetSucceeded sets ConditionCompleted to true with ReasonSucceeded.
type SwiftSpec ¶
type SwiftSpec struct { Container string `json:"container,omitempty"` Path string `json:"path,omitempty"` }
func (*SwiftSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwiftSpec.
func (*SwiftSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SwiftSpec) EnvVars ¶
func (in *SwiftSpec) EnvVars(vars map[string]*corev1.EnvVarSource) map[string]*corev1.EnvVarSource
EnvVars returns the env vars for this backend.
type TLSOptions ¶ added in v2.9.0
type TLSOptions struct { CACert string `json:"caCert,omitempty"` ClientCert string `json:"clientCert,omitempty"` ClientKey string `json:"clientKey,omitempty"` }
func (*TLSOptions) DeepCopy ¶ added in v2.9.0
func (in *TLSOptions) DeepCopy() *TLSOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSOptions.
func (*TLSOptions) DeepCopyInto ¶ added in v2.9.0
func (in *TLSOptions) DeepCopyInto(out *TLSOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.