diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index 6a565a002871..4e03161b84d6 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -96,6 +96,9 @@ var ( apiServerNames []string apiServerIPs []net.IP extraOptions pkgutil.ExtraOptionSlice + + // proxyVars are variables we plumb through to the underlying container runtime + proxyVars = []string{"HTTP_PROXY", "HTTPS_PROXY", "NO_PROXY"} ) func init() { @@ -265,6 +268,17 @@ func generateConfig(cmd *cobra.Command, kVersion string) (cfg.Config, error) { } } + // Feed Docker our host proxy environment by default, so that it can pull images + if _, ok := r.(*cruntime.Docker); ok { + if !cmd.Flags().Changed("docker-env") { + for _, k := range proxyVars { + if v := os.Getenv(k); v != "" { + dockerEnv = append(dockerEnv, fmt.Sprintf("%s=%s", k, v)) + } + } + } + } + cfg := cfg.Config{ MachineConfig: cfg.MachineConfig{ MinikubeISO: viper.GetString(isoURL), @@ -371,7 +385,7 @@ func validateNetwork(h *host.Host) string { console.OutStyle("connectivity", "%q IP address is %s", cfg.GetMachineName(), ip) optSeen := false - for _, k := range []string{"HTTP_PROXY", "HTTPS_PROXY", "NO_PROXY"} { + for _, k := range proxyVars { if v := os.Getenv(k); v != "" { if !optSeen { console.OutStyle("internet", "Found network options:") diff --git a/deploy/iso/minikube-iso/package/Config.in b/deploy/iso/minikube-iso/package/Config.in index c8958a279698..ba272fea468c 100644 --- a/deploy/iso/minikube-iso/package/Config.in +++ b/deploy/iso/minikube-iso/package/Config.in @@ -1,5 +1,6 @@ menu "System tools" source "$BR2_EXTERNAL_MINIKUBE_PATH/package/rkt-bin/Config.in" + source "$BR2_EXTERNAL_MINIKUBE_PATH/package/rktlet-master/Config.in" source "$BR2_EXTERNAL_MINIKUBE_PATH/package/runc-master/Config.in" source "$BR2_EXTERNAL_MINIKUBE_PATH/package/podman/Config.in" source "$BR2_EXTERNAL_MINIKUBE_PATH/package/crio-bin/Config.in" diff --git a/deploy/iso/minikube-iso/package/crio-bin/crio-bin.hash b/deploy/iso/minikube-iso/package/crio-bin/crio-bin.hash index 2e0f76e2084e..67943232c223 100644 --- a/deploy/iso/minikube-iso/package/crio-bin/crio-bin.hash +++ b/deploy/iso/minikube-iso/package/crio-bin/crio-bin.hash @@ -2,3 +2,4 @@ sha256 d310d52706262009af886dbd3e8dcd09a339cdc3b57dc22a9121e6d6a87d2921 v1.8.4.t sha256 9f79cee99e272c9cfc561ae31235d84d4da59fd5c8b3d3ab6623bf9a92d90c5a v1.10.0.tar.gz sha256 09e53fd550f4f10108879131ee6b8ef1c367ce71a73dcf6350c4cc898751d8c1 v1.11.8.tar.gz sha256 92588998dbb79002c38f65f84602b5659f0d0ef1cd36b1a568a2e40269b66816 v1.13.0.tar.gz +sha256 48e7cf64a757d62a3edf214e1b93b74d99f090ca924f956ede2494a260eab2db v1.13.1.tar.gz diff --git a/deploy/iso/minikube-iso/package/crio-bin/crio-bin.mk b/deploy/iso/minikube-iso/package/crio-bin/crio-bin.mk index 0506b65b4ce5..3bd741cda731 100644 --- a/deploy/iso/minikube-iso/package/crio-bin/crio-bin.mk +++ b/deploy/iso/minikube-iso/package/crio-bin/crio-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -CRIO_BIN_VERSION = v1.13.0 +CRIO_BIN_VERSION = v1.13.1 CRIO_BIN_SITE = https://github.com/kubernetes-sigs/cri-o/archive CRIO_BIN_SOURCE = $(CRIO_BIN_VERSION).tar.gz CRIO_BIN_DEPENDENCIES = host-go libgpgme @@ -24,7 +24,6 @@ endef define CRIO_BIN_CONFIGURE_CMDS mkdir -p $(CRIO_BIN_GOPATH)/src/github.com/kubernetes-sigs ln -sf $(@D) $(CRIO_BIN_GOPATH)/src/github.com/kubernetes-sigs/cri-o - $(CRIO_BIN_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) install.tools DESTDIR=$(TARGET_DIR) PREFIX=$(TARGET_DIR)/usr endef define CRIO_BIN_BUILD_CMDS diff --git a/deploy/iso/minikube-iso/package/podman/podman.mk b/deploy/iso/minikube-iso/package/podman/podman.mk index 86addddc0ba9..539d5192806f 100644 --- a/deploy/iso/minikube-iso/package/podman/podman.mk +++ b/deploy/iso/minikube-iso/package/podman/podman.mk @@ -20,7 +20,6 @@ define PODMAN_CONFIGURE_CMDS ln -sf $(@D) $(PODMAN_GOPATH)/src/github.com/containers/libpod mkdir -p $(PODMAN_GOPATH)/src/github.com/varlink ln -sf $(@D)/vendor/github.com/varlink/go $(PODMAN_GOPATH)/src/github.com/varlink/go - $(PODMAN_BIN_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) install.tools DESTDIR=$(TARGET_DIR) PREFIX=$(TARGET_DIR)/usr endef define PODMAN_BUILD_CMDS diff --git a/deploy/iso/minikube-iso/package/rkt-bin/rkt-bin.hash b/deploy/iso/minikube-iso/package/rkt-bin/rkt-bin.hash index 871e8b2c8999..37735e8ade6f 100644 --- a/deploy/iso/minikube-iso/package/rkt-bin/rkt-bin.hash +++ b/deploy/iso/minikube-iso/package/rkt-bin/rkt-bin.hash @@ -4,4 +4,6 @@ sha256 2c00e816a5b470f29483d9660bd62e80da8f14e2a0ba79c841e15e1a28fbf975 rkt-v1. sha256 5aa2c2ac71f21bf3fc8a94b1bdd0b2c0f4060ad9054502b0a693f4632b093c2e rkt-v1.23.0.tar.gz.asc sha256 0ec396f1af7782e402d789e6e34e9257033efac5db71d740f9742f3469d02298 rkt-v1.24.0.tar.gz sha256 577a7a7e3512c0116b3642c710304d4f36a1f66c7e34ec8753dae168a29761e3 rkt-v1.24.0.tar.gz.asc +sha256 f6a51fe1d11aaecef965cca729f260f9ea691f6576e8698b49a2daedfc48c427 rkt-v1.30.0.tar.gz +sha256 874d8bcf9dd09599b2d090259485a49a6c1f4a74f55065dec8ac37e283c27592 rkt-v1.30.0.tar.gz.asc sha256 16b93904e4b3133fe4b5f95f46e3db998c3b2f9d9cee6d4c2eb531f98028bcb3 app-signing-pubkey.gpg diff --git a/deploy/iso/minikube-iso/package/rkt-bin/rkt-bin.mk b/deploy/iso/minikube-iso/package/rkt-bin/rkt-bin.mk index 255b3298d033..99d064ceb16d 100644 --- a/deploy/iso/minikube-iso/package/rkt-bin/rkt-bin.mk +++ b/deploy/iso/minikube-iso/package/rkt-bin/rkt-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -RKT_BIN_VERSION = 1.24.0 +RKT_BIN_VERSION = 1.30.0 RKT_BIN_SITE = https://github.com/coreos/rkt/releases/download/v$(RKT_BIN_VERSION) RKT_BIN_SOURCE = rkt-v$(RKT_BIN_VERSION).tar.gz diff --git a/deploy/iso/minikube-iso/package/rktlet-master/Config.in b/deploy/iso/minikube-iso/package/rktlet-master/Config.in new file mode 100644 index 000000000000..b95d15e3939f --- /dev/null +++ b/deploy/iso/minikube-iso/package/rktlet-master/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_RKTLET_MASTER + bool "rktlet-master" + default y + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + help + The rkt implementation of the Kubernetes + Container Runtime Interface. + + https://github.com/kubernetes-incubator/rktlet + +comment "rktlet needs a toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS && \ + BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/deploy/iso/minikube-iso/package/rktlet-master/fd7fc6bf4a25f03c22e5f6e30f3d9f12c468afcb.tar.gz b/deploy/iso/minikube-iso/package/rktlet-master/fd7fc6bf4a25f03c22e5f6e30f3d9f12c468afcb.tar.gz new file mode 100644 index 000000000000..8cc4a9d5b76d Binary files /dev/null and b/deploy/iso/minikube-iso/package/rktlet-master/fd7fc6bf4a25f03c22e5f6e30f3d9f12c468afcb.tar.gz differ diff --git a/deploy/iso/minikube-iso/package/rktlet-master/rktlet-master.hash b/deploy/iso/minikube-iso/package/rktlet-master/rktlet-master.hash new file mode 100644 index 000000000000..5d60a49a0a3d --- /dev/null +++ b/deploy/iso/minikube-iso/package/rktlet-master/rktlet-master.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 12254af0f8d9b1f653f20e943dbbda42b74f6eafe7331db74a32857e44efdc6f fd7fc6bf4a25f03c22e5f6e30f3d9f12c468afcb.tar.gz diff --git a/deploy/iso/minikube-iso/package/rktlet-master/rktlet-master.mk b/deploy/iso/minikube-iso/package/rktlet-master/rktlet-master.mk new file mode 100644 index 000000000000..032999c872c5 --- /dev/null +++ b/deploy/iso/minikube-iso/package/rktlet-master/rktlet-master.mk @@ -0,0 +1,59 @@ +################################################################################ +# +# rktlet +# +################################################################################ + +# HEAD as of 2018-05-28 +RKTLET_MASTER_COMMIT = fd7fc6bf4a25f03c22e5f6e30f3d9f12c468afcb +RKTLET_MASTER_VERSION = v0.1.0-21-gfd7fc6b +RKTLET_MASTER_SITE = https://github.com/kubernetes-incubator/rktlet/archive +RKTLET_MASTER_SOURCE = $(RKTLET_MASTER_COMMIT).tar.gz +RKTLET_MASTER_LICENSE = Apache-2.0 +RKTLET_MASTER_LICENSE_FILES = LICENSE + +RKTLET_MASTER_DEPENDENCIES = host-go + +RKTLET_MASTER_GOPATH = "$(@D)/Godeps/_workspace" +RKTLET_MASTER_MAKE_ENV = $(HOST_GO_TARGET_ENV) \ + CGO_ENABLED=1 \ + GOBIN="$(@D)/bin" \ + GOPATH="$(RKTLET_MASTER_GOPATH)" \ + PATH=$(BR_PATH) + +RKTLET_MASTER_GLDFLAGS = \ + -buildmode=pie -X github.com/kubernetes-incubator/rktlet/version.Version=$(RKTLET_MASTER_VERSION) + +ifeq ($(BR2_STATIC_LIBS),y) +RKTLET_MASTER_GLDFLAGS += -extldflags '-static' +endif + +RKTLET_MASTER_GOTAGS = cgo static_build + +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +RKTLET_MASTER_GOTAGS += seccomp +RKTLET_MASTER_DEPENDENCIES += libseccomp host-pkgconf +endif + +define RKTLET_MASTER_CONFIGURE_CMDS + mkdir -p $(RKTLET_MASTER_GOPATH)/src/github.com/kubernetes-incubator + ln -s $(@D) $(RKTLET_MASTER_GOPATH)/src/github.com/kubernetes-incubator/rktlet +endef + +define RKTLET_MASTER_BUILD_CMDS + cd $(@D) && $(RKTLET_MASTER_MAKE_ENV) $(HOST_DIR)/usr/bin/go \ + build -v -o $(@D)/bin/rktlet \ + -tags "$(RKTLET_MASTER_GOTAGS)" -ldflags "$(RKTLET_MASTER_GLDFLAGS)" github.com/kubernetes-incubator/rktlet/cmd/server +endef + +define RKTLET_MASTER_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/bin/rktlet $(TARGET_DIR)/usr/bin/rktlet +endef + +define RKTLET_MASTER_INSTALL_INIT_SYSTEMD + $(INSTALL) -Dm644 \ + $(BR2_EXTERNAL_MINIKUBE_PATH)/package/rktlet-master/rktlet.service \ + $(TARGET_DIR)/usr/lib/systemd/system/rktlet.service +endef + +$(eval $(generic-package)) diff --git a/deploy/iso/minikube-iso/package/rktlet-master/rktlet.service b/deploy/iso/minikube-iso/package/rktlet-master/rktlet.service new file mode 100644 index 000000000000..d7720c3039c9 --- /dev/null +++ b/deploy/iso/minikube-iso/package/rktlet-master/rktlet.service @@ -0,0 +1,12 @@ +[Unit] +Description=rktlet: The rkt implementation of a Kubernetes Container Runtime +Documentation=https://github.com/kubernetes-incubator/rktlet/tree/master/docs + +[Service] +ExecStart=/usr/bin/rktlet +Restart=always +StartLimitInterval=0 +RestartSec=10 + +[Install] +WantedBy=multi-user.target