helmfile/cmd/repos.go

38 lines
879 B
Go

package cmd
import (
"github.com/spf13/cobra"
"github.com/helmfile/helmfile/pkg/app"
"github.com/helmfile/helmfile/pkg/config"
)
// NewReposCmd returns repos subcmd
func NewReposCmd(globalCfg *config.GlobalImpl) *cobra.Command {
reposOptions := config.NewReposOptions()
cmd := &cobra.Command{
Use: "repos",
Short: "Add chart repositories defined in state file",
RunE: func(cmd *cobra.Command, args []string) error {
reposImpl := config.NewReposImpl(globalCfg, reposOptions)
err := config.NewCLIConfigImpl(reposImpl.GlobalImpl)
if err != nil {
return err
}
if err := reposImpl.ValidateConfig(); err != nil {
return err
}
a := app.New(reposImpl)
return toCLIError(reposImpl.GlobalImpl, a.Repos(reposImpl))
},
}
f := cmd.Flags()
f.StringVar(&globalCfg.GlobalOptions.Args, "args", "", "pass args to helm exec")
return cmd
}