#!/usr/bin/env bash if [ -z "$BIND_ADDR" ]; then BIND_ADDR=$(ip -4 -br addr show dev ip0 | awk '{print $NF}' | awk -F "/" '{print $1}' ) fi if [ -z "$NODE_NAME" ]; then read -p "Provide node_name: " NODE_NAME fi #read -p "node_name='$NODE_NAME', BIND_ADDR='$BIND_ADDR', ok?" ### CONSUL ### echo "Installing dependencies..." sudo apt-get update sudo apt-get install -y unzip curl jq dnsutils if [ ! -f /usr/bin/consul ]; then CHECKPOINT_URL="https://checkpoint-api.hashicorp.com/v1/check" if [ -z "$CONSUL_VERSION" ]; then CONSUL_VERSION=$(curl -s "${CHECKPOINT_URL}"/consul | jq .current_version | tr -d '"') fi echo "Fetching Consul version ${CONSUL_VERSION} ..." cd /tmp/ curl -s https://releases.hashicorp.com/consul/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_linux_amd64.zip -o consul.zip echo "Installing Consul version ${CONSUL_VERSION} ..." unzip consul.zip sudo chmod +x consul sudo mv consul /usr/bin/consul fi # useradd : -U create a group same as username, -r system user sudo mkdir /etc/consul.d sudo chmod a+w /etc/consul.d sudo useradd -Urd /var/consul/ consul sudo mkdir -p /var/consul/data sudo chown -R consul /var/consul/data cat <