github.com/bigcommerce/nomad@v0.9.3-bc/e2e/terraform/shared/scripts/setup.sh (about) 1 #!/bin/bash 2 3 set -e 4 5 # Disable interactive apt prompts 6 export DEBIAN_FRONTEND=noninteractive 7 8 cd /ops 9 10 CONFIGDIR=/ops/shared/config 11 12 CONSULVERSION=1.4.4 13 CONSULDOWNLOAD=https://releases.hashicorp.com/consul/${CONSULVERSION}/consul_${CONSULVERSION}_linux_amd64.zip 14 CONSULCONFIGDIR=/etc/consul.d 15 CONSULDIR=/opt/consul 16 17 VAULTVERSION=1.1.1 18 VAULTDOWNLOAD=https://releases.hashicorp.com/vault/${VAULTVERSION}/vault_${VAULTVERSION}_linux_amd64.zip 19 VAULTCONFIGDIR=/etc/vault.d 20 VAULTDIR=/opt/vault 21 22 # Will be overwritten by sha specified 23 NOMADVERSION=0.9.1 24 NOMADDOWNLOAD=https://releases.hashicorp.com/nomad/${NOMADVERSION}/nomad_${NOMADVERSION}_linux_amd64.zip 25 NOMADCONFIGDIR=/etc/nomad.d 26 NOMADDIR=/opt/nomad 27 28 HADOOP_VERSION=2.7.6 29 30 # Dependencies 31 sudo apt-get install -y software-properties-common 32 sudo apt-get update 33 sudo apt-get install -y unzip tree redis-tools jq curl tmux awscli 34 35 # Numpy (for Spark) 36 sudo apt-get install -y python-setuptools 37 sudo easy_install pip 38 sudo pip install numpy 39 40 # Disable the firewall 41 42 sudo ufw disable || echo "ufw not installed" 43 44 echo "Install Consul" 45 curl -L $CONSULDOWNLOAD > consul.zip 46 sudo unzip consul.zip -d /usr/local/bin 47 sudo chmod 0755 /usr/local/bin/consul 48 sudo chown root:root /usr/local/bin/consul 49 50 echo "Configure Consul" 51 sudo mkdir -p $CONSULCONFIGDIR 52 sudo chmod 755 $CONSULCONFIGDIR 53 sudo mkdir -p $CONSULDIR 54 sudo chmod 755 $CONSULDIR 55 56 echo "Install Vault" 57 curl -L $VAULTDOWNLOAD > vault.zip 58 sudo unzip vault.zip -d /usr/local/bin 59 sudo chmod 0755 /usr/local/bin/vault 60 sudo chown root:root /usr/local/bin/vault 61 62 echo "Configure Vault" 63 sudo mkdir -p $VAULTCONFIGDIR 64 sudo chmod 755 $VAULTCONFIGDIR 65 sudo mkdir -p $VAULTDIR 66 sudo chmod 755 $VAULTDIR 67 68 echo "Install Nomad" 69 curl -L $NOMADDOWNLOAD > nomad.zip 70 sudo unzip nomad.zip -d /usr/local/bin 71 sudo chmod 0755 /usr/local/bin/nomad 72 sudo chown root:root /usr/local/bin/nomad 73 74 echo "Configure Nomad" 75 sudo mkdir -p $NOMADCONFIGDIR 76 sudo chmod 755 $NOMADCONFIGDIR 77 sudo mkdir -p $NOMADDIR 78 sudo chmod 755 $NOMADDIR 79 80 # Docker 81 distro=$(lsb_release -si | tr '[:upper:]' '[:lower:]') 82 sudo apt-get install -y apt-transport-https ca-certificates gnupg2 83 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - 84 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/${distro} $(lsb_release -cs) stable" 85 sudo apt-get update 86 sudo apt-get install -y docker-ce 87 88 # rkt 89 VERSION=1.29.0 90 DOWNLOAD=https://github.com/rkt/rkt/releases/download/v${VERSION}/rkt-v${VERSION}.tar.gz 91 92 function install_rkt() { 93 wget -q -O /tmp/rkt.tar.gz "${DOWNLOAD}" 94 tar -C /tmp -xvf /tmp/rkt.tar.gz 95 sudo mv /tmp/rkt-v${VERSION}/rkt /usr/local/bin 96 sudo mv /tmp/rkt-v${VERSION}/*.aci /usr/local/bin 97 } 98 99 function configure_rkt_networking() { 100 sudo mkdir -p /etc/rkt/net.d 101 sudo bash -c 'cat << EOT > /etc/rkt/net.d/99-network.conf 102 { 103 "name": "default", 104 "type": "ptp", 105 "ipMasq": false, 106 "ipam": { 107 "type": "host-local", 108 "subnet": "172.16.28.0/24", 109 "routes": [ 110 { 111 "dst": "0.0.0.0/0" 112 } 113 ] 114 } 115 } 116 EOT' 117 } 118 119 install_rkt 120 configure_rkt_networking 121 122 # Java 123 sudo add-apt-repository -y ppa:openjdk-r/ppa 124 sudo apt-get update 125 sudo apt-get install -y openjdk-8-jdk 126 JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::") 127 128 # Spark 129 sudo wget -P /ops/examples/spark https://nomad-spark.s3.amazonaws.com/spark-2.2.0-bin-nomad-0.7.0.tgz 130 sudo tar -xvf /ops/examples/spark/spark-2.2.0-bin-nomad-0.7.0.tgz --directory /ops/examples/spark 131 sudo mv /ops/examples/spark/spark-2.2.0-bin-nomad-0.7.0 /usr/local/bin/spark 132 sudo chown -R root:root /usr/local/bin/spark 133 134 # Hadoop (to enable the HDFS CLI) 135 wget -O - http://apache.mirror.iphh.net/hadoop/common/hadoop-${HADOOP_VERSION}/hadoop-${HADOOP_VERSION}.tar.gz | sudo tar xz -C /usr/local/