-
-
Save cinco/bf66675aa898b6960b3760bcc5d2afd8 to your computer and use it in GitHub Desktop.
Install Terraform & Packer on Linux
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
#!/usr/bin/env bash | |
# Script prerequisite > install jq > https://stedolan.github.io | |
# ******************************************************************************************** | |
# UPDATE: Check out Robert's repo here https://github.com/robertpeteuil/terraform-installer | |
# Robert's repo is more built out and has more options around the installation process. | |
# Cheers! -Adron | |
# ******************************************************************************************** | |
cd ~ | |
# Prerequisites | |
if [ "$(uname)" == "Darwin" ]; then | |
brew install jq | |
# For Linux | |
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then | |
sudo apt-get install --assume-yes jq | |
fi | |
# Get URLs for most recent versions | |
# For OS-X | |
if [ "$(uname)" == "Darwin" ]; then | |
terraform_url=$(curl https://releases.hashicorp.com/index.json | jq '{terraform}' | egrep "darwin.*64" | sort --version-sort -r | head -1 | awk -F[\"] '{print $4}') | |
packer_url=$(curl https://releases.hashicorp.com/index.json | jq '{packer}' | egrep "darwin.*64" | sort --version-sort -r | head -1 | awk -F[\"] '{print $4}') | |
# For Linux | |
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then | |
terraform_url=$(curl https://releases.hashicorp.com/index.json | jq '{terraform}' | egrep "linux.*amd64" | sort --version-sort -r | head -1 | awk -F[\"] '{print $4}') | |
packer_url=$(curl https://releases.hashicorp.com/index.json | jq '{packer}' | egrep "linux.*amd64" | sort --version-sort -r | head -1 | awk -F[\"] '{print $4}') | |
fi | |
# Create a move into directory. | |
cd | |
mkdir packer | |
mkdir terraform && cd $_ | |
# Download Terraform. URI: https://www.terraform.io/downloads.html | |
echo "Downloading $terraform_url." | |
curl -o terraform.zip $terraform_url | |
# Unzip and install | |
unzip terraform.zip | |
# Change directory to Packer | |
cd ~/packer | |
# Download Packer. URI: https://www.packer.io/downloads.html | |
echo "Downloading $packer_url." | |
curl -o packer.zip $packer_url | |
# Unzip and install | |
unzip packer.zip | |
if [ "$(uname)" == "Darwin" ]; then | |
echo ' | |
# Terraform & Packer Paths. | |
export PATH=~/terraform/:~/packer/:$PATH | |
' >>~/.bash_profile | |
source ~/.bash_profile | |
# For Linux | |
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then | |
echo ' | |
# Terraform & Packer Paths. | |
export PATH=~/terraform/:~/packer/:$PATH | |
' >>~/.bashrc | |
source ~/.bashrc | |
fi |
Author
cinco
commented
Jan 9, 2020
•
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment