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