github.hscsec.cn/hashicorp/consul@v1.4.5/terraform/shared/scripts/install.sh (about) 1 #!/usr/bin/env bash 2 set -e 3 4 echo "Installing dependencies..." 5 if [ -x "$(command -v apt-get)" ]; then 6 sudo su -s /bin/bash -c 'sleep 30 && apt-get update && apt-get install unzip' root 7 else 8 sudo yum update -y 9 sudo yum install -y unzip wget 10 fi 11 12 13 echo "Fetching Consul..." 14 CONSUL=1.0.0 15 cd /tmp 16 wget https://releases.hashicorp.com/consul/${CONSUL}/consul_${CONSUL}_linux_amd64.zip -O consul.zip --quiet 17 18 echo "Installing Consul..." 19 unzip consul.zip >/dev/null 20 chmod +x consul 21 sudo mv consul /usr/local/bin/consul 22 sudo mkdir -p /opt/consul/data 23 24 # Read from the file we created 25 SERVER_COUNT=$(cat /tmp/consul-server-count | tr -d '\n') 26 CONSUL_JOIN=$(cat /tmp/consul-server-addr | tr -d '\n') 27 28 # Write the flags to a temporary file 29 cat >/tmp/consul_flags << EOF 30 CONSUL_FLAGS="-server -bootstrap-expect=${SERVER_COUNT} -join=${CONSUL_JOIN} -data-dir=/opt/consul/data" 31 EOF 32 33 if [ -f /tmp/upstart.conf ]; 34 then 35 echo "Installing Upstart service..." 36 sudo mkdir -p /etc/consul.d 37 sudo mkdir -p /etc/service 38 sudo chown root:root /tmp/upstart.conf 39 sudo mv /tmp/upstart.conf /etc/init/consul.conf 40 sudo chmod 0644 /etc/init/consul.conf 41 sudo mv /tmp/consul_flags /etc/service/consul 42 sudo chmod 0644 /etc/service/consul 43 else 44 echo "Installing Systemd service..." 45 sudo mkdir -p /etc/sysconfig 46 sudo mkdir -p /etc/systemd/system/consul.d 47 sudo chown root:root /tmp/consul.service 48 sudo mv /tmp/consul.service /etc/systemd/system/consul.service 49 sudo mv /tmp/consul*json /etc/systemd/system/consul.d/ || echo 50 sudo chmod 0644 /etc/systemd/system/consul.service 51 sudo mv /tmp/consul_flags /etc/sysconfig/consul 52 sudo chown root:root /etc/sysconfig/consul 53 sudo chmod 0644 /etc/sysconfig/consul 54 fi