From 3ff37ddb87e0391249b0eca32eb6626f893d7963 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Fri, 12 Jan 2024 16:26:45 +0100 Subject: [PATCH] fixup! feat: backup revolution --- cli/app/backup.go | 90 ++++++++++++++++------------------------------- 1 file changed, 30 insertions(+), 60 deletions(-) diff --git a/cli/app/backup.go b/cli/app/backup.go index a829ae83..b2c422b3 100644 --- a/cli/app/backup.go +++ b/cli/app/backup.go @@ -15,6 +15,7 @@ import ( "github.com/docker/cli/cli/command" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" + dockerClient "github.com/docker/docker/client" "github.com/sirupsen/logrus" "github.com/urfave/cli" ) @@ -40,6 +41,31 @@ var resticRepoFlag = &cli.StringFlag{ Destination: &resticRepo, } +// retrieveBackupBotContainer gets the deployed backupbot container. +func retrieveBackupBotContainer(cl *dockerClient.Client) (types.Container, error) { + ctx := context.Background() + chosenService, err := service.GetServiceByLabel(ctx, cl, config.BackupbotLabel, internal.NoInput) + if err != nil { + return types.Container{}, err + } + + logrus.Debugf("retrieved %s as backup enabled service", chosenService.Spec.Name) + + filters := filters.NewArgs() + filters.Add("name", chosenService.Spec.Name) + targetContainer, err := containerPkg.GetContainer( + ctx, + cl, + filters, + internal.NoInput, + ) + if err != nil { + return types.Container{}, err + } + + return targetContainer, nil +} + var appBackupListCommand = cli.Command{ Name: "list", Aliases: []string{"ls"}, @@ -80,21 +106,7 @@ var appBackupListCommand = cli.Command{ logrus.Fatal(err) } - chosenService, err := service.GetServiceByLabel(context.Background(), cl, config.BackupbotLabel, internal.NoInput) - if err != nil { - logrus.Fatal(err) - } - - logrus.Debugf("retrieved %s as backup enabled service", chosenService.Spec.Name) - - filters := filters.NewArgs() - filters.Add("name", chosenService.Spec.Name) - targetContainer, err := containerPkg.GetContainer( - context.Background(), - cl, - filters, - internal.NoInput, - ) + targetContainer, err := retrieveBackupBotContainer(cl) if err != nil { logrus.Fatal(err) } @@ -175,21 +187,7 @@ var appBackupDownloadCommand = cli.Command{ logrus.Fatal(err) } - chosenService, err := service.GetServiceByLabel(context.Background(), cl, config.BackupbotLabel, internal.NoInput) - if err != nil { - logrus.Fatal(err) - } - - logrus.Debugf("retrieved %s as backup enabled service", chosenService.Spec.Name) - - filters := filters.NewArgs() - filters.Add("name", chosenService.Spec.Name) - targetContainer, err := containerPkg.GetContainer( - context.Background(), - cl, - filters, - internal.NoInput, - ) + targetContainer, err := retrieveBackupBotContainer(cl) if err != nil { logrus.Fatal(err) } @@ -278,21 +276,7 @@ var appBackupCreateCommand = cli.Command{ logrus.Fatal(err) } - chosenService, err := service.GetServiceByLabel(context.Background(), cl, config.BackupbotLabel, internal.NoInput) - if err != nil { - logrus.Fatal(err) - } - - logrus.Debugf("retrieved %s as backup enabled service", chosenService.Spec.Name) - - filters := filters.NewArgs() - filters.Add("name", chosenService.Spec.Name) - targetContainer, err := containerPkg.GetContainer( - context.Background(), - cl, - filters, - internal.NoInput, - ) + targetContainer, err := retrieveBackupBotContainer(cl) if err != nil { logrus.Fatal(err) } @@ -367,21 +351,7 @@ var appBackupSnapshotsCommand = cli.Command{ logrus.Fatal(err) } - chosenService, err := service.GetServiceByLabel(context.Background(), cl, config.BackupbotLabel, internal.NoInput) - if err != nil { - logrus.Fatal(err) - } - - logrus.Debugf("retrieved %s as backup enabled service", chosenService.Spec.Name) - - filters := filters.NewArgs() - filters.Add("name", chosenService.Spec.Name) - targetContainer, err := containerPkg.GetContainer( - context.Background(), - cl, - filters, - internal.NoInput, - ) + targetContainer, err := retrieveBackupBotContainer(cl) if err != nil { logrus.Fatal(err) }