Add support for insecure docker registry (#131)

* Add support for insecure docker registry

Using --insecure-skip-tls-verify

Fixes #110

* Apply formatting
This commit is contained in:
Carlos Sanchez 2018-04-20 19:47:06 +02:00 committed by dlorenc
parent 3d84cf39fa
commit 08ce2a0724
3 changed files with 15 additions and 12 deletions

View File

@ -32,13 +32,14 @@ import (
)
var (
dockerfilePath string
destination string
srcContext string
snapshotMode string
bucket string
logLevel string
force bool
dockerfilePath string
destination string
srcContext string
snapshotMode string
bucket string
dockerInsecureSkipTLSVerify bool
logLevel string
force bool
)
func init() {
@ -47,6 +48,7 @@ func init() {
RootCmd.PersistentFlags().StringVarP(&bucket, "bucket", "b", "", "Name of the GCS bucket from which to access build context as tarball.")
RootCmd.PersistentFlags().StringVarP(&destination, "destination", "d", "", "Registry the final image should be pushed to (ex: gcr.io/test/example:latest)")
RootCmd.PersistentFlags().StringVarP(&snapshotMode, "snapshotMode", "", "full", "Set this flag to change the file attributes inspected during snapshotting")
RootCmd.PersistentFlags().BoolVarP(&dockerInsecureSkipTLSVerify, "insecure-skip-tls-verify", "", false, "Push to insecure registry ignoring TLS verify")
RootCmd.PersistentFlags().StringVarP(&logLevel, "verbosity", "v", constants.DefaultLogLevel, "Log level (debug, info, warn, error, fatal, panic")
RootCmd.PersistentFlags().BoolVarP(&force, "force", "", false, "Force building outside of a container")
}
@ -70,7 +72,7 @@ var RootCmd = &cobra.Command{
}
logrus.Warn("kaniko is being run outside of a container. This can have dangerous effects on your system")
}
if err := executor.DoBuild(dockerfilePath, srcContext, destination, snapshotMode); err != nil {
if err := executor.DoBuild(dockerfilePath, srcContext, destination, snapshotMode, dockerInsecureSkipTLSVerify); err != nil {
logrus.Error(err)
os.Exit(1)
}

View File

@ -32,7 +32,7 @@ import (
"github.com/sirupsen/logrus"
)
func DoBuild(dockerfilePath, srcContext, destination, snapshotMode string) error {
func DoBuild(dockerfilePath, srcContext, destination, snapshotMode string, dockerInsecureSkipTLSVerify bool) error {
// Parse dockerfile and unpack base image to root
d, err := ioutil.ReadFile(dockerfilePath)
if err != nil {
@ -113,7 +113,7 @@ func DoBuild(dockerfilePath, srcContext, destination, snapshotMode string) error
if err := setDefaultEnv(); err != nil {
return err
}
return image.PushImage(sourceImage, destination)
return image.PushImage(sourceImage, destination, dockerInsecureSkipTLSVerify)
}
func getHasher(snapshotMode string) (func(string) (string, error), error) {

View File

@ -48,7 +48,7 @@ func NewSourceImage(srcImg string) (*img.MutableSource, error) {
}
// PushImage pushes the final image
func PushImage(ms *img.MutableSource, destImg string) error {
func PushImage(ms *img.MutableSource, destImg string, dockerInsecureSkipTLSVerify bool) error {
srcRef := &img.ProxyReference{
ImageReference: nil,
Src: ms,
@ -65,7 +65,8 @@ func PushImage(ms *img.MutableSource, destImg string) error {
opts := &copy.Options{
DestinationCtx: &types.SystemContext{
DockerRegistryUserAgent: fmt.Sprintf("kaniko/executor-%s", version.Version()),
DockerRegistryUserAgent: fmt.Sprintf("kaniko/executor-%s", version.Version()),
DockerInsecureSkipTLSVerify: dockerInsecureSkipTLSVerify,
},
}
return copy.Image(policyContext, destRef, srcRef, opts)