diff options
author | Gerardo Gutierrez <ggutierrez@gitlab.com> | 2023-10-26 20:09:59 +0300 |
---|---|---|
committer | Sami Hiltunen <shiltunen@gitlab.com> | 2023-10-26 20:09:59 +0300 |
commit | a90445c3b86fa1d8d4459f847430dc53651d93b4 (patch) | |
tree | f01be5e69a150ea2c6abe00b0b6202c5b7d92c9b | |
parent | 2838777108e7c081ddf7ef0932fe93087c560238 (diff) |
gitaly-backup: Move code out of main package
-rw-r--r-- | cmd/gitaly-backup/main.go | 57 | ||||
-rw-r--r-- | internal/cli/gitalybackup/create.go (renamed from cmd/gitaly-backup/create.go) | 2 | ||||
-rw-r--r-- | internal/cli/gitalybackup/create_test.go (renamed from cmd/gitaly-backup/create_test.go) | 2 | ||||
-rw-r--r-- | internal/cli/gitalybackup/main.go | 61 | ||||
-rw-r--r-- | internal/cli/gitalybackup/restore.go (renamed from cmd/gitaly-backup/restore.go) | 2 | ||||
-rw-r--r-- | internal/cli/gitalybackup/restore_test.go (renamed from cmd/gitaly-backup/restore_test.go) | 2 | ||||
-rw-r--r-- | internal/cli/gitalybackup/testhelper_test.go (renamed from cmd/gitaly-backup/testhelper_test.go) | 2 |
7 files changed, 68 insertions, 60 deletions
diff --git a/cmd/gitaly-backup/main.go b/cmd/gitaly-backup/main.go index 046f8e876..194301d54 100644 --- a/cmd/gitaly-backup/main.go +++ b/cmd/gitaly-backup/main.go @@ -1,60 +1,7 @@ package main -import ( - "context" - "flag" - "fmt" - "io" - "os" - - "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/storage" - "gitlab.com/gitlab-org/gitaly/v16/internal/log" -) - -type subcmd interface { - Flags(*flag.FlagSet) - Run(ctx context.Context, logger log.Logger, stdin io.Reader, stdout io.Writer) error -} - -var subcommands = map[string]subcmd{ - "create": &createSubcommand{}, - "restore": &restoreSubcommand{}, -} +import "gitlab.com/gitlab-org/gitaly/v16/internal/cli/gitalybackup" func main() { - logger, err := log.Configure(os.Stdout, "json", "") - if err != nil { - fmt.Printf("configuring logger failed: %v", err) - os.Exit(1) - } - - flags := flag.NewFlagSet("gitaly-backup", flag.ExitOnError) - _ = flags.Parse(os.Args) - - if flags.NArg() < 2 { - logger.Error("missing subcommand") - os.Exit(1) - } - - subcmdName := flags.Arg(1) - subcmd, ok := subcommands[subcmdName] - if !ok { - logger.Error(fmt.Sprintf("unknown subcommand: %q", flags.Arg(1))) - os.Exit(1) - } - - subcmdFlags := flag.NewFlagSet(subcmdName, flag.ExitOnError) - subcmd.Flags(subcmdFlags) - _ = subcmdFlags.Parse(flags.Args()[2:]) - - ctx, err := storage.InjectGitalyServersEnv(context.Background()) - if err != nil { - logger.Error(err.Error()) - os.Exit(1) - } - - if err := subcmd.Run(ctx, logger, os.Stdin, os.Stdout); err != nil { - logger.Error(err.Error()) - os.Exit(1) - } + gitalybackup.Main() } diff --git a/cmd/gitaly-backup/create.go b/internal/cli/gitalybackup/create.go index 6a62940b6..061be231d 100644 --- a/cmd/gitaly-backup/create.go +++ b/internal/cli/gitalybackup/create.go @@ -1,4 +1,4 @@ -package main +package gitalybackup import ( "context" diff --git a/cmd/gitaly-backup/create_test.go b/internal/cli/gitalybackup/create_test.go index b1245388f..2ae10c07a 100644 --- a/cmd/gitaly-backup/create_test.go +++ b/internal/cli/gitalybackup/create_test.go @@ -1,4 +1,4 @@ -package main +package gitalybackup import ( "bytes" diff --git a/internal/cli/gitalybackup/main.go b/internal/cli/gitalybackup/main.go new file mode 100644 index 000000000..3dd3a348a --- /dev/null +++ b/internal/cli/gitalybackup/main.go @@ -0,0 +1,61 @@ +package gitalybackup + +import ( + "context" + "flag" + "fmt" + "io" + "os" + + "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/storage" + "gitlab.com/gitlab-org/gitaly/v16/internal/log" +) + +type subcmd interface { + Flags(*flag.FlagSet) + Run(ctx context.Context, logger log.Logger, stdin io.Reader, stdout io.Writer) error +} + +var subcommands = map[string]subcmd{ + "create": &createSubcommand{}, + "restore": &restoreSubcommand{}, +} + +// Main is an entry point of the gitaly-backup binary. +func Main() { + logger, err := log.Configure(os.Stdout, "json", "") + if err != nil { + fmt.Printf("configuring logger failed: %v", err) + os.Exit(1) + } + + flags := flag.NewFlagSet("gitaly-backup", flag.ExitOnError) + _ = flags.Parse(os.Args) + + if flags.NArg() < 2 { + logger.Error("missing subcommand") + os.Exit(1) + } + + subcmdName := flags.Arg(1) + subcmd, ok := subcommands[subcmdName] + if !ok { + logger.Error(fmt.Sprintf("unknown subcommand: %q", flags.Arg(1))) + os.Exit(1) + } + + subcmdFlags := flag.NewFlagSet(subcmdName, flag.ExitOnError) + subcmd.Flags(subcmdFlags) + _ = subcmdFlags.Parse(flags.Args()[2:]) + + ctx, err := storage.InjectGitalyServersEnv(context.Background()) + if err != nil { + logger.Error(err.Error()) + os.Exit(1) + } + + if err := subcmd.Run(ctx, logger, os.Stdin, os.Stdout); err != nil { + logger.Error(err.Error()) + os.Exit(1) + } +} diff --git a/cmd/gitaly-backup/restore.go b/internal/cli/gitalybackup/restore.go index d75e72399..9bff6fe4f 100644 --- a/cmd/gitaly-backup/restore.go +++ b/internal/cli/gitalybackup/restore.go @@ -1,4 +1,4 @@ -package main +package gitalybackup import ( "context" diff --git a/cmd/gitaly-backup/restore_test.go b/internal/cli/gitalybackup/restore_test.go index 600ad9314..77072e9ec 100644 --- a/cmd/gitaly-backup/restore_test.go +++ b/internal/cli/gitalybackup/restore_test.go @@ -1,4 +1,4 @@ -package main +package gitalybackup import ( "bytes" diff --git a/cmd/gitaly-backup/testhelper_test.go b/internal/cli/gitalybackup/testhelper_test.go index 432115dc0..b0413c9be 100644 --- a/cmd/gitaly-backup/testhelper_test.go +++ b/internal/cli/gitalybackup/testhelper_test.go @@ -1,4 +1,4 @@ -package main +package gitalybackup import ( "testing" |