Documentation ¶
Index ¶
- Constants
- Variables
- func NewBackupDeletionReconciler(logger logrus.FieldLogger, client client.Client, backupTracker BackupTracker, ...) *backupDeletionReconciler
- func NewScheduleReconciler(namespace string, logger logrus.FieldLogger, client client.Client, ...) *scheduleReconciler
- type BackupExecuter
- type BackupStorageLocationReconciler
- type BackupTracker
- type DownloadRequestReconciler
- type Interface
- func NewBackupController(backupInformer velerov1informers.BackupInformer, ...) Interface
- func NewBackupSyncController(backupClient velerov1client.BackupsGetter, kbClient client.Client, ...) Interface
- func NewGCController(logger logrus.FieldLogger, backupInformer velerov1informers.BackupInformer, ...) Interface
- func NewRestoreController(namespace string, restoreInformer velerov1informers.RestoreInformer, ...) Interface
- type PluginLister
- type PodVolumeBackupReconciler
- type PodVolumeRestoreReconciler
- type ResticRepoReconciler
- type ServerStatusRequestReconciler
Constants ¶
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" ResticRepo = "restic-repo" Restore = "restore" Schedule = "schedule" ServerStatusRequest = "server-status-request" )
Variables ¶
var DisableableControllers = []string{ Backup, BackupDeletion, BackupSync, DownloadRequest, GarbageCollection, ResticRepo, Restore, Schedule, ServerStatusRequest, }
DisableableControllers is a list of controllers that can be disabled
Functions ¶
func NewBackupDeletionReconciler ¶ added in v1.9.0
func NewBackupDeletionReconciler( logger logrus.FieldLogger, client client.Client, backupTracker BackupTracker, resticMgr restic.RepositoryManager, metrics *metrics.ServerMetrics, helper discovery.Helper, newPluginManager func(logrus.FieldLogger) clientmgmt.Manager, backupStoreGetter persistence.ObjectBackupStoreGetter, ) *backupDeletionReconciler
NewBackupDeletionReconciler creates a new backup deletion reconciler.
func NewScheduleReconciler ¶ added in v1.9.0
func NewScheduleReconciler( namespace string, logger logrus.FieldLogger, client client.Client, metrics *metrics.ServerMetrics, ) *scheduleReconciler
Types ¶
type BackupExecuter ¶ added in v1.9.0
type BackupExecuter interface { RunBackup(*restic.Command, logrus.FieldLogger, func(velerov1api.PodVolumeOperationProgress)) (string, string, error) GetSnapshotID(*restic.Command) (string, error) }
BackupExecuter runs backups.
type BackupStorageLocationReconciler ¶ added in v1.5.0
type BackupStorageLocationReconciler struct { Ctx context.Context Client client.Client Scheme *runtime.Scheme DefaultBackupLocationInfo storage.DefaultBackupLocationInfo // use variables to refer to these functions so they can be // replaced with fakes for testing. NewPluginManager func(logrus.FieldLogger) clientmgmt.Manager BackupStoreGetter persistence.ObjectBackupStoreGetter Log logrus.FieldLogger }
BackupStorageLocationReconciler reconciles a BackupStorageLocation object
func (*BackupStorageLocationReconciler) Reconcile ¶ added in v1.5.0
func (r *BackupStorageLocationReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
+kubebuilder:rbac:groups=velero.io,resources=backupstoragelocations,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=velero.io,resources=backupstoragelocations/status,verbs=get;update;patch
func (*BackupStorageLocationReconciler) SetupWithManager ¶ added in v1.5.0
func (r *BackupStorageLocationReconciler) 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 DownloadRequestReconciler ¶ added in v1.6.0
type DownloadRequestReconciler struct { Scheme *runtime.Scheme Client kbclient.Client Clock clock.Clock // use variables to refer to these functions so they can be // replaced with fakes for testing. NewPluginManager func(logrus.FieldLogger) clientmgmt.Manager BackupStoreGetter persistence.ObjectBackupStoreGetter Log logrus.FieldLogger }
DownloadRequestReconciler reconciles a DownloadRequest object
func (*DownloadRequestReconciler) Reconcile ¶ added in v1.6.0
func (r *DownloadRequestReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
+kubebuilder:rbac:groups=velero.io,resources=downloadrequests,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=velero.io,resources=downloadrequests/status,verbs=get;update;patch
func (*DownloadRequestReconciler) SetupWithManager ¶ added in v1.6.0
func (r *DownloadRequestReconciler) SetupWithManager(mgr ctrl.Manager) error
type Interface ¶
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, defaultVolumesToRestic bool, defaultBackupTTL time.Duration, defaultCSISnapshotTimeout time.Duration, volumeSnapshotLocationLister velerov1listers.VolumeSnapshotLocationLister, defaultSnapshotLocations map[string]string, metrics *metrics.ServerMetrics, formatFlag logging.Format, volumeSnapshotLister snapshotv1listers.VolumeSnapshotLister, volumeSnapshotClient snapshotterClientSet.Interface, volumeSnapshotContentLister snapshotv1listers.VolumeSnapshotContentLister, volumesnapshotClassLister snapshotv1listers.VolumeSnapshotClassLister, backupStoreGetter persistence.ObjectBackupStoreGetter, ) Interface
func NewBackupSyncController ¶
func NewBackupSyncController( backupClient velerov1client.BackupsGetter, kbClient client.Client, podVolumeBackupClient velerov1client.PodVolumeBackupsGetter, backupLister velerov1listers.BackupLister, csiVSLister snapshotv1listers.VolumeSnapshotLister, syncPeriod time.Duration, namespace string, csiSnapshotClient *snapshotterClientSet.Clientset, kubeClient kubernetes.Interface, defaultBackupLocation string, newPluginManager func(logrus.FieldLogger) clientmgmt.Manager, backupStoreGetter persistence.ObjectBackupStoreGetter, logger logrus.FieldLogger, ) Interface
func NewGCController ¶
func NewGCController( logger logrus.FieldLogger, backupInformer velerov1informers.BackupInformer, deleteBackupRequestLister velerov1listers.DeleteBackupRequestLister, deleteBackupRequestClient velerov1client.DeleteBackupRequestsGetter, kbClient client.Client, frequency time.Duration, ) Interface
NewGCController constructs a new gcController.
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 framework.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 CredsFileStore credentials.FileStore NodeName string FileSystem filesystem.Interface ResticExec BackupExecuter Log logrus.FieldLogger }
PodVolumeBackupReconciler reconciles a PodVolumeBackup object
func (*PodVolumeBackupReconciler) Reconcile ¶ added in v1.9.0
func (r *PodVolumeBackupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
+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
func NewPodVolumeRestoreReconciler ¶ added in v1.9.0
func NewPodVolumeRestoreReconciler(logger logrus.FieldLogger, client client.Client, credentialsFileStore credentials.FileStore) *PodVolumeRestoreReconciler
func (*PodVolumeRestoreReconciler) SetupWithManager ¶ added in v1.9.0
func (c *PodVolumeRestoreReconciler) SetupWithManager(mgr ctrl.Manager) error
type ResticRepoReconciler ¶ added in v1.9.0
func NewResticRepoReconciler ¶ added in v1.9.0
func NewResticRepoReconciler(namespace string, logger logrus.FieldLogger, client client.Client, defaultMaintenanceFrequency time.Duration, repositoryManager restic.RepositoryManager) *ResticRepoReconciler
func (*ResticRepoReconciler) SetupWithManager ¶ added in v1.9.0
func (r *ResticRepoReconciler) SetupWithManager(mgr ctrl.Manager) error
type ServerStatusRequestReconciler ¶ added in v1.5.1
type ServerStatusRequestReconciler struct { Scheme *runtime.Scheme Client client.Client Ctx context.Context PluginRegistry PluginLister Clock clock.Clock Log logrus.FieldLogger }
ServerStatusRequestReconciler reconciles a ServerStatusRequest object
func (*ServerStatusRequestReconciler) Reconcile ¶ added in v1.5.1
func (r *ServerStatusRequestReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
+kubebuilder:rbac:groups=velero.io,resources=serverstatusrequests,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=velero.io,resources=serverstatusrequests/status,verbs=get;update;patch
func (*ServerStatusRequestReconciler) SetupWithManager ¶ added in v1.5.1
func (r *ServerStatusRequestReconciler) SetupWithManager(mgr ctrl.Manager) error
Source Files ¶
- backup_controller.go
- backup_deletion_controller.go
- backup_storage_location_controller.go
- backup_sync_controller.go
- backup_tracker.go
- constants.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
- server_status_request_controller.go