2016-05-05 13:38:23 +00:00
# Copyright 2016 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
2016-08-12 22:46:22 +00:00
# Bump these on release
2016-09-07 23:44:01 +00:00
VERSION_MAJOR ?= 0
2018-01-24 18:02:44 +00:00
VERSION_MINOR ?= 25
VERSION_BUILD ?= 0
2016-09-07 23:44:01 +00:00
VERSION ?= v$( VERSION_MAJOR) .$( VERSION_MINOR) .$( VERSION_BUILD)
DEB_VERSION ?= $( VERSION_MAJOR) .$( VERSION_MINOR) -$( VERSION_BUILD)
INSTALL_SIZE ?= $( shell du out/minikube-windows-amd64.exe | cut -f1)
2017-12-04 18:43:14 +00:00
BUILDROOT_BRANCH ?= 2017.11
2017-02-08 19:10:12 +00:00
REGISTRY ?= gcr.io/k8s-minikube
2017-06-28 20:47:54 +00:00
2017-10-24 17:18:25 +00:00
HYPERKIT_BUILD_IMAGE ?= karalabe/xgo-1.8.3
2017-12-22 17:55:16 +00:00
BUILD_IMAGE ?= k8s.gcr.io/kube-cross:v1.9.1-1
2017-03-22 18:00:17 +00:00
ISO_BUILD_IMAGE ?= $( REGISTRY) /buildroot-image
2016-05-28 19:41:45 +00:00
2018-01-04 20:24:04 +00:00
ISO_VERSION ?= v0.25.1
2017-02-10 22:43:54 +00:00
ISO_BUCKET ?= minikube/iso
2017-02-03 19:59:40 +00:00
2017-12-04 18:47:19 +00:00
KERNEL_VERSION ?= 4.9.64
2016-05-04 21:29:13 +00:00
GOOS ?= $( shell go env GOOS)
GOARCH ?= $( shell go env GOARCH)
BUILD_DIR ?= ./out
2017-10-19 15:00:56 +00:00
$( shell mkdir -p $ ( BUILD_DIR ) )
2016-07-14 18:36:05 +00:00
ORG := k8s.io
REPOPATH ?= $( ORG) /minikube
2016-05-14 17:27:58 +00:00
2016-05-27 04:58:12 +00:00
# Use system python if it exists, otherwise use Docker.
2016-06-23 17:50:09 +00:00
PYTHON := $( shell command -v python || echo " docker run --rm -it -v $( shell pwd ) :/minikube -w /minikube python python " )
2016-05-30 17:50:06 +00:00
BUILD_OS := $( shell uname -s)
2016-05-28 19:41:45 +00:00
2016-11-29 19:55:49 +00:00
LOCALKUBE_VERSION := $( shell $( PYTHON) hack/get_k8s_version.py --k8s-version-only 2>& 1)
2017-05-11 17:51:47 +00:00
LOCALKUBE_BUCKET ?= minikube/k8sReleases
LOCALKUBE_UPLOAD_LOCATION := gs://${ LOCALKUBE_BUCKET }
2017-02-08 19:10:12 +00:00
TAG ?= $( LOCALKUBE_VERSION)
2017-11-07 21:55:37 +00:00
STORAGE_PROVISIONER_TAG := v1.8.1
2016-11-29 19:55:49 +00:00
2016-05-25 20:23:12 +00:00
# Set the version information for the Kubernetes servers, and build localkube statically
2016-05-28 14:50:36 +00:00
K8S_VERSION_LDFLAGS := $( shell $( PYTHON) hack/get_k8s_version.py 2>& 1)
2017-02-10 22:43:54 +00:00
MINIKUBE_LDFLAGS := -X k8s.io/minikube/pkg/version.version= $( VERSION) -X k8s.io/minikube/pkg/version.isoVersion= $( ISO_VERSION) -X k8s.io/minikube/pkg/version.isoPath= $( ISO_BUCKET)
2016-05-28 14:50:36 +00:00
LOCALKUBE_LDFLAGS := " $( K8S_VERSION_LDFLAGS) $( MINIKUBE_LDFLAGS) -s -w -extldflags '-static' "
2016-05-15 16:17:42 +00:00
2016-10-29 16:54:48 +00:00
LOCALKUBEFILES := GOPATH = $( GOPATH) go list -f '{{join .Deps "\n"}}' ./cmd/localkube/ | grep k8s.io | GOPATH = $( GOPATH) xargs go list -f '{{ range $$file := .GoFiles }} {{$$.Dir}}/{{$$file}}{{"\n"}}{{end}}'
MINIKUBEFILES := GOPATH = $( GOPATH) go list -f '{{join .Deps "\n"}}' ./cmd/minikube/ | grep k8s.io | GOPATH = $( GOPATH) xargs go list -f '{{ range $$file := .GoFiles }} {{$$.Dir}}/{{$$file}}{{"\n"}}{{end}}'
2017-08-23 16:43:11 +00:00
HYPERKIT_FILES := GOPATH = $( GOPATH) go list -f '{{join .Deps "\n"}}' k8s.io/minikube/cmd/drivers/hyperkit | grep k8s.io | GOPATH = $( GOPATH) xargs go list -f '{{ range $$file := .GoFiles }} {{$$.Dir}}/{{$$file}}{{"\n"}}{{end}}'
2017-11-01 17:47:08 +00:00
STORAGE_PROVISIONER_FILES := GOPATH = $( GOPATH) go list -f '{{join .Deps "\n"}}' k8s.io/minikube/cmd/storage-provisioner | grep k8s.io | GOPATH = $( GOPATH) xargs go list -f '{{ range $$file := .GoFiles }} {{$$.Dir}}/{{$$file}}{{"\n"}}{{end}}'
2017-10-19 15:00:56 +00:00
MINIKUBE_TEST_FILES := go list -f '{{ if .TestGoFiles }} {{.ImportPath}} {{end}}' ./... | grep k8s.io | GOPATH = $( GOPATH) xargs go list -f '{{ range $$file := .GoFiles }} {{$$.Dir}}/{{$$file}}{{"\n"}}{{end}}'
2017-06-28 20:47:54 +00:00
2017-10-19 15:00:56 +00:00
KVM_DRIVER_FILES := $( shell go list -f '{{join .Deps "\n"}}' ./cmd/drivers/kvm/ | grep k8s.io | xargs go list -f '{{ range $$file := .GoFiles }} {{$$.Dir}}/{{$$file}}{{"\n"}}{{end}}' )
2017-07-13 16:01:43 +00:00
2017-09-06 23:22:49 +00:00
MINIKUBE_BUILD_TAGS := container_image_ostree_stub containers_image_openpgp
MINIKUBE_INTEGRATION_BUILD_TAGS := integration $( MINIKUBE_BUILD_TAGS)
2018-02-11 18:07:52 +00:00
SOURCE_DIRS = cmd pkg test
2017-09-06 23:22:49 +00:00
2017-10-19 20:08:53 +00:00
# $(call DOCKER, image, command)
d e f i n e D O C K E R
docker run --rm -e IN_DOCKER = 1 --user $( shell id -u) :$( shell id -g) -w /go/src/$( REPOPATH) -v $( GOPATH) :/go --entrypoint /bin/bash $( 1) -c '$(2)'
2017-06-28 20:47:54 +00:00
e n d e f
i f e q ( $( BUILD_IN_DOCKER ) , y )
MINIKUBE_BUILD_IN_DOCKER = y
LOCALKUBE_BUILD_IN_DOCKER = y
e n d i f
# If not on linux, localkube must be built in docker
i f n e q ( $( BUILD_OS ) , L i n u x )
LOCALKUBE_BUILD_IN_DOCKER = y
e n d i f
2017-10-03 23:27:52 +00:00
# If we are already running in docker,
2017-06-28 20:47:54 +00:00
# prevent recursion by unsetting the BUILD_IN_DOCKER directives.
# The _BUILD_IN_DOCKER variables should not be modified after this conditional.
i f e q ( $( IN_DOCKER ) , 1 )
MINIKUBE_BUILD_IN_DOCKER = n
LOCALKUBE_BUILD_IN_DOCKER = n
e n d i f
2016-09-14 21:01:33 +00:00
i f e q ( $( GOOS ) , w i n d o w s )
IS_EXE = ".exe"
e n d i f
2017-07-24 18:20:28 +00:00
out/minikube$(IS_EXE) : gopath out /minikube -$( GOOS ) -$( GOARCH ) $( IS_EXE )
2017-06-28 20:47:54 +00:00
cp $( BUILD_DIR) /minikube-$( GOOS) -$( GOARCH) $( BUILD_DIR) /minikube$( IS_EXE)
2016-05-04 21:29:13 +00:00
2017-06-20 21:29:51 +00:00
out/localkube : $( shell $ ( LOCALKUBEFILES ) )
2017-06-28 20:47:54 +00:00
i f e q ( $( LOCALKUBE_BUILD_IN_DOCKER ) , y )
2017-10-19 20:08:53 +00:00
$( call DOCKER,$( BUILD_IMAGE) ,/usr/bin/make $@ )
2016-05-12 18:44:32 +00:00
e l s e
2017-08-19 23:28:52 +00:00
CGO_ENABLED = 1 go build -tags static_build -ldflags= $( LOCALKUBE_LDFLAGS) -o $( BUILD_DIR) /localkube ./cmd/localkube
2016-05-12 18:44:32 +00:00
e n d i f
2016-05-04 21:29:13 +00:00
2017-06-28 20:47:54 +00:00
out/minikube-windows-amd64.exe : out /minikube -windows -amd 64
2017-09-18 17:56:53 +00:00
cp out/minikube-windows-amd64 out/minikube-windows-amd64.exe
2017-06-28 20:47:54 +00:00
out/minikube-%-amd64 : pkg /minikube /assets /assets .go $( shell $ ( MINIKUBEFILES ) )
i f e q ( $( MINIKUBE_BUILD_IN_DOCKER ) , y )
2017-10-30 17:03:25 +00:00
$( call DOCKER,$( BUILD_IMAGE) ,/usr/bin/make $@ )
2017-02-24 19:03:30 +00:00
e l s e
2017-10-30 17:03:25 +00:00
GOOS = $* go build -tags " $( MINIKUBE_BUILD_TAGS) " -ldflags= " $( MINIKUBE_LDFLAGS) $( K8S_VERSION_LDFLAGS) " -a -o $@ k8s.io/minikube/cmd/minikube
2017-02-24 19:03:30 +00:00
e n d i f
2016-07-15 19:59:48 +00:00
2017-08-23 22:01:52 +00:00
.PHONY : e 2e -%-amd 64
2017-10-05 18:55:35 +00:00
e2e-%-amd64 : out /minikube -%-amd 64
2017-09-06 23:22:49 +00:00
GOOS = $* GOARCH = amd64 go test -c k8s.io/minikube/test/integration --tags= " $( MINIKUBE_INTEGRATION_BUILD_TAGS) " -o out/$@
2017-08-23 22:01:52 +00:00
e2e-windows-amd64.exe : e 2e -windows -amd 64
mv $( BUILD_DIR) /e2e-windows-amd64 $( BUILD_DIR) /e2e-windows-amd64.exe
2017-08-04 20:52:09 +00:00
2017-03-22 18:00:17 +00:00
minikube_iso : # old target kept for making tests happy
2017-02-22 19:25:52 +00:00
echo $( ISO_VERSION) > deploy/iso/minikube-iso/board/coreos/minikube/rootfs-overlay/etc/VERSION
2016-11-03 21:22:44 +00:00
if [ ! -d $( BUILD_DIR) /buildroot ] ; then \
mkdir -p $( BUILD_DIR) ; \
git clone --branch= $( BUILDROOT_BRANCH) https://github.com/buildroot/buildroot $( BUILD_DIR) /buildroot; \
fi ;
$( MAKE) BR2_EXTERNAL = ../../deploy/iso/minikube-iso minikube_defconfig -C $( BUILD_DIR) /buildroot
$( MAKE) -C $( BUILD_DIR) /buildroot
2017-02-03 19:59:40 +00:00
mv $( BUILD_DIR) /buildroot/output/images/rootfs.iso9660 $( BUILD_DIR) /minikube.iso
2016-05-27 21:42:42 +00:00
2017-08-28 17:59:42 +00:00
# Change the kernel configuration for the minikube ISO
.PHONY : linux -menuconfig
linux-menuconfig :
$( MAKE) -C $( BUILD_DIR) /buildroot linux-menuconfig
$( MAKE) -C $( BUILD_DIR) /buildroot linux-savedefconfig
2017-12-04 18:47:19 +00:00
cp $( BUILD_DIR) /buildroot/output/build/linux-$( KERNEL_VERSION) /defconfig deploy/iso/minikube-iso/board/coreos/minikube/linux-4.9_defconfig
2017-08-28 17:59:42 +00:00
2017-03-22 18:00:17 +00:00
out/minikube.iso : $( shell find deploy /iso /minikube -iso -type f )
i f e q ( $( IN_DOCKER ) , 1 )
$( MAKE) minikube_iso
e l s e
2017-06-27 21:28:50 +00:00
docker run --rm --workdir /mnt --volume $( CURDIR) :/mnt $( ISO_DOCKER_EXTRA_ARGS) \
2017-03-22 18:00:17 +00:00
--user $( shell id -u) :$( shell id -g) --env HOME = /tmp --env IN_DOCKER = 1 \
$( ISO_BUILD_IMAGE) /usr/bin/make out/minikube.iso
e n d i f
2017-02-01 19:51:43 +00:00
test-iso :
go test -v $( REPOPATH) /test/integration --tags= iso --minikube-args= " --iso-url=file:// $( shell pwd ) /out/buildroot/output/images/rootfs.iso9660 "
2017-09-20 04:05:42 +00:00
.PHONY : test -pkg
test-pkg/% :
go test -v -test.timeout= 30m $( REPOPATH) /$* --tags= " $( MINIKUBE_BUILD_TAGS) "
2017-10-05 18:55:35 +00:00
.PHONY : all
2017-10-20 21:28:43 +00:00
all : cross drivers e 2e -cross images out /localkube
2017-10-05 18:55:35 +00:00
.PHONY : drivers
drivers : out /docker -machine -driver -hyperkit out /docker -machine -driver -kvm 2
.PHONY : images
images : localkube -image localkube -dind -image localkube -dind -image -devshell
gcloud docker -- push gcr.io/k8s-minikube/localkube-image:$( TAG)
gcloud docker -- push gcr.io/k8s-minikube/localkube-dind-image:$( TAG)
gcloud docker -- push gcr.io/k8s-minikube/localkube-dind-image-devshell:$( TAG)
2016-05-04 22:29:50 +00:00
.PHONY : integration
2016-05-12 18:44:32 +00:00
integration : out /minikube
2017-09-08 22:09:52 +00:00
go test -v -test.timeout= 30m $( REPOPATH) /test/integration --tags= " $( MINIKUBE_INTEGRATION_BUILD_TAGS) " $( TEST_ARGS)
2016-05-04 21:29:13 +00:00
2017-08-23 15:52:15 +00:00
.PHONY : integration -none -driver
integration-none-driver : e 2e -linux -amd 64 out /minikube -linux -amd 64
2017-09-08 22:09:52 +00:00
sudo -E out/e2e-linux-amd64 -testdata-dir "test/integration/testdata" -minikube-start-args= "--vm-driver=none" -test.v -test.timeout= 30m -binary= out/minikube-linux-amd64 $( TEST_ARGS)
2017-08-23 15:52:15 +00:00
2017-05-22 22:16:22 +00:00
.PHONY : integration -versioned
integration-versioned : out /minikube
2017-09-08 22:09:52 +00:00
go test -v -test.timeout= 30m $( REPOPATH) /test/integration --tags= " $( MINIKUBE_INTEGRATION_BUILD_TAGS) versioned " $( TEST_ARGS)
2017-05-22 22:16:22 +00:00
2016-05-04 21:29:13 +00:00
.PHONY : test
2017-10-19 15:00:56 +00:00
test : $( shell $ ( MINIKUBE_TEST_FILES ) ) pkg /minikube /assets /assets .go
2016-05-04 22:29:50 +00:00
./test.sh
2016-05-12 17:09:58 +00:00
2017-07-24 18:20:28 +00:00
.PHONY : gopath
gopath :
i f n e q ( $( GOPATH ) / s r c / $( REPOPATH ) , $( PWD ) )
$( warning Warning: Building minikube outside the GOPATH, should be $( GOPATH) /src/$( REPOPATH) but is $( PWD) )
e n d i f
2017-10-19 15:00:56 +00:00
pkg/minikube/assets/assets.go : $( GOPATH ) /bin /go -bindata $( shell find deploy /addons -type f )
$( GOPATH) /bin/go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets deploy/addons/...
2016-05-13 15:35:30 +00:00
2017-06-20 21:29:51 +00:00
$(GOPATH)/bin/go-bindata :
2016-07-07 20:07:00 +00:00
GOBIN = $( GOPATH) /bin go get github.com/jteeuwen/go-bindata/...
2016-07-04 10:10:44 +00:00
2016-07-08 16:23:03 +00:00
.PHONY : cross
2017-10-20 21:28:43 +00:00
cross : out /minikube -linux -amd 64 out /minikube -darwin -amd 64 out /minikube -windows -amd 64.exe
2016-07-08 16:23:03 +00:00
2017-08-23 22:01:52 +00:00
.PHONY : e 2e -cross
e2e-cross : e 2e -linux -amd 64 e 2e -darwin -amd 64 e 2e -windows -amd 64.exe
2017-08-04 20:52:09 +00:00
2017-02-03 19:59:40 +00:00
.PHONY : checksum
2017-05-05 00:19:06 +00:00
checksum :
2017-02-03 19:59:40 +00:00
for f in out/localkube out/minikube-linux-amd64 out/minikube-darwin-amd64 out/minikube-windows-amd64.exe out/minikube.iso; do \
2016-07-22 11:23:57 +00:00
if [ -f " $$ {f} " ] ; then \
openssl sha256 " $$ {f} " | awk '{print $$2}' > " $$ {f}.sha256 " ; \
fi ; \
done
2016-07-07 18:29:31 +00:00
.PHONY : clean
2016-07-04 10:10:44 +00:00
clean :
rm -rf $( BUILD_DIR)
2016-09-29 00:35:42 +00:00
rm -f pkg/minikube/assets/assets.go
2016-07-08 16:38:23 +00:00
.PHONY : gendocs
2017-05-03 22:30:27 +00:00
gendocs : out /docs /minikube .md
2016-07-08 16:38:23 +00:00
2018-02-11 18:07:52 +00:00
.PHONY : fmt
fmt :
@gofmt -l -s -w $( SOURCE_DIRS)
2017-06-20 21:29:51 +00:00
out/docs/minikube.md : $( shell find cmd ) $( shell find pkg /minikube /constants ) pkg /minikube /assets /assets .go
2017-05-03 22:30:27 +00:00
cd $( GOPATH) /src/$( REPOPATH) && go run -ldflags= " $( K8S_VERSION_LDFLAGS) $( MINIKUBE_LDFLAGS) " -tags gendocs hack/gen_help_text.go
2016-08-12 22:46:22 +00:00
out/minikube_$(DEB_VERSION).deb : out /minikube -linux -amd 64
cp -r installers/linux/deb/minikube_deb_template out/minikube_$( DEB_VERSION)
chmod 0755 out/minikube_$( DEB_VERSION) /DEBIAN
sed -E -i 's/--VERSION--/' $( DEB_VERSION) '/g' out/minikube_$( DEB_VERSION) /DEBIAN/control
2016-10-05 17:29:27 +00:00
mkdir -p out/minikube_$( DEB_VERSION) /usr/bin
2016-11-17 12:55:29 +00:00
cp out/minikube-linux-amd64 out/minikube_$( DEB_VERSION) /usr/bin/minikube
2016-08-12 22:46:22 +00:00
dpkg-deb --build out/minikube_$( DEB_VERSION)
rm -rf out/minikube_$( DEB_VERSION)
2016-09-07 23:44:01 +00:00
2017-07-25 18:24:50 +00:00
.SECONDEXPANSION :
2017-09-19 21:01:15 +00:00
TAR_TARGETS_linux := out/minikube-linux-amd64 out/docker-machine-driver-kvm2
2017-07-25 18:24:50 +00:00
TAR_TARGETS_darwin := out/minikube-darwin-amd64
TAR_TARGETS_windows := out/minikube-windows-amd64.exe
TAR_TARGETS_ALL := $( shell find deploy/addons -type f)
out/minikube-%-amd64.tar.gz : $$( TAR_TARGETS_ $ $ *) $( TAR_TARGETS_ALL )
tar -cvf $@ $^
2017-09-19 21:01:15 +00:00
.PHONY : cross -tars
cross-tars : out /minikube -windows -amd 64.tar .gz out /minikube -linux -amd 64.tar .gz out /minikube -darwin -amd 64.tar .gz
2017-10-03 23:27:52 +00:00
2016-09-07 23:44:01 +00:00
out/minikube-installer.exe : out /minikube -windows -amd 64.exe
rm -rf out/windows_tmp
cp -r installers/windows/ out/windows_tmp
cp -r LICENSE out/windows_tmp/LICENSE
awk 'sub("$$", "\r")' out/windows_tmp/LICENSE > out/windows_tmp/LICENSE.txt
sed -E -i 's/--VERSION_MAJOR--/' $( VERSION_MAJOR) '/g' out/windows_tmp/minikube.nsi
sed -E -i 's/--VERSION_MINOR--/' $( VERSION_MINOR) '/g' out/windows_tmp/minikube.nsi
sed -E -i 's/--VERSION_BUILD--/' $( VERSION_BUILD) '/g' out/windows_tmp/minikube.nsi
sed -E -i 's/--INSTALL_SIZE--/' $( INSTALL_SIZE) '/g' out/windows_tmp/minikube.nsi
cp out/minikube-windows-amd64.exe out/windows_tmp/minikube.exe
makensis out/windows_tmp/minikube.nsi
mv out/windows_tmp/minikube-installer.exe out/minikube-installer.exe
rm -rf out/windows_tmp
2016-09-23 19:00:23 +00:00
2017-08-23 16:43:11 +00:00
out/docker-machine-driver-hyperkit : $( shell $ ( HYPERKIT_FILES ) )
2017-08-15 04:02:55 +00:00
i f e q ( $( MINIKUBE_BUILD_IN_DOCKER ) , y )
2017-10-19 20:23:36 +00:00
$( call DOCKER,$( HYPERKIT_BUILD_IMAGE) ,CC= o64-clang CXX = o64-clang++ /usr/bin/make $@ )
2017-08-15 04:02:55 +00:00
e l s e
2017-10-19 15:00:56 +00:00
GOOS = darwin CGO_ENABLED = 1 go build -o $( BUILD_DIR) /docker-machine-driver-hyperkit k8s.io/minikube/cmd/drivers/hyperkit
2017-08-15 04:02:55 +00:00
e n d i f
2017-05-22 20:19:25 +00:00
.PHONY : install -hyperkit -driver
install-hyperkit-driver : out /docker -machine -driver -hyperkit
2017-10-20 15:37:21 +00:00
sudo cp out/docker-machine-driver-hyperkit $( HOME) /bin/docker-machine-driver-hyperkit
sudo chown root:wheel $( HOME) /bin/docker-machine-driver-hyperkit
sudo chmod u+s $( HOME) /bin/docker-machine-driver-hyperkit
2017-05-22 20:19:25 +00:00
2016-09-23 19:00:23 +00:00
.PHONY : check -release
check-release :
go test -v ./deploy/minikube/release_sanity_test.go -tags= release
2016-11-29 19:55:49 +00:00
.PHONY : release -localkube
release-localkube : out /localkube checksum
2017-05-11 17:51:47 +00:00
gsutil cp out/localkube $( LOCALKUBE_UPLOAD_LOCATION) /$( LOCALKUBE_VERSION) /localkube-linux-amd64
gsutil cp out/localkube.sha256 $( LOCALKUBE_UPLOAD_LOCATION) /$( LOCALKUBE_VERSION) /localkube-linux-amd64.sha256
2016-11-29 19:55:49 +00:00
.PHONY : update -releases
2017-03-22 18:00:17 +00:00
update-releases :
2016-11-29 19:55:49 +00:00
gsutil cp deploy/minikube/k8s_releases.json gs://minikube/k8s_releases.json
2017-03-22 18:00:17 +00:00
localkube-image : out /localkube
2017-02-08 19:10:12 +00:00
# TODO(aprindle) make addons placed into container configurable
docker build -t $( REGISTRY) /localkube-image:$( TAG) -f deploy/docker/Dockerfile .
@echo ""
@echo " ${ REGISTRY } /localkube-image: $( TAG) succesfully built "
2017-06-20 21:29:51 +00:00
@echo "See https://github.com/kubernetes/minikube/tree/master/deploy/docker for instructions on how to run image"
2017-02-17 17:39:33 +00:00
2017-06-12 19:03:21 +00:00
localkube-dind-image : out /localkube
# TODO(aprindle) make addons placed into container configurable
docker build -t $( REGISTRY) /localkube-dind-image:$( TAG) -f deploy/docker/localkube-dind/Dockerfile .
@echo ""
@echo " ${ REGISTRY } /localkube-dind-image: $( TAG) succesfully built "
@echo "See https://github.com/kubernetes/minikube/tree/master/deploy/docker for instructions on how to run image"
localkube-dind-image-devshell : out /localkube
# TODO(aprindle) make addons placed into container configurable
docker build -t $( REGISTRY) /localkube-dind-image-devshell:$( TAG) -f deploy/docker/localkube-dind/Dockerfile .
@echo ""
@echo " ${ REGISTRY } /localkube-dind-image-devshell: $( TAG) succesfully built "
@echo "See https://github.com/kubernetes/minikube/tree/master/deploy/docker for instructions on how to run image"
2017-03-22 18:00:17 +00:00
buildroot-image : $( ISO_BUILD_IMAGE ) # convenient alias to build the docker container
$(ISO_BUILD_IMAGE) : deploy /iso /minikube -iso /Dockerfile
2017-06-27 21:28:50 +00:00
docker build $( ISO_DOCKER_EXTRA_ARGS) -t $@ -f $< $( dir $<)
2017-03-22 18:00:17 +00:00
@echo ""
2017-06-16 12:26:51 +00:00
@echo " $( @) successfully built "
2017-03-22 18:00:17 +00:00
2017-11-01 17:47:08 +00:00
out/storage-provisioner : $( shell $ ( STORAGE_PROVISIONER_FILES ) )
2017-11-07 16:51:09 +00:00
GOOS = linux go build -o $( BUILD_DIR) /storage-provisioner -ldflags= $( LOCALKUBE_LDFLAGS) cmd/storage-provisioner/main.go
2017-10-30 20:07:48 +00:00
.PHONY : storage -provisioner -image
2017-11-01 17:47:08 +00:00
storage-provisioner-image : out /storage -provisioner
2017-11-07 21:55:37 +00:00
docker build -t $( REGISTRY) /storage-provisioner:$( STORAGE_PROVISIONER_TAG) -f deploy/storage-provisioner/Dockerfile .
2017-11-06 18:12:10 +00:00
.PHONY : push -storage -provisioner -image
push-storage-provisioner-image : storage -provisioner -image
2017-11-07 21:55:37 +00:00
gcloud docker -- push $( REGISTRY) /storage-provisioner:$( STORAGE_PROVISIONER_TAG)
2017-10-30 20:07:48 +00:00
2017-02-03 19:59:40 +00:00
.PHONY : release -iso
release-iso : minikube_iso checksum
2017-02-10 22:43:54 +00:00
gsutil cp out/minikube.iso gs://$( ISO_BUCKET) /minikube-$( ISO_VERSION) .iso
gsutil cp out/minikube.iso.sha256 gs://$( ISO_BUCKET) /minikube-$( ISO_VERSION) .iso.sha256
2017-08-22 22:31:54 +00:00
2017-08-28 18:27:25 +00:00
out/docker-machine-driver-kvm2 : $( KVM_DRIVER_FILES )
2017-08-22 22:31:54 +00:00
go build \
-installsuffix "static" \
-ldflags " -X k8s.io/minikube/pkg/drivers/kvm/version.VERSION= $( VERSION) " \
2017-09-19 21:01:15 +00:00
-tags libvirt.1.3.1 \
2017-08-28 18:27:25 +00:00
-o $( BUILD_DIR) /docker-machine-driver-kvm2 \
2017-08-22 22:31:54 +00:00
k8s.io/minikube/cmd/drivers/kvm
chmod +X $@
.PHONY : install -kvm
2017-08-28 18:27:25 +00:00
install-kvm : out /docker -machine -driver -kvm 2
cp out/docker-machine-driver-kvm2 $( GOBIN) /docker-machine-driver-kvm2
2017-09-19 21:01:15 +00:00
.PHONY : release -kvm -driver
release-kvm-driver : install -kvm
gsutil cp $( GOBIN) /docker-machine-driver-kvm2 gs://minikube/drivers/kvm/$( VERSION) /