mirror of https://github.com/docker/buildx.git
52 lines
1.4 KiB
Go
52 lines
1.4 KiB
Go
|
package commands
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
|
||
|
"github.com/docker/cli/cli"
|
||
|
"github.com/docker/cli/cli/command"
|
||
|
"github.com/spf13/cobra"
|
||
|
)
|
||
|
|
||
|
type createOptions struct {
|
||
|
name string
|
||
|
driver string
|
||
|
nodeName string
|
||
|
platform []string
|
||
|
actionAppend bool
|
||
|
actionLeave bool
|
||
|
// upgrade bool // perform upgrade of the driver
|
||
|
}
|
||
|
|
||
|
func runCreate(dockerCli command.Cli, in createOptions) error {
|
||
|
fmt.Printf("%+v\n", in)
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func createCmd(dockerCli command.Cli) *cobra.Command {
|
||
|
var options createOptions
|
||
|
|
||
|
cmd := &cobra.Command{
|
||
|
Use: "create [OPTIONS] [CONTEXT|ENDPOINT]",
|
||
|
Short: "Create a new builder instance",
|
||
|
Args: cli.RequiresMaxArgs(1),
|
||
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||
|
return runCreate(dockerCli, options)
|
||
|
},
|
||
|
}
|
||
|
|
||
|
flags := cmd.Flags()
|
||
|
|
||
|
flags.StringVar(&options.name, "name", "", "Builder instance name")
|
||
|
flags.StringVar(&options.driver, "driver", "", "Driver to use (eg. docker-container)")
|
||
|
flags.StringVar(&options.nodeName, "node", "", "Create/modify node with given name")
|
||
|
flags.StringArrayVar(&options.platform, "platform", []string{}, "Fixed platforms for current node")
|
||
|
|
||
|
flags.BoolVar(&options.actionAppend, "append", false, "Append a node to builder instead of changing it")
|
||
|
flags.BoolVar(&options.actionLeave, "leave", false, "Remove a node from builder instead of changing it")
|
||
|
|
||
|
_ = flags
|
||
|
|
||
|
return cmd
|
||
|
}
|