Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DumpCmd = &cobra.Command{ Use: "containerd <container-id>", Short: "Dump a containerd container", Args: cobra.ArbitraryArgs, RunE: func(cmd *cobra.Command, args []string) error { req, ok := cmd.Context().Value(keys.DUMP_REQ_CONTEXT_KEY).(*daemon.DumpReq) if !ok { return fmt.Errorf("invalid dump request in context") } var id string if len(args) > 0 { id = args[0] } image, _ := cmd.Flags().GetString(containerd_flags.ImageFlag.Full) address, _ := cmd.Flags().GetString(containerd_flags.AddressFlag.Full) namespace, _ := cmd.Flags().GetString(containerd_flags.NamespaceFlag.Full) rootfs, _ := cmd.Flags().GetBool(containerd_flags.RootfsFlag.Full) rootfsOnly, _ := cmd.Flags().GetBool(containerd_flags.RootfsOnlyFlag.Full) req.Type = "containerd" req.Details = &daemon.Details{Containerd: &containerd.Containerd{ ID: id, Address: address, Namespace: namespace, Rootfs: rootfs, RootfsOnly: rootfsOnly, }} if image != "" { req.Details.Containerd.Image = &containerd.Image{Name: image} } return nil }, }
View Source
var FreezeCmd = &cobra.Command{ Use: "containerd <container-id>", Short: "Freeze a containerd container", Long: "Freeze a containerd container", Args: cobra.ArbitraryArgs, RunE: func(cmd *cobra.Command, args []string) error { req, ok := cmd.Context().Value(keys.FREEZE_REQ_CONTEXT_KEY).(*daemon.DumpReq) if !ok { return fmt.Errorf("invalid freeze request in context") } var id string if len(args) > 0 { id = args[0] } image, _ := cmd.Flags().GetString(containerd_flags.ImageFlag.Full) address, _ := cmd.Flags().GetString(containerd_flags.AddressFlag.Full) namespace, _ := cmd.Flags().GetString(containerd_flags.NamespaceFlag.Full) req.Type = "containerd" req.Details = &daemon.Details{Containerd: &containerd.Containerd{ ID: id, Address: address, Namespace: namespace, }} if image != "" { req.Details.Containerd.Image = &containerd.Image{Name: image} } return nil }, }
View Source
var ManageCmd = &cobra.Command{ Use: "containerd <container-id>", Short: "Manage a containerd container", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { req, ok := cmd.Context().Value(keys.RUN_REQ_CONTEXT_KEY).(*daemon.RunReq) if !ok { return fmt.Errorf("invalid run request in context") } id := args[0] image, _ := cmd.Flags().GetString(containerd_flags.ImageFlag.Full) address, _ := cmd.Flags().GetString(containerd_flags.AddressFlag.Full) namespace, _ := cmd.Flags().GetString(containerd_flags.NamespaceFlag.Full) req.Type = "containerd" req.Details = &daemon.Details{Containerd: &containerd.Containerd{ ID: id, Address: address, Namespace: namespace, }} if image != "" { req.Details.Containerd.Image = &containerd.Image{Name: image} } return nil }, }
View Source
var QueryCmd = &cobra.Command{ Use: "containerd <ID1> [<ID2> ...]", Short: "Query containerd containers", Args: cobra.ArbitraryArgs, RunE: func(cmd *cobra.Command, ids []string) error { ctx := cmd.Context() client, ok := ctx.Value(keys.CLIENT_CONTEXT_KEY).(*client.Client) if !ok { return fmt.Errorf("invalid client in context") } req, ok := ctx.Value(keys.QUERY_REQ_CONTEXT_KEY).(*daemon.QueryReq) if !ok { return fmt.Errorf("invalid query request in context") } address, _ := cmd.Flags().GetString(containerd_flags.AddressFlag.Full) namespace, _ := cmd.Flags().GetString(containerd_flags.NamespaceFlag.Full) req.Type = "containerd" req.Containerd = &containerd.QueryReq{ IDs: ids, Address: address, Namespace: namespace, } resp, err := client.Query(ctx, req) if err != nil { return err } result := resp.Containerd var output string defer func() { ctx = context.WithValue(ctx, keys.QUERY_RESP_CONTEXT_KEY, resp) ctx = context.WithValue(ctx, keys.QUERY_OUTPUT_CONTEXT_KEY, output) cmd.SetContext(ctx) }() if len(result.Containers) == 0 { return nil } tableWriter := table.NewWriter() tableWriter.SetStyle(style.TableStyle) tableWriter.AppendHeader(table.Row{ "ID", "Namespace", "Image", "Runtime", }) tableWriter.SortBy([]table.SortBy{ {Name: "Root", Mode: table.Asc}, }) for _, container := range result.Containers { tableWriter.AppendRow(table.Row{ container.ID, container.Namespace, container.GetImage().GetName(), containerd_utils.Runtime(container), }) } output = tableWriter.Render() return nil }, }
View Source
var RestoreCmd = &cobra.Command{ Use: "containerd [container-id] [args...]", Short: "Restore a containerd container", Args: cobra.NoArgs, RunE: func(cmd *cobra.Command, args []string) error { req, ok := cmd.Context().Value(keys.RESTORE_REQ_CONTEXT_KEY).(*daemon.RestoreReq) if !ok { return fmt.Errorf("invalid restore request in context") } id, _ := cmd.Flags().GetString(runc_flags.IdFlag.Full) image, _ := cmd.Flags().GetString(containerd_flags.ImageFlag.Full) address, _ := cmd.Flags().GetString(containerd_flags.AddressFlag.Full) namespace, _ := cmd.Flags().GetString(containerd_flags.NamespaceFlag.Full) gpus, _ := cmd.Flags().GetInt32Slice(containerd_flags.GPUsFlag.Full) noPivot, _ := cmd.Flags().GetBool(runc_flags.NoPivotFlag.Full) env, _ := cmd.Flags().GetStringSlice(containerd_flags.EnvFlag.Full) req.Type = "containerd" req.Details = &daemon.Details{Containerd: &containerd.Containerd{ ID: id, Address: address, Namespace: namespace, GPUs: gpus, NoPivot: noPivot, Env: env, }} if image != "" { req.Details.Containerd.Image = &containerd.Image{Name: image} } return nil }, }
View Source
var RunCmd = &cobra.Command{ Use: "containerd <image|rootfs> [command] [args...]", Short: "Run a containerd container", Args: cobra.MinimumNArgs(1), RunE: func(cmd *cobra.Command, args []string) error { req, ok := cmd.Context().Value(keys.RUN_REQ_CONTEXT_KEY).(*daemon.RunReq) if !ok { return fmt.Errorf("invalid run request in context") } image := args[0] procArgs := args[1:] id, _ := cmd.Flags().GetString(runc_flags.IdFlag.Full) address, _ := cmd.Flags().GetString(containerd_flags.AddressFlag.Full) namespace, _ := cmd.Flags().GetString(containerd_flags.NamespaceFlag.Full) gpus, _ := cmd.Flags().GetInt32Slice(containerd_flags.GPUsFlag.Full) noPivot, _ := cmd.Flags().GetBool(runc_flags.NoPivotFlag.Full) env, _ := cmd.Flags().GetStringSlice(containerd_flags.EnvFlag.Full) snapshotter, _ := cmd.Flags().GetString(containerd_flags.SnapshotterFlag.Full) req.Type = "containerd" req.Details = &daemon.Details{Containerd: &containerd.Containerd{ ID: id, Address: address, Namespace: namespace, GPUs: gpus, NoPivot: noPivot, Args: procArgs, Env: env, Snapshotter: snapshotter, }} if image != "" { req.Details.Containerd.Image = &containerd.Image{Name: image} } return nil }, }
View Source
var UnfreezeCmd = &cobra.Command{ Use: "containerd <container-id>", Short: "Unfreeze a containerd container", Long: "Unfreeze a containerd container", Args: cobra.ArbitraryArgs, RunE: func(cmd *cobra.Command, args []string) error { req, ok := cmd.Context().Value(keys.UNFREEZE_REQ_CONTEXT_KEY).(*daemon.DumpReq) if !ok { return fmt.Errorf("invalid unfreeze request in context") } var id string if len(args) > 0 { id = args[0] } image, _ := cmd.Flags().GetString(containerd_flags.ImageFlag.Full) address, _ := cmd.Flags().GetString(containerd_flags.AddressFlag.Full) namespace, _ := cmd.Flags().GetString(containerd_flags.NamespaceFlag.Full) req.Type = "containerd" req.Details = &daemon.Details{Containerd: &containerd.Containerd{ ID: id, Address: address, Namespace: namespace, }} if image != "" { req.Details.Containerd.Image = &containerd.Image{Name: image} } return nil }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.