1
// Code generated by go run tools/import_commands.go --talos-version v1.7.1 restart
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/.
14
criconstants "github.com/containerd/containerd/pkg/cri/constants"
15
"github.com/spf13/cobra"
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"
22
// restartCmd represents the restart command.
23
var restartCmd = &cobra.Command{
25
Short: "Restart a process",
27
Args: cobra.ExactArgs(1),
28
ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
30
return nil, cobra.ShellCompDirectiveError | cobra.ShellCompDirectiveNoFileComp
33
return getContainersFromNode(kubernetesFlag), cobra.ShellCompDirectiveNoFileComp
35
RunE: func(cmd *cobra.Command, args []string) error {
36
return WithClient(func(ctx context.Context, c *client.Client) error {
39
driver common.ContainerDriver
43
namespace = criconstants.K8sContainerdNamespace
44
driver = common.ContainerDriver_CRI
46
namespace = constants.SystemContainerdNamespace
47
driver = common.ContainerDriver_CONTAINERD
50
if err := c.Restart(ctx, namespace, driver, args[0]); err != nil {
51
return fmt.Errorf("error restarting process: %s", err)
60
restartCmd.Flags().StringSliceVarP(&restartCmdFlags.configFiles,
61
"file", "f", nil, "specify config files or patches in a YAML file (can specify multiple)",
63
restartCmd.PreRunE = func(cmd *cobra.
64
Command, args []string) error {
65
nodesFromArgs := len(GlobalArgs.Nodes) > 0
66
endpointsFromArgs := len(GlobalArgs.
68
for _, configFile := range restartCmdFlags.configFiles {
69
if err := processModelineAndUpdateGlobals(configFile,
70
nodesFromArgs, endpointsFromArgs, false); err != nil {
78
restartCmd.Flags().BoolVarP(&kubernetesFlag, "kubernetes", "k", false, "use the k8s.io containerd namespace")
80
restartCmd.Flags().BoolP("use-cri", "c", false, "use the CRI driver")
81
restartCmd.Flags().MarkHidden("use-cri") //nolint:errcheck
83
addCommand(restartCmd)
86
var restartCmdFlags struct {