github.com/outbrain/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