func NewCommand()

in kinder/cmd/kinder/build/nodevariant/nodevariant.go [41:104]


func NewCommand() *cobra.Command {
	flags := &flagpole{}
	cmd := &cobra.Command{
		Args:    cobra.NoArgs,
		Use:     "node-image-variant",
		Aliases: []string{"node-variant", "variant", "nv"},
		Short:   "build the node image variant",
		Long:    "build the variant for a node image by adding packages, images or replacing the kubeadm binary",
		RunE: func(cmd *cobra.Command, args []string) error {
			return runE(flags, cmd, args)
		},
	}
	cmd.Flags().StringVar(
		&flags.Image, "image",
		constants.DefaultNodeImage,
		"name:tag of the resulting image to be built",
	)
	cmd.Flags().StringVar(
		&flags.BaseImage, "base-image",
		constants.DefaultBaseImage,
		"name:tag of the source image; this can be a kindest/base image or kindest/node image",
	)
	cmd.Flags().StringVar(
		&flags.InitArtifacts, "with-init-artifacts",
		"",
		"version/build-label/path to a folder with Kubernetes binaries & image tarballs to be used for the kubeadm init workflow",
	)
	cmd.Flags().StringSliceVar(
		&flags.ImageTars, "with-images",
		nil,
		"version/build-label/path to images tar or folder with images tars to be added to the images",
	)
	cmd.Flags().StringVar(
		&flags.ImageNamePrefix, "image-name-prefix",
		"",
		"add a name prefix to images tars included in the image",
	)
	cmd.Flags().StringVar(
		&flags.UpgradeArtifacts, "with-upgrade-artifacts",
		"",
		"version/build-label/path to a folder with Kubernetes binaries & image tarballs to be used for testing the kubeadm-upgrade workflow",
	)
	cmd.Flags().StringVar(
		&flags.Kubeadm, "with-kubeadm",
		"",
		"override the kubeadm binary existing in the image with the given version/build-label/file or folder containing the kubeadm binary",
	)
	cmd.Flags().StringVar(
		&flags.Kubelet, "with-kubelet",
		"",
		"override the kubeadm binary existing in the image with the given version/build-label/file or folder containing the kubelet binary",
	)
	cmd.Flags().BoolVar(
		&flags.PrePullAdditionalImages, "with-kubeadm-additional-images",
		true,
		"pre-pull kubeadm additional required images such as etcd, coredns and pause, etc",
	)
	cmd.Flags().StringSliceVar(
		&flags.Path, "with-path",
		nil,
		"sourcePath:destPath pairs; copies file/dir at sourcePath on the host to destPath inside the image, destPath has to be absolute",
	)
	return cmd
}