mirror of
https://github.com/kemko/nomad.git
synced 2026-01-06 18:35:44 +03:00
Merge pull request #4947 from githubfoam/update-demo-vagrantfile
no need to double the work
This commit is contained in:
90
demo/vagrant/Vagrantfile
vendored
90
demo/vagrant/Vagrantfile
vendored
@@ -2,67 +2,56 @@
|
||||
# vi: set ft=ruby :
|
||||
|
||||
$script = <<SCRIPT
|
||||
# Update apt and get dependencies
|
||||
echo "Installing Docker..."
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y unzip curl vim \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
software-properties-common
|
||||
sudo apt-get remove docker docker-engine docker.io
|
||||
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y
|
||||
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
sudo apt-key fingerprint 0EBFCD88
|
||||
sudo add-apt-repository \
|
||||
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
|
||||
$(lsb_release -cs) \
|
||||
stable"
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y docker-ce
|
||||
# Restart docker to make sure we get the latest version of the daemon if there is an upgrade
|
||||
sudo service docker restart
|
||||
# Make sure we can actually use docker as the vagrant user
|
||||
sudo usermod -aG docker vagrant
|
||||
sudo docker --version
|
||||
|
||||
# Download Nomad
|
||||
NOMAD_VERSION=0.8.1
|
||||
|
||||
echo "Fetching Nomad..."
|
||||
cd /tmp/
|
||||
curl -sSL https://releases.hashicorp.com/nomad/${NOMAD_VERSION}/nomad_${NOMAD_VERSION}_linux_amd64.zip -o nomad.zip
|
||||
|
||||
echo "Fetching Consul..."
|
||||
CONSUL_VERSION=1.0.7
|
||||
curl -sSL https://releases.hashicorp.com/consul/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_linux_amd64.zip > consul.zip
|
||||
# Packages required for nomad & consul
|
||||
sudo apt-get install unzip curl vim -y
|
||||
|
||||
echo "Installing Nomad..."
|
||||
NOMAD_VERSION=0.8.6
|
||||
cd /tmp/
|
||||
curl -sSL https://releases.hashicorp.com/nomad/${NOMAD_VERSION}/nomad_${NOMAD_VERSION}_linux_amd64.zip -o nomad.zip
|
||||
unzip nomad.zip
|
||||
sudo install nomad /usr/bin/nomad
|
||||
|
||||
sudo mkdir -p /etc/nomad.d
|
||||
sudo chmod a+w /etc/nomad.d
|
||||
|
||||
# Set hostname's IP to made advertisement Just Work
|
||||
#sudo sed -i -e "s/.*nomad.*/$(ip route get 1 | awk '{print $NF;exit}') nomad/" /etc/hosts
|
||||
|
||||
echo "Installing Docker..."
|
||||
if [[ -f /etc/apt/sources.list.d/docker.list ]]; then
|
||||
echo "Docker repository already installed; Skipping"
|
||||
else
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||
sudo apt-get update
|
||||
fi
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y docker-ce
|
||||
|
||||
# Restart docker to make sure we get the latest version of the daemon if there is an upgrade
|
||||
sudo service docker restart
|
||||
|
||||
# Make sure we can actually use docker as the vagrant user
|
||||
sudo usermod -aG docker vagrant
|
||||
|
||||
echo "Installing Consul..."
|
||||
CONSUL_VERSION=1.4.0
|
||||
curl -sSL https://releases.hashicorp.com/consul/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_linux_amd64.zip > consul.zip
|
||||
unzip /tmp/consul.zip
|
||||
sudo install consul /usr/bin/consul
|
||||
(
|
||||
cat <<-EOF
|
||||
[Unit]
|
||||
Description=consul agent
|
||||
Requires=network-online.target
|
||||
[Unit]
|
||||
Description=consul agent
|
||||
Requires=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
ExecStart=/usr/bin/consul agent -dev
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
ExecStart=/usr/bin/consul agent -dev
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
) | sudo tee /etc/systemd/system/consul.service
|
||||
sudo systemctl enable consul.service
|
||||
@@ -70,12 +59,10 @@ sudo systemctl start consul
|
||||
|
||||
for bin in cfssl cfssl-certinfo cfssljson
|
||||
do
|
||||
echo "Installing $bin..."
|
||||
curl -sSL https://pkg.cfssl.org/R1.2/${bin}_linux-amd64 > /tmp/${bin}
|
||||
sudo install /tmp/${bin} /usr/local/bin/${bin}
|
||||
echo "Installing $bin..."
|
||||
curl -sSL https://pkg.cfssl.org/R1.2/${bin}_linux-amd64 > /tmp/${bin}
|
||||
sudo install /tmp/${bin} /usr/local/bin/${bin}
|
||||
done
|
||||
|
||||
echo "Installing autocomplete..."
|
||||
nomad -autocomplete-install
|
||||
|
||||
SCRIPT
|
||||
@@ -84,8 +71,7 @@ Vagrant.configure(2) do |config|
|
||||
config.vm.box = "bento/ubuntu-16.04" # 16.04 LTS
|
||||
config.vm.hostname = "nomad"
|
||||
config.vm.provision "shell", inline: $script, privileged: false
|
||||
config.vm.provision "docker" # Just install it
|
||||
|
||||
|
||||
# Expose the nomad api and ui to the host
|
||||
config.vm.network "forwarded_port", guest: 4646, host: 4646, auto_correct: true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user