talm

Форк
0
/
imported_restart.go 
88 строк · 2.5 Кб
1
// Code generated by go run tools/import_commands.go --talos-version v1.7.1 restart
2
// DO NOT EDIT.
3

4
// This Source Code Form is subject to the terms of the Mozilla Public
5
// License, v. 2.0. If a copy of the MPL was not distributed with this
6
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
7

8
package commands
9

10
import (
11
	"context"
12
	"fmt"
13

14
	criconstants "github.com/containerd/containerd/pkg/cri/constants"
15
	"github.com/spf13/cobra"
16

17
	"github.com/siderolabs/talos/pkg/machinery/api/common"
18
	"github.com/siderolabs/talos/pkg/machinery/client"
19
	"github.com/siderolabs/talos/pkg/machinery/constants"
20
)
21

22
// restartCmd represents the restart command.
23
var restartCmd = &cobra.Command{
24
	Use:   "restart <id>",
25
	Short: "Restart a process",
26
	Long:  ``,
27
	Args:  cobra.ExactArgs(1),
28
	ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
29
		if len(args) != 0 {
30
			return nil, cobra.ShellCompDirectiveError | cobra.ShellCompDirectiveNoFileComp
31
		}
32

33
		return getContainersFromNode(kubernetesFlag), cobra.ShellCompDirectiveNoFileComp
34
	},
35
	RunE: func(cmd *cobra.Command, args []string) error {
36
		return WithClient(func(ctx context.Context, c *client.Client) error {
37
			var (
38
				namespace string
39
				driver    common.ContainerDriver
40
			)
41

42
			if kubernetesFlag {
43
				namespace = criconstants.K8sContainerdNamespace
44
				driver = common.ContainerDriver_CRI
45
			} else {
46
				namespace = constants.SystemContainerdNamespace
47
				driver = common.ContainerDriver_CONTAINERD
48
			}
49

50
			if err := c.Restart(ctx, namespace, driver, args[0]); err != nil {
51
				return fmt.Errorf("error restarting process: %s", err)
52
			}
53

54
			return nil
55
		})
56
	},
57
}
58

59
func init() {
60
	restartCmd.Flags().StringSliceVarP(&restartCmdFlags.configFiles,
61
		"file", "f", nil, "specify config files or patches in a YAML file (can specify multiple)",
62
	)
63
	restartCmd.PreRunE = func(cmd *cobra.
64
		Command, args []string) error {
65
		nodesFromArgs := len(GlobalArgs.Nodes) > 0
66
		endpointsFromArgs := len(GlobalArgs.
67
			Endpoints) > 0
68
		for _, configFile := range restartCmdFlags.configFiles {
69
			if err := processModelineAndUpdateGlobals(configFile,
70
				nodesFromArgs, endpointsFromArgs, false); err != nil {
71

72
				return err
73
			}
74
		}
75
		return nil
76
	}
77

78
	restartCmd.Flags().BoolVarP(&kubernetesFlag, "kubernetes", "k", false, "use the k8s.io containerd namespace")
79

80
	restartCmd.Flags().BoolP("use-cri", "c", false, "use the CRI driver")
81
	restartCmd.Flags().MarkHidden("use-cri") //nolint:errcheck
82

83
	addCommand(restartCmd)
84
}
85

86
var restartCmdFlags struct {
87
	configFiles []string
88
}
89

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.