Documentation ¶
Index ¶
- Constants
- func NewScheduleController(namespace string, schedulesClient arkv1client.SchedulesGetter, ...) *scheduleController
- type BackupTracker
- type Interface
- func NewBackupController(backupInformer informers.BackupInformer, client arkv1client.BackupsGetter, ...) Interface
- func NewBackupDeletionController(logger logrus.FieldLogger, ...) Interface
- func NewBackupSyncController(backupClient arkv1client.BackupsGetter, ...) Interface
- func NewDownloadRequestController(downloadRequestClient arkv1client.DownloadRequestsGetter, ...) Interface
- func NewGCController(logger logrus.FieldLogger, backupInformer informers.BackupInformer, ...) Interface
- func NewPodVolumeBackupController(logger logrus.FieldLogger, ...) Interface
- func NewPodVolumeRestoreController(logger logrus.FieldLogger, ...) Interface
- func NewResticRepositoryController(logger logrus.FieldLogger, ...) Interface
- func NewRestoreController(namespace string, restoreInformer informers.RestoreInformer, ...) Interface
Constants ¶
View Source
const (
GCSyncPeriod = 60 * time.Minute
)
Variables ¶
This section is empty.
Functions ¶
func NewScheduleController ¶
func NewScheduleController( namespace string, schedulesClient arkv1client.SchedulesGetter, backupsClient arkv1client.BackupsGetter, schedulesInformer informers.ScheduleInformer, logger logrus.FieldLogger, metrics *metrics.ServerMetrics, ) *scheduleController
Types ¶
type BackupTracker ¶
type BackupTracker interface { // Add informs the tracker that a backup is in progress. Add(ns, name string) // Delete informs the tracker that a backup is no longer in progress. Delete(ns, name string) // Contains returns true if the tracker is tracking the backup. Contains(ns, name string) bool }
BackupTracker keeps track of in-progress backups.
func NewBackupTracker ¶
func NewBackupTracker() BackupTracker
NewBackupTracker returns a new BackupTracker.
type Interface ¶
Interface represents a runnable component.
func NewBackupController ¶
func NewBackupController( backupInformer informers.BackupInformer, client arkv1client.BackupsGetter, backupper pkgbackup.Backupper, logger logrus.FieldLogger, backupLogLevel logrus.Level, newPluginManager func(logrus.FieldLogger) plugin.Manager, backupTracker BackupTracker, backupLocationInformer informers.BackupStorageLocationInformer, defaultBackupLocation string, volumeSnapshotLocationInformer informers.VolumeSnapshotLocationInformer, defaultSnapshotLocations map[string]string, metrics *metrics.ServerMetrics, ) Interface
func NewBackupDeletionController ¶
func NewBackupDeletionController( logger logrus.FieldLogger, deleteBackupRequestInformer informers.DeleteBackupRequestInformer, deleteBackupRequestClient arkv1client.DeleteBackupRequestsGetter, backupClient arkv1client.BackupsGetter, restoreInformer informers.RestoreInformer, restoreClient arkv1client.RestoresGetter, backupTracker BackupTracker, resticMgr restic.RepositoryManager, podvolumeBackupInformer informers.PodVolumeBackupInformer, backupLocationInformer informers.BackupStorageLocationInformer, snapshotLocationInformer informers.VolumeSnapshotLocationInformer, newPluginManager func(logrus.FieldLogger) plugin.Manager, ) Interface
NewBackupDeletionController creates a new backup deletion controller.
func NewBackupSyncController ¶
func NewBackupSyncController( backupClient arkv1client.BackupsGetter, backupLocationClient arkv1client.BackupStorageLocationsGetter, backupInformer informers.BackupInformer, backupStorageLocationInformer informers.BackupStorageLocationInformer, syncPeriod time.Duration, namespace string, defaultBackupLocation string, newPluginManager func(logrus.FieldLogger) plugin.Manager, logger logrus.FieldLogger, ) Interface
func NewDownloadRequestController ¶
func NewDownloadRequestController( downloadRequestClient arkv1client.DownloadRequestsGetter, downloadRequestInformer informers.DownloadRequestInformer, restoreInformer informers.RestoreInformer, backupLocationInformer informers.BackupStorageLocationInformer, backupInformer informers.BackupInformer, newPluginManager func(logrus.FieldLogger) plugin.Manager, logger logrus.FieldLogger, ) Interface
NewDownloadRequestController creates a new DownloadRequestController.
func NewGCController ¶
func NewGCController( logger logrus.FieldLogger, backupInformer informers.BackupInformer, deleteBackupRequestInformer informers.DeleteBackupRequestInformer, deleteBackupRequestClient arkv1client.DeleteBackupRequestsGetter, ) Interface
NewGCController constructs a new gcController.
func NewPodVolumeBackupController ¶
func NewPodVolumeBackupController( logger logrus.FieldLogger, podVolumeBackupInformer informers.PodVolumeBackupInformer, podVolumeBackupClient arkv1client.PodVolumeBackupsGetter, podInformer cache.SharedIndexInformer, secretInformer cache.SharedIndexInformer, pvcInformer corev1informers.PersistentVolumeClaimInformer, backupLocationInformer informers.BackupStorageLocationInformer, nodeName string, ) Interface
NewPodVolumeBackupController creates a new pod volume backup controller.
func NewPodVolumeRestoreController ¶
func NewPodVolumeRestoreController( logger logrus.FieldLogger, podVolumeRestoreInformer informers.PodVolumeRestoreInformer, podVolumeRestoreClient arkv1client.PodVolumeRestoresGetter, podInformer cache.SharedIndexInformer, secretInformer cache.SharedIndexInformer, pvcInformer corev1informers.PersistentVolumeClaimInformer, backupLocationInformer informers.BackupStorageLocationInformer, nodeName string, ) Interface
NewPodVolumeRestoreController creates a new pod volume restore controller.
func NewResticRepositoryController ¶
func NewResticRepositoryController( logger logrus.FieldLogger, resticRepositoryInformer informers.ResticRepositoryInformer, resticRepositoryClient arkv1client.ResticRepositoriesGetter, backupLocationInformer informers.BackupStorageLocationInformer, repositoryManager restic.RepositoryManager, ) Interface
NewResticRepositoryController creates a new restic repository controller.
func NewRestoreController ¶
func NewRestoreController( namespace string, restoreInformer informers.RestoreInformer, restoreClient arkv1client.RestoresGetter, backupClient arkv1client.BackupsGetter, restorer restore.Restorer, backupInformer informers.BackupInformer, backupLocationInformer informers.BackupStorageLocationInformer, snapshotLocationInformer informers.VolumeSnapshotLocationInformer, logger logrus.FieldLogger, restoreLogLevel logrus.Level, newPluginManager func(logrus.FieldLogger) plugin.Manager, defaultBackupLocation string, metrics *metrics.ServerMetrics, ) Interface
Source Files ¶
- backup_controller.go
- backup_deletion_controller.go
- backup_sync_controller.go
- backup_tracker.go
- download_request_controller.go
- gc_controller.go
- generic_controller.go
- interface.go
- pod_volume_backup_controller.go
- pod_volume_restore_controller.go
- restic_repository_controller.go
- restore_controller.go
- schedule_controller.go
Click to show internal directories.
Click to hide internal directories.