Skip to content

Commit b0cc38c

Browse files
authored
Merge pull request crossplane#6303 from LukeTimeWalker/implement-insecure-skip-tls-verify-flag-for-xpkg-push-command
Honor --insecure-skip-tls-verify flag for crossplane xpkg push command
2 parents f5d7f90 + f194d52 commit b0cc38c

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

cmd/crank/xpkg/push.go

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ package xpkg
1818

1919
import (
2020
"context"
21+
"crypto/tls"
2122
"fmt"
23+
"net/http"
2224
"os"
2325
"path/filepath"
2426

@@ -129,6 +131,17 @@ func (c *pushCmd) Run(logger logging.Logger) error { //nolint:gocognit // This f
129131
authn.DefaultKeychain,
130132
)
131133

134+
t := &http.Transport{
135+
TLSClientConfig: &tls.Config{
136+
InsecureSkipVerify: upCtx.InsecureSkipTLSVerify, //nolint:gosec // we need to support insecure connections if requested
137+
},
138+
}
139+
140+
options := []remote.Option{
141+
remote.WithAuthFromKeychain(kc),
142+
remote.WithTransport(t),
143+
}
144+
132145
// If there's only one package file, handle the simple path.
133146
if len(c.PackageFiles) == 1 {
134147
img, err := tarball.ImageFromPath(c.PackageFiles[0], nil)
@@ -139,7 +152,7 @@ func (c *pushCmd) Run(logger logging.Logger) error { //nolint:gocognit // This f
139152
if err != nil {
140153
return errors.Wrapf(err, errAnnotateLayers)
141154
}
142-
if err := remote.Write(tag, img, remote.WithAuthFromKeychain(kc)); err != nil {
155+
if err := remote.Write(tag, img, options...); err != nil {
143156
return errors.Wrapf(err, errFmtPushPackage, c.PackageFiles[0])
144157
}
145158
logger.Debug("Pushed package", "path", c.PackageFiles[0], "ref", tag.String())
@@ -194,7 +207,7 @@ func (c *pushCmd) Run(logger logging.Logger) error { //nolint:gocognit // This f
194207
},
195208
},
196209
}
197-
if err := remote.Write(ref, img, remote.WithAuthFromKeychain(kc), remote.WithContext(ctx)); err != nil {
210+
if err := remote.Write(ref, img, append(options, remote.WithContext(ctx))...); err != nil {
198211
return errors.Wrapf(err, errFmtPushPackage, file)
199212
}
200213
logger.Debug("Pushed package", "path", file, "ref", ref.String())
@@ -206,7 +219,7 @@ func (c *pushCmd) Run(logger logging.Logger) error { //nolint:gocognit // This f
206219
return err
207220
}
208221

209-
if err := remote.WriteIndex(tag, mutate.AppendManifests(empty.Index, adds...), remote.WithAuthFromKeychain(kc)); err != nil {
222+
if err := remote.WriteIndex(tag, mutate.AppendManifests(empty.Index, adds...), options...); err != nil {
210223
return errors.Wrapf(err, errFmtWriteIndex, len(adds))
211224
}
212225
logger.Debug("Wrote OCI index", "ref", tag.String(), "manifests", len(adds))

0 commit comments

Comments
 (0)