Last active
December 5, 2022 09:03
-
-
Save jonaskahn/1401562bc4a48a7ae1faa65d162ef584 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
sudo apt install -y unzip zip | |
export CONSUL_VERSION=1.13.4 | |
printf "Download & install consul ${CONSUL_VERSION}\n" | |
export CONSUL_URL="https://releases.hashicorp.com/consul" | |
curl --silent --remote-name \ | |
${CONSUL_URL}/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_linux_amd64.zip | |
unzip consul_${CONSUL_VERSION}_linux_amd64.zip | |
sudo chown root:root consul | |
sudo mv consul /usr/bin/ | |
consul --version | |
printf "Setup consul . . .\n" | |
consul -autocomplete-install | |
complete -C /usr/bin/consul consul | |
sudo useradd --system --home /etc/consul.d --shell /bin/false consul | |
sudo mkdir --parents /opt/consul | |
sudo chown --recursive consul:consul /opt/consul | |
sudo mkdir --parents /etc/consul.d | |
sudo touch /etc/consul.d/consul.hcl | |
sudo touch /etc/consul.d/server.hcl | |
sudo chown --recursive consul:consul /etc/consul.d | |
sudo chmod 640 /etc/consul.d/*.hcl | |
sudo rm -rf /etc/systemd/system/consul.service | |
sudo touch /etc/systemd/system/consul.service | |
echo "[Unit] | |
Description=\"HashiCorp Consul - A service mesh solution\" | |
Documentation=https://www.consul.io/ | |
Requires=network-online.target | |
After=network-online.target | |
ConditionFileNotEmpty=/etc/consul.d/consul.hcl | |
[Service] | |
EnvironmentFile=-/etc/consul.d/consul.env | |
User=consul | |
Group=consul | |
ExecStart=/usr/bin/consul agent -config-dir=/etc/consul.d/ | |
ExecReload=/bin/kill --signal HUP $MAINPID | |
KillMode=process | |
KillSignal=SIGTERM | |
Restart=on-failure | |
LimitNOFILE=65536 | |
[Install] | |
WantedBy=multi-user.target | |
" | sudo tee -a /etc/systemd/system/consul.service | |
sudo rm -rf consul_${CONSUL_VERSION}_linux_amd64.zip | |
sudo systemctl enable consul | |
printf "Consul installed. Start configuration to continue\n" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
bash -c "$(curl -fsSL https://gist.github.com/tuyendev/1401562bc4a48a7ae1faa65d162ef584/raw/eb393e9c9c34eabeb04fc407bc0c42c645141961/install-consul.sh)"