Documentation ¶
Index ¶
- 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(client arkv1client.BackupsGetter, backupService cloudprovider.BackupService, ...) 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 ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewScheduleController ¶
func NewScheduleController( namespace string, schedulesClient arkv1client.SchedulesGetter, backupsClient arkv1client.BackupsGetter, schedulesInformer informers.ScheduleInformer, syncPeriod time.Duration, logger logrus.FieldLogger, metrics *metrics.ServerMetrics, ) *scheduleController
Types ¶
type BackupTracker ¶ added in v0.8.0
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 ¶ added in v0.8.0
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 backup.Backupper, backupService cloudprovider.BackupService, bucket string, pvProviderExists bool, logger logrus.FieldLogger, pluginManager plugin.Manager, backupTracker BackupTracker, metrics *metrics.ServerMetrics, ) Interface
func NewBackupDeletionController ¶ added in v0.8.0
func NewBackupDeletionController( logger logrus.FieldLogger, deleteBackupRequestInformer informers.DeleteBackupRequestInformer, deleteBackupRequestClient arkv1client.DeleteBackupRequestsGetter, backupClient arkv1client.BackupsGetter, snapshotService cloudprovider.SnapshotService, backupService cloudprovider.BackupService, bucket string, restoreInformer informers.RestoreInformer, restoreClient arkv1client.RestoresGetter, backupTracker BackupTracker, resticMgr restic.RepositoryManager, podvolumeBackupInformer informers.PodVolumeBackupInformer, ) Interface
NewBackupDeletionController creates a new backup deletion controller.
func NewBackupSyncController ¶
func NewBackupSyncController( client arkv1client.BackupsGetter, backupService cloudprovider.BackupService, bucket string, syncPeriod time.Duration, namespace string, logger logrus.FieldLogger, ) Interface
func NewDownloadRequestController ¶ added in v0.4.0
func NewDownloadRequestController( downloadRequestClient arkv1client.DownloadRequestsGetter, downloadRequestInformer informers.DownloadRequestInformer, restoreInformer informers.RestoreInformer, backupService cloudprovider.BackupService, bucket string, 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, syncPeriod time.Duration, ) Interface
NewGCController constructs a new gcController.
func NewPodVolumeBackupController ¶ added in v0.9.0
func NewPodVolumeBackupController( logger logrus.FieldLogger, podVolumeBackupInformer informers.PodVolumeBackupInformer, podVolumeBackupClient arkv1client.PodVolumeBackupsGetter, podInformer cache.SharedIndexInformer, secretInformer cache.SharedIndexInformer, pvcInformer corev1informers.PersistentVolumeClaimInformer, nodeName string, ) Interface
NewPodVolumeBackupController creates a new pod volume backup controller.
func NewPodVolumeRestoreController ¶ added in v0.9.0
func NewPodVolumeRestoreController( logger logrus.FieldLogger, podVolumeRestoreInformer informers.PodVolumeRestoreInformer, podVolumeRestoreClient arkv1client.PodVolumeRestoresGetter, podInformer cache.SharedIndexInformer, secretInformer cache.SharedIndexInformer, pvcInformer corev1informers.PersistentVolumeClaimInformer, nodeName string, ) Interface
NewPodVolumeRestoreController creates a new pod volume restore controller.
func NewResticRepositoryController ¶ added in v0.9.0
func NewResticRepositoryController( logger logrus.FieldLogger, resticRepositoryInformer informers.ResticRepositoryInformer, resticRepositoryClient arkv1client.ResticRepositoriesGetter, objectStorageConfig arkv1api.ObjectStorageProviderConfig, 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, backupService cloudprovider.BackupService, bucket string, backupInformer informers.BackupInformer, pvProviderExists bool, logger logrus.FieldLogger, pluginManager plugin.Manager, ) 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.