mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-01-05 13:05:17 +00:00
Refactor plugin management
Refactor plugin management: - support multiple plugins per executable - support restarting a plugin process in the event it terminates - simplify plugin lifecycle management by using separate managers for each scope (server vs backup vs restore) Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
This commit is contained in:
committed by
Steve Kriss
parent
131afb571e
commit
130512187a
@@ -49,12 +49,14 @@ type downloadRequestController struct {
|
||||
downloadRequestListerSynced cache.InformerSynced
|
||||
restoreLister listers.RestoreLister
|
||||
restoreListerSynced cache.InformerSynced
|
||||
backupService cloudprovider.BackupService
|
||||
objectStore cloudprovider.ObjectStore
|
||||
bucket string
|
||||
syncHandler func(key string) error
|
||||
queue workqueue.RateLimitingInterface
|
||||
clock clock.Clock
|
||||
logger logrus.FieldLogger
|
||||
|
||||
createSignedURL cloudprovider.CreateSignedURLFunc
|
||||
}
|
||||
|
||||
// NewDownloadRequestController creates a new DownloadRequestController.
|
||||
@@ -62,7 +64,7 @@ func NewDownloadRequestController(
|
||||
downloadRequestClient arkv1client.DownloadRequestsGetter,
|
||||
downloadRequestInformer informers.DownloadRequestInformer,
|
||||
restoreInformer informers.RestoreInformer,
|
||||
backupService cloudprovider.BackupService,
|
||||
objectStore cloudprovider.ObjectStore,
|
||||
bucket string,
|
||||
logger logrus.FieldLogger,
|
||||
) Interface {
|
||||
@@ -72,11 +74,13 @@ func NewDownloadRequestController(
|
||||
downloadRequestListerSynced: downloadRequestInformer.Informer().HasSynced,
|
||||
restoreLister: restoreInformer.Lister(),
|
||||
restoreListerSynced: restoreInformer.Informer().HasSynced,
|
||||
backupService: backupService,
|
||||
objectStore: objectStore,
|
||||
bucket: bucket,
|
||||
queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "downloadrequest"),
|
||||
clock: &clock.RealClock{},
|
||||
logger: logger,
|
||||
|
||||
createSignedURL: cloudprovider.CreateSignedURL,
|
||||
}
|
||||
|
||||
c.syncHandler = c.processDownloadRequest
|
||||
@@ -236,7 +240,7 @@ func (c *downloadRequestController) generatePreSignedURL(downloadRequest *v1.Dow
|
||||
directory = downloadRequest.Spec.Target.Name
|
||||
}
|
||||
|
||||
update.Status.DownloadURL, err = c.backupService.CreateSignedURL(downloadRequest.Spec.Target, c.bucket, directory, signedURLTTL)
|
||||
update.Status.DownloadURL, err = c.createSignedURL(c.objectStore, downloadRequest.Spec.Target, c.bucket, directory, signedURLTTL)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user