This repository has been archived by the owner on May 29, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathMakefile
66 lines (53 loc) · 1.98 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
.PHONY: default
VERSION=1.10.0
default: stripped.box box.meta
.PHONY: add-box del-box
add-box:
vagrant box add vagrant-kubernetes stripped.box -f
del-box:
vagrant box remove kubernetes
.vagrant/machines/default/virtualbox/id: vg-00-kubernetes.sh conf/*
vagrant destroy -f || true
SCRIPT=vg-00-kubernetes.sh vagrant up --provision
vagrant halt
.vagrant/repartinioned: .vagrant/machines/default/virtualbox/id vg-*.sh
$(eval MACHINEID:=$(shell cat .vagrant/machines/default/virtualbox/id))
$(eval HDDFILE:=$(shell VBoxManage showvminfo --machinereadable $(MACHINEID) | grep "SATA Controller-0-0" | cut -d '=' -f 2))
test -f cloned.vdi && vboxmanage closemedium disk cloned.vdi --delete || true
VBoxManage clonehd $(HDDFILE) cloned.vdi --format vdi
VBoxManage storageattach $(MACHINEID) --storagectl "SATA Controller" --port 0 --medium none
VBoxManage closemedium disk $(HDDFILE) --delete
VBoxManage modifyhd cloned.vdi --resize 122880 # 120 GB
VBoxManage clonehd cloned.vdi $(HDDFILE) --format vmdk
VBoxManage storageattach $(MACHINEID) --storagectl "SATA Controller" --port 0 --type hdd --medium $(HDDFILE)
VBoxManage closemedium disk cloned.vdi --delete
SCRIPT=vg-01-repartition.sh vagrant reload --provision
SCRIPT=vg-02-reformat.sh vagrant reload --provision
touch .vagrant/repartinioned
package.box: .vagrant/repartinioned Vagrantfile.dist
rm -f package.box
vagrant package --vagrantfile Vagrantfile.dist
tmp/Vagrantfile: package.box
mkdir -p tmp
tar xzf package.box -C tmp/
sed -i.back '/vagrant_private_key/d' tmp/Vagrantfile
rm -f tmp/Vagrantfile.back
rm -f tmp/vagrant_private_key
stripped.box: tmp/Vagrantfile
tar -czf stripped.box -C tmp/ .
box.meta: stripped.box box-metadata.sh
./box-metadata.sh stripped.box ${VERSION} box.meta
.PHONY: test
test: add-box
test/test.sh
.PHONY: clean dist-clean
clean:
vagrant destroy -f || true
rm -f package.box
rm -rf tmp
rm -rf cloned.vdi
rm -f stripped.box
rm -f box.meta
dist-clean: clean
rm -f etcd-*.tar.gz
rm -f kubernetes-*.tar.gz