Compare commits

..

4 commits

Author SHA1 Message Date
8424fecce3
feat(cmd): add sequence flag to execute multiple functions
Some checks failed
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/test unknown status
ci/woodpecker/push/build unknown status
2024-12-07 00:52:25 +01:00
f9018dd392
chore(deps): update golangci/golangci-lint docker tag to v1.62.2 2024-12-07 00:19:44 +01:00
0c7af69087
test(config,git,logger): add some test functions 2024-12-07 00:19:44 +01:00
066f8d764e
add woodpecker pipeline 2024-12-07 00:19:40 +01:00
4 changed files with 24 additions and 2 deletions

View file

@ -8,6 +8,9 @@ steps:
password: password:
from_secret: REGISTRY_PASS from_secret: REGISTRY_PASS
repo: git.ar21.de/yolokube/grafana-backuper repo: git.ar21.de/yolokube/grafana-backuper
platforms:
- linux/amd64
- linux/arm64
tags: tags:
- latest - latest
- ${CI_PIPELINE_NUMBER} - ${CI_PIPELINE_NUMBER}
@ -23,6 +26,9 @@ steps:
password: password:
from_secret: REGISTRY_PASS from_secret: REGISTRY_PASS
repo: git.ar21.de/yolokube/grafana-backuper repo: git.ar21.de/yolokube/grafana-backuper
platforms:
- linux/amd64
- linux/arm64
tags: tags:
- staging - staging
- staging-${CI_PIPELINE_NUMBER} - staging-${CI_PIPELINE_NUMBER}

View file

@ -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().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 return backupCmd
} }

View file

@ -23,6 +23,20 @@ func NewRootCommand(c *config.Config) *cobra.Command {
Short: "Grafana Backuper CLI", Short: "Grafana Backuper CLI",
Long: "A command-line tool to back up and restore Grafana dashboards", Long: "A command-line tool to back up and restore Grafana dashboards",
Version: version.Version(), 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) { PersistentPreRun: func(cmd *cobra.Command, _ []string) {
initializeConfig(cmd) 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.GitRepo, "git-repo", "", "Complete Git repository URL")
rootCmd.PersistentFlags().StringVar(&c.GitUser, "git-user", "", "Git user name") rootCmd.PersistentFlags().StringVar(&c.GitUser, "git-user", "", "Git user name")
rootCmd.PersistentFlags().StringVar(&c.GitPass, "git-pass", "", "Git user password") 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 return rootCmd
} }

View file

@ -29,6 +29,7 @@ type Config struct {
GitPass string GitPass string
GPGKey string GPGKey string
Quiet bool Quiet bool
Sequence []string
Output io.Writer Output io.Writer
Logger zerolog.Logger Logger zerolog.Logger