controller

package
v0.9.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2018 License: Apache-2.0 Imports: 45 Imported by: 0

Documentation

Index

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

type Interface interface {
	// Run runs the component.
	Run(ctx context.Context, workers int) error
}

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL