#!/usr/bin/env bash
# install-terraform.sh
# Terraform — Define and provision infrastructure as declarative, versioned code.
# Target: Ubuntu / Debian. Safe to re-run.
# Source guide: devops-hub/tools/terraform.html

set -euo pipefail

if [[ $EUID -eq 0 ]]; then
  echo "Run this as a regular sudo-capable user, not root." >&2
  exit 1
fi

echo "==> Install prerequisites"
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common curl

echo "==> Add the HashiCorp GPG key and repo"
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list

echo "==> Install Terraform"
sudo apt-get update && sudo apt-get install -y terraform

echo "==> Verify"
terraform -version

echo "==> Done. Terraform installation finished."
