feat(cmd): add sequence
flag to execute multiple functions
This commit is contained in:
parent
f9018dd392
commit
8424fecce3
3 changed files with 18 additions and 2 deletions
|
@ -36,8 +36,6 @@ func NewBackupCommand(c *config.Config) *cobra.Command {
|
|||
}
|
||||
|
||||
backupCmd.PersistentFlags().BoolVar(&c.ForceCommits, "force", false, "Force git commits / ignore existence check")
|
||||
backupCmd.PersistentFlags().StringVar(&c.GitEmail, "git-email", "", "Git email address")
|
||||
backupCmd.PersistentFlags().StringVar(&c.GPGKey, "signing-key", "", "Path to the GPG signing key")
|
||||
|
||||
return backupCmd
|
||||
}
|
||||
|
|
|
@ -23,6 +23,20 @@ func NewRootCommand(c *config.Config) *cobra.Command {
|
|||
Short: "Grafana Backuper CLI",
|
||||
Long: "A command-line tool to back up and restore Grafana dashboards",
|
||||
Version: version.Version(),
|
||||
RunE: func(cmd *cobra.Command, _ []string) error {
|
||||
if len(c.Sequence) == 0 {
|
||||
return cmd.Help()
|
||||
}
|
||||
|
||||
for _, command := range c.Sequence {
|
||||
cmd.SetArgs([]string{command})
|
||||
if err := cmd.Execute(); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
},
|
||||
PersistentPreRun: func(cmd *cobra.Command, _ []string) {
|
||||
initializeConfig(cmd)
|
||||
|
||||
|
@ -56,6 +70,9 @@ func NewRootCommand(c *config.Config) *cobra.Command {
|
|||
rootCmd.PersistentFlags().StringVar(&c.GitRepo, "git-repo", "", "Complete Git repository URL")
|
||||
rootCmd.PersistentFlags().StringVar(&c.GitUser, "git-user", "", "Git user name")
|
||||
rootCmd.PersistentFlags().StringVar(&c.GitPass, "git-pass", "", "Git user password")
|
||||
rootCmd.PersistentFlags().StringVar(&c.GitEmail, "git-email", "", "Git email address")
|
||||
rootCmd.PersistentFlags().StringVar(&c.GPGKey, "signing-key", "", "Path to the GPG signing key")
|
||||
rootCmd.Flags().StringArrayVar(&c.Sequence, "sequence", nil, "Command sequence to execute multiple functions")
|
||||
|
||||
return rootCmd
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ type Config struct {
|
|||
GitPass string
|
||||
GPGKey string
|
||||
Quiet bool
|
||||
Sequence []string
|
||||
|
||||
Output io.Writer
|
||||
Logger zerolog.Logger
|
||||
|
|
Loading…
Add table
Reference in a new issue