#!/bin/bash set -euo pipefail # Function to run terraform init and validate in a directory run_terraform() { local dir="$1" echo "Running terraform init and validate in $dir" cd "$dir" || exit terraform init -upgrade && terraform validate cd - || exit } # Main script main() { # Get the directory of the script script_dir=$(dirname "$(readlink -f "$0")") # Get all subdirectories in the repository subdirs=$(find "$script_dir" -mindepth 1 -maxdepth 1 -type d -not -name ".*" | sort) for dir in $subdirs; do run_terraform "$dir" done } # Run the main script main