github.com/iqoqo/nomad@v0.11.3-0.20200911112621-d7021c74d101/e2e/terraform/shared/config/provision-server.sh (about) 1 #!/bin/bash 2 # installs and configures the desired build of Nomad as a server 3 set -o errexit 4 set -o nounset 5 6 CLOUD="$1" 7 SERVER_COUNT="$2" 8 NOMAD_CONFIG="$3" 9 10 # Consul 11 CONSUL_SRC=/ops/shared/consul 12 CONSUL_DEST=/etc/consul.d 13 14 sed "s/SERVER_COUNT/$SERVER_COUNT/g" "$CONSUL_SRC/server.json" > /tmp/server.json 15 sudo mv /tmp/server.json "$CONSUL_DEST/server.json" 16 sudo cp "$CONSUL_SRC/base.json" "$CONSUL_DEST/" 17 sudo cp "$CONSUL_SRC/retry_$CLOUD.json" "$CONSUL_DEST/" 18 sudo cp "$CONSUL_SRC/consul_$CLOUD.service" /etc/systemd/system/consul.service 19 20 sudo systemctl enable consul.service 21 sudo systemctl daemon-reload 22 sudo systemctl restart consul.service 23 sleep 10 24 25 # Vault 26 VAULT_SRC=/ops/shared/vault 27 VAULT_DEST=/etc/vault.d 28 29 sudo cp "$VAULT_SRC/vault.hcl" "$VAULT_DEST" 30 sudo cp "$VAULT_SRC/vault.service" /etc/systemd/system/vault.service 31 32 sudo systemctl enable vault.service 33 sudo systemctl daemon-reload 34 sudo systemctl restart vault.service 35 36 # Add hostname to /etc/hosts 37 echo "127.0.0.1 $(hostname)" | sudo tee --append /etc/hosts 38 39 # Add Docker bridge network IP to /etc/resolv.conf (at the top) 40 DOCKER_BRIDGE_IP_ADDRESS=$(/usr/local/bin/sockaddr eval 'GetInterfaceIP "docker0"') 41 echo "nameserver $DOCKER_BRIDGE_IP_ADDRESS" | sudo tee /etc/resolv.conf.new 42 cat /etc/resolv.conf | sudo tee --append /etc/resolv.conf.new 43 sudo mv /etc/resolv.conf.new /etc/resolv.conf 44 45 # Nomad 46 47 NOMAD_SRC=/ops/shared/nomad 48 NOMAD_DEST=/etc/nomad.d 49 NOMAD_CONFIG_FILENAME=$(basename "$NOMAD_CONFIG") 50 51 # assert Nomad binary's permissions 52 if [[ -f /usr/local/bin/nomad ]]; then 53 sudo chmod 0755 /usr/local/bin/nomad 54 sudo chown root:root /usr/local/bin/nomad 55 fi 56 57 sudo cp "$NOMAD_SRC/base.hcl" "$NOMAD_DEST/" 58 59 sed "s/3 # SERVER_COUNT/$SERVER_COUNT/g" "$NOMAD_SRC/$NOMAD_CONFIG" \ 60 > "/tmp/$NOMAD_CONFIG_FILENAME" 61 sudo mv "/tmp/$NOMAD_CONFIG_FILENAME" "$NOMAD_DEST/$NOMAD_CONFIG_FILENAME" 62 63 # enable as a systemd service 64 sudo cp "$NOMAD_SRC/nomad.service" /etc/systemd/system/nomad.service 65 66 sudo systemctl enable nomad.service 67 sudo systemctl daemon-reload 68 sudo systemctl restart nomad.service