diff --git a/hack/README.md b/hack/README.md new file mode 100644 index 0000000000000000000000000000000000000000..65570d16ed1303ebddf447fe9e52a589420ba5cb --- /dev/null +++ b/hack/README.md @@ -0,0 +1,24 @@ +Collection of convenience scripts +================================= + +[Vagrantfile](Vagrantfile) +-------------------------- + +A Vagrantfile to create a standalone build environment for helm. +It is handy if you do not have Golang and the dependencies used by Helm on your local machine. + + $ git clone https://github.com/kubernetes/deployment-manager.git + $ cd deployment-manager/hack + $ vagrant up + +Once the machine is up, you can SSH to it and start a new build of helm + + $ vagrant ssh + $ cd src/github.com/kubernetes/deployment-manager + $ make build + +[dm-push.sh](dm-push.sh) +------------------------ + +Run this from deployment-manager root to build and push the dm client plus +kubernetes install config into the publicly readable GCS bucket gs://get-dm. diff --git a/hack/Vagrantfile b/hack/Vagrantfile new file mode 100644 index 0000000000000000000000000000000000000000..ffdb30e8061a3fb3fde16024d961f2e95537bcfa --- /dev/null +++ b/hack/Vagrantfile @@ -0,0 +1,49 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! +VAGRANTFILE_API_VERSION = "2" + +GLIDE_VERSION = "0.9.1" +GO_VERSION = "1.6" + +$bootstrap=<<SCRIPT +apt-get update +apt-get -y install wget +wget -qO- https://get.docker.com/ | sh +gpasswd -a vagrant docker +service docker restart +SCRIPT + +$helm=<<SCRIPT +curl -L https://storage.googleapis.com/golang/go#{GO_VERSION}.linux-amd64.tar.gz -o go#{GO_VERSION}.linux-amd64.tar.gz +tar -C /usr/local -xzf go#{GO_VERSION}.linux-amd64.tar.gz +wget "https://github.com/Masterminds/glide/releases/download/#{GLIDE_VERSION}/glide-#{GLIDE_VERSION}-linux-amd64.tar.gz" +su vagrant -c "mkdir -p /home/vagrant/bin" +su vagrant -c "mkdir -p /home/vagrant/src/github.com/kubernetes/deployment-manager" +chgrp vagrant -R /home/vagrant/src +chown vagrant -R /home/vagrant/src +su vagrant -c "tar -vxz -C /home/vagrant/bin --strip=1 -f glide-#{GLIDE_VERSION}-linux-amd64.tar.gz" +su vagrant -c "echo 'export GLIDE_HOME=/home/vagrant/.glide' >> ~/.profile" +su vagrant -c "echo 'export PATH=$PATH:/usr/local/go/bin:/home/vagrant/bin' >> ~/.profile" +su vagrant -c "echo 'export GOPATH=/home/vagrant' >> ~/.profile" +SCRIPT + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + # Every Vagrant virtual environment requires a box to build off of. + + config.vm.box = "ubuntu/trusty64" + + config.vm.network "private_network", ip: "192.168.33.10" + + config.vm.provider "virtualbox" do |vb| + vb.customize ["modifyvm", :id, "--memory", "2048"] + end + + config.vm.synced_folder "../", "/home/vagrant/src/github.com/kubernetes/deployment-manager" + config.vm.synced_folder ".", "/vagrant", disabled: true + + config.vm.provision :shell, inline: $bootstrap + config.vm.provision :shell, inline: $helm + +end