()
| 32 | ) |
| 33 | |
| 34 | func newCmdAddonDownload() *cobra.Command { |
| 35 | cmd := &cobra.Command{ |
| 36 | Use: "download addon-team/addon-type/addon-name@v1.0.0 [-t directory]", |
| 37 | Short: addonDownloadShort, |
| 38 | Long: addonDownloadLong, |
| 39 | Example: addonDownloadExample, |
| 40 | Args: cobra.ExactArgs(1), |
| 41 | RunE: func(cmd *cobra.Command, args []string) error { |
| 42 | // Set up a channel to listen for OS signals for graceful shutdown. |
| 43 | ctx, cancel := context.WithCancel(cmd.Context()) |
| 44 | |
| 45 | sigChan := make(chan os.Signal, 1) |
| 46 | signal.Notify(sigChan, syscall.SIGTERM) |
| 47 | |
| 48 | go func() { |
| 49 | <-sigChan |
| 50 | cancel() |
| 51 | }() |
| 52 | |
| 53 | return runAddonDownload(ctx, cmd, args) |
| 54 | }, |
| 55 | } |
| 56 | cmd.Flags().StringP("target", "t", ".", `Download to specified directory. Use - for stdout`) |
| 57 | |
| 58 | return cmd |
| 59 | } |
| 60 | |
| 61 | func runAddonDownload(ctx context.Context, cmd *cobra.Command, args []string) error { |
| 62 | tc := cqapiauth.NewTokenClient() |
no test coverage detected