mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-01-06 05:25:40 +00:00
migrate backup actions to plugins
Signed-off-by: Steve Kriss <steve@heptio.com>
This commit is contained in:
@@ -41,6 +41,7 @@ import (
|
||||
arkv1client "github.com/heptio/ark/pkg/generated/clientset/versioned/typed/ark/v1"
|
||||
informers "github.com/heptio/ark/pkg/generated/informers/externalversions/ark/v1"
|
||||
listers "github.com/heptio/ark/pkg/generated/listers/ark/v1"
|
||||
"github.com/heptio/ark/pkg/plugin"
|
||||
"github.com/heptio/ark/pkg/util/collections"
|
||||
"github.com/heptio/ark/pkg/util/encode"
|
||||
kubeutil "github.com/heptio/ark/pkg/util/kube"
|
||||
@@ -60,6 +61,7 @@ type backupController struct {
|
||||
queue workqueue.RateLimitingInterface
|
||||
clock clock.Clock
|
||||
logger *logrus.Logger
|
||||
pluginManager plugin.Manager
|
||||
}
|
||||
|
||||
func NewBackupController(
|
||||
@@ -70,6 +72,7 @@ func NewBackupController(
|
||||
bucket string,
|
||||
pvProviderExists bool,
|
||||
logger *logrus.Logger,
|
||||
pluginManager plugin.Manager,
|
||||
) Interface {
|
||||
c := &backupController{
|
||||
backupper: backupper,
|
||||
@@ -82,6 +85,7 @@ func NewBackupController(
|
||||
queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "backup"),
|
||||
clock: &clock.RealClock{},
|
||||
logger: logger,
|
||||
pluginManager: pluginManager,
|
||||
}
|
||||
|
||||
c.syncHandler = c.processBackup
|
||||
@@ -316,10 +320,18 @@ func (controller *backupController) runBackup(backup *api.Backup, bucket string)
|
||||
err = kuberrs.NewAggregate(errs)
|
||||
}()
|
||||
|
||||
controller.logger.WithField("backup", kubeutil.NamespaceAndName(backup)).Info("starting backup")
|
||||
if err := controller.backupper.Backup(backup, backupFile, logFile); err != nil {
|
||||
actions, err := controller.pluginManager.GetBackupItemActions(backup.Name, controller.logger, controller.logger.Level)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer controller.pluginManager.CloseBackupItemActions(backup.Name)
|
||||
|
||||
controller.logger.WithField("backup", kubeutil.NamespaceAndName(backup)).Info("starting backup")
|
||||
|
||||
if err := controller.backupper.Backup(backup, backupFile, logFile, actions); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
controller.logger.WithField("backup", kubeutil.NamespaceAndName(backup)).Info("backup completed")
|
||||
|
||||
// note: updating this here so the uploaded JSON shows "completed". If
|
||||
|
||||
Reference in New Issue
Block a user