Add --tls-verify, --cert-dir, and --quiet flags to kpod pull

Signed-off-by: umohnani8 <umohnani@redhat.com>
This commit is contained in:
umohnani8 2017-10-25 09:59:28 -04:00
parent 8d78e3cfac
commit f9992d71a3
5 changed files with 58 additions and 10 deletions

View file

@ -90,14 +90,14 @@ func loadCmd(c *cli.Context) error {
}
}
var output io.Writer
var writer io.Writer
if !c.Bool("quiet") {
output = os.Stdout
writer = os.Stdout
}
options := libpod.CopyOptions{
SignaturePolicyPath: c.String("signature-policy"),
Writer: output,
Writer: writer,
}
src := libpod.DockerArchive + ":" + input

View file

@ -2,6 +2,7 @@ package main
import (
"fmt"
"io"
"os"
"golang.org/x/crypto/ssh/terminal"
@ -16,18 +17,30 @@ import (
var (
pullFlags = []cli.Flag{
cli.StringFlag{
Name: "signature-policy",
Usage: "`pathname` of signature policy file (not usually used)",
},
cli.StringFlag{
Name: "authfile",
Usage: "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json",
},
cli.StringFlag{
Name: "cert-dir",
Usage: "`pathname` of a directory containing TLS certificates and keys",
},
cli.StringFlag{
Name: "creds",
Usage: "`credentials` (USERNAME:PASSWORD) to use for authenticating to a registry",
},
cli.BoolFlag{
Name: "quiet, q",
Usage: "Suppress output information when pulling images",
},
cli.StringFlag{
Name: "signature-policy",
Usage: "`pathname` of signature policy file (not usually used)",
},
cli.BoolTFlag{
Name: "tls-verify",
Usage: "require HTTPS and verify certificates when contacting registries (default: true)",
},
}
pullDescription = "Pulls an image from a registry and stores it locally.\n" +
@ -84,13 +97,20 @@ func pullCmd(c *cli.Context) error {
registryCreds = creds
}
var writer io.Writer
if !c.Bool("quiet") {
writer = os.Stdout
}
options := libpod.CopyOptions{
SignaturePolicyPath: c.String("signature-policy"),
AuthFile: c.String("authfile"),
DockerRegistryOptions: common.DockerRegistryOptions{
DockerRegistryCreds: registryCreds,
DockerRegistryCreds: registryCreds,
DockerCertPath: c.String("cert-dir"),
DockerInsecureSkipTLSVerify: !c.BoolT("tls-verify"),
},
Writer: os.Stdout,
Writer: writer,
}
return runtime.PullImage(image, options)