#!/bin/bash # Exit on any error set -euo pipefail # Define project root (one level up from tasks/) PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" REQUIREMENTS_FILE="$PROJECT_ROOT/requirements.yml" ROLES_DIR="$PROJECT_ROOT/roles" # ANSIBLE_CFG="$PROJECT_ROOT/ansible.cfg" echo "🔧 [INFO] Running deployment from: $PROJECT_ROOT" echo "📦 [INFO] Installing roles from: $REQUIREMENTS_FILE" # Step 1: Install roles ansible-galaxy install -r "$REQUIREMENTS_FILE" -p "$ROLES_DIR" # # Step 2: Run playbook # echo "🚀 [INFO] Running playbook: $PLAYBOOK_FILE" # ANSIBLE_CONFIG="$ANSIBLE_CFG" ansible-playbook "$PLAYBOOK_FILE" -i "$INVENTORY_DIR" echo "✅ [SUCCESS] Roles updated successfully from requirements."