controller

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2022 License: Apache-2.0 Imports: 81 Imported by: 9

Documentation

Index

Constants

View Source
const (
	Backup                = "backup"
	BackupDeletion        = "backup-deletion"
	BackupStorageLocation = "backup-storage-location"
	BackupSync            = "backup-sync"
	DownloadRequest       = "download-request"
	GarbageCollection     = "gc"
	PodVolumeBackup       = "pod-volume-backup"
	PodVolumeRestore      = "pod-volume-restore"
	BackupRepo            = "backup-repo"
	Restore               = "restore"
	Schedule              = "schedule"
	ServerStatusRequest   = "server-status-request"
)

Variables

DisableableControllers is a list of controllers that can be disabled

View Source
var NewUploaderProviderFunc = provider.NewUploaderProvider

For unit test to mock function

Functions

func NewBackupDeletionReconciler added in v1.9.0

func NewBackupDeletionReconciler(
	logger logrus.FieldLogger,
	client client.Client,
	backupTracker BackupTracker,
	repoMgr repository.Manager,
	metrics *metrics.ServerMetrics,
	helper discovery.Helper,
	newPluginManager func(logrus.FieldLogger) clientmgmt.Manager,
	backupStoreGetter persistence.ObjectBackupStoreGetter,
	credentialStore credentials.FileStore,
) *backupDeletionReconciler

NewBackupDeletionReconciler creates a new backup deletion reconciler.

func NewBackupStorageLocationReconciler added in v1.10.0

func NewBackupStorageLocationReconciler(
	ctx context.Context,
	client client.Client,
	scheme *runtime.Scheme,
	defaultBackupLocationInfo storage.DefaultBackupLocationInfo,
	newPluginManager func(logrus.FieldLogger) clientmgmt.Manager,
	backupStoreGetter persistence.ObjectBackupStoreGetter,
	log logrus.FieldLogger) *backupStorageLocationReconciler

NewBackupStorageLocationReconciler initialize and return a backupStorageLocationReconciler struct

func NewBackupSyncReconciler added in v1.10.0

func NewBackupSyncReconciler(
	client client.Client,
	namespace string,
	defaultBackupSyncPeriod time.Duration,
	newPluginManager func(logrus.FieldLogger) clientmgmt.Manager,
	backupStoreGetter persistence.ObjectBackupStoreGetter,
	logger logrus.FieldLogger) *backupSyncReconciler

NewBackupSyncReconciler is used to generate BackupSync reconciler structure.

func NewDownloadRequestReconciler added in v1.10.0

func NewDownloadRequestReconciler(
	client kbclient.Client,
	clock clock.Clock,
	newPluginManager func(logrus.FieldLogger) clientmgmt.Manager,
	backupStoreGetter persistence.ObjectBackupStoreGetter,
	log logrus.FieldLogger,
) *downloadRequestReconciler

NewDownloadRequestReconciler initializes and returns downloadRequestReconciler struct.

func NewGCReconciler added in v1.10.0

func NewGCReconciler(
	logger logrus.FieldLogger,
	client client.Client,
	frequency time.Duration,
) *gcReconciler

NewGCReconciler constructs a new gcReconciler.

func NewScheduleReconciler added in v1.9.0

func NewScheduleReconciler(
	namespace string,
	logger logrus.FieldLogger,
	client client.Client,
	metrics *metrics.ServerMetrics,
) *scheduleReconciler

func NewServerStatusRequestReconciler added in v1.10.0

func NewServerStatusRequestReconciler(
	client client.Client,
	ctx context.Context,
	pluginRegistry PluginLister,
	clock clock.Clock,
	log logrus.FieldLogger) *serverStatusRequestReconciler

NewServerStatusRequestReconciler initializes and returns serverStatusRequestReconciler struct.

Types

type BackupProgressUpdater added in v1.10.0

type BackupProgressUpdater struct {
	PodVolumeBackup *velerov1api.PodVolumeBackup
	Log             logrus.FieldLogger
	Ctx             context.Context
	Cli             client.Client
}

func (*BackupProgressUpdater) UpdateProgress added in v1.10.0

func (b *BackupProgressUpdater) UpdateProgress(p *uploader.UploaderProgress)

UpdateProgress which implement ProgressUpdater interface to update pvb progress status

type BackupRepoReconciler added in v1.10.0

type BackupRepoReconciler struct {
	client.Client
	// contains filtered or unexported fields
}

func NewBackupRepoReconciler added in v1.10.0

func NewBackupRepoReconciler(namespace string, logger logrus.FieldLogger, client client.Client,
	maintenanceFrequency time.Duration, repositoryManager repository.Manager) *BackupRepoReconciler

func (*BackupRepoReconciler) Reconcile added in v1.10.0

func (r *BackupRepoReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*BackupRepoReconciler) SetupWithManager added in v1.10.0

func (r *BackupRepoReconciler) SetupWithManager(mgr ctrl.Manager) error

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 velerov1informers.BackupInformer,
	client velerov1client.BackupsGetter,
	discoveryHelper discovery.Helper,
	backupper pkgbackup.Backupper,
	logger logrus.FieldLogger,
	backupLogLevel logrus.Level,
	newPluginManager func(logrus.FieldLogger) clientmgmt.Manager,
	backupTracker BackupTracker,
	kbClient kbclient.Client,
	defaultBackupLocation string,
	defaultVolumesToFsBackup bool,
	defaultBackupTTL time.Duration,
	defaultCSISnapshotTimeout time.Duration,
	volumeSnapshotLocationLister velerov1listers.VolumeSnapshotLocationLister,
	defaultSnapshotLocations map[string]string,
	metrics *metrics.ServerMetrics,
	backupStoreGetter persistence.ObjectBackupStoreGetter,
	formatFlag logging.Format,
	volumeSnapshotLister snapshotv1listers.VolumeSnapshotLister,
	volumeSnapshotClient snapshotterClientSet.Interface,
	credentialStore credentials.FileStore,
) Interface

func NewRestoreController

func NewRestoreController(
	namespace string,
	restoreInformer velerov1informers.RestoreInformer,
	restoreClient velerov1client.RestoresGetter,
	podVolumeBackupClient velerov1client.PodVolumeBackupsGetter,
	restorer pkgrestore.Restorer,
	backupLister velerov1listers.BackupLister,
	kbClient client.Client,
	snapshotLocationLister velerov1listers.VolumeSnapshotLocationLister,
	logger logrus.FieldLogger,
	restoreLogLevel logrus.Level,
	newPluginManager func(logrus.FieldLogger) clientmgmt.Manager,
	backupStoreGetter persistence.ObjectBackupStoreGetter,
	metrics *metrics.ServerMetrics,
	logFormat logging.Format,
) Interface

type PluginLister added in v1.5.1

type PluginLister interface {
	// List returns all PluginIdentifiers for kind.
	List(kind common.PluginKind) []framework.PluginIdentifier
}

type PodVolumeBackupReconciler added in v1.9.0

type PodVolumeBackupReconciler struct {
	Scheme           *runtime.Scheme
	Client           client.Client
	Clock            clock.Clock
	Metrics          *metrics.ServerMetrics
	CredentialGetter *credentials.CredentialGetter
	NodeName         string
	FileSystem       filesystem.Interface
	Log              logrus.FieldLogger
}

PodVolumeBackupReconciler reconciles a PodVolumeBackup object

func (*PodVolumeBackupReconciler) NewBackupProgressUpdater added in v1.10.0

func (*PodVolumeBackupReconciler) Reconcile added in v1.9.0

+kubebuilder:rbac:groups=velero.io,resources=podvolumebackups,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=velero.io,resources=podvolumebackups/status,verbs=get;update;patch

func (*PodVolumeBackupReconciler) SetupWithManager added in v1.9.0

func (r *PodVolumeBackupReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager registers the PVB controller.

type PodVolumeRestoreReconciler added in v1.9.0

type PodVolumeRestoreReconciler struct {
	client.Client
	// contains filtered or unexported fields
}

func NewPodVolumeRestoreReconciler added in v1.9.0

func NewPodVolumeRestoreReconciler(logger logrus.FieldLogger, client client.Client, credentialGetter *credentials.CredentialGetter) *PodVolumeRestoreReconciler

func (*PodVolumeRestoreReconciler) NewRestoreProgressUpdater added in v1.10.0

func (*PodVolumeRestoreReconciler) Reconcile added in v1.9.0

func (*PodVolumeRestoreReconciler) SetupWithManager added in v1.9.0

func (c *PodVolumeRestoreReconciler) SetupWithManager(mgr ctrl.Manager) error

type RestoreProgressUpdater added in v1.10.0

type RestoreProgressUpdater struct {
	PodVolumeRestore *velerov1api.PodVolumeRestore
	Log              logrus.FieldLogger
	Ctx              context.Context
	Cli              client.Client
}

func (*RestoreProgressUpdater) UpdateProgress added in v1.10.0

func (r *RestoreProgressUpdater) UpdateProgress(p *uploader.UploaderProgress)

UpdateProgress which implement ProgressUpdater interface to update pvr progress status

Jump to

Keyboard shortcuts

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