Add Linux and macOS execution commands
Some checks failed
Repo Quality / structure (push) Has been cancelled

This commit is contained in:
Rodrigo Pace
2026-05-08 12:25:51 -03:00
parent 703e072682
commit 97cab6d894
5 changed files with 184 additions and 8 deletions

15
scripts/bootstrap.sh Normal file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -euo pipefail
echo "Checking local tools..."
for tool in git terraform; do
if command -v "$tool" >/dev/null 2>&1; then
echo "$tool found: $(command -v "$tool")"
else
echo "WARNING: $tool not found in PATH" >&2
fi
done
echo "Bootstrap check finished."

28
scripts/reset-scenario.sh Normal file
View File

@@ -0,0 +1,28 @@
#!/usr/bin/env bash
set -euo pipefail
usage() {
echo "Usage: $0 <scenario> <connect_string> [sql_client]" >&2
}
if [[ $# -lt 2 ]]; then
usage
exit 1
fi
SCENARIO="$1"
CONNECT_STRING="$2"
SQL_CLIENT="${3:-sql}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
RESET_SCRIPT="$REPO_ROOT/scenarios/$SCENARIO/sql/99_reset.sql"
if [[ ! -f "$RESET_SCRIPT" ]]; then
echo "Reset script not found: $RESET_SCRIPT" >&2
exit 1
fi
echo "Resetting scenario $SCENARIO"
"$SQL_CLIENT" "$CONNECT_STRING" "@$RESET_SCRIPT"

44
scripts/run-scenario.sh Normal file
View File

@@ -0,0 +1,44 @@
#!/usr/bin/env bash
set -euo pipefail
usage() {
echo "Usage: $0 <scenario> [connect_string] [sql_client]" >&2
echo "Example: $0 01-ai-prompt-injection 'admin/password@db_high' sql" >&2
}
if [[ $# -lt 1 ]]; then
usage
exit 1
fi
SCENARIO="$1"
CONNECT_STRING="${2:-}"
SQL_CLIENT="${3:-sql}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
SQL_DIR="$REPO_ROOT/scenarios/$SCENARIO/sql"
if [[ ! -d "$SQL_DIR" ]]; then
echo "Scenario SQL directory not found: $SQL_DIR" >&2
exit 1
fi
mapfile -t SCRIPTS < <(find "$SQL_DIR" -maxdepth 1 -type f -name "*.sql" ! -name "99_reset.sql" | sort)
echo "Scenario: $SCENARIO"
echo "Scripts to execute:"
for script in "${SCRIPTS[@]}"; do
echo " - $(basename "$script")"
done
if [[ -z "$CONNECT_STRING" ]]; then
echo "WARNING: Connect string not provided. Review the SQL files above and execute them manually with SQLcl or SQL*Plus." >&2
exit 0
fi
for script in "${SCRIPTS[@]}"; do
echo "Running $script"
"$SQL_CLIENT" "$CONNECT_STRING" "@$script"
done

View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -euo pipefail
ENVIRONMENT="${1:-demo}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
TF_DIR="$REPO_ROOT/terraform/envs/$ENVIRONMENT"
if [[ ! -d "$TF_DIR" ]]; then
echo "Terraform environment not found: $TF_DIR" >&2
exit 1
fi
if ! command -v terraform >/dev/null 2>&1; then
echo "Terraform is not installed or not in PATH. Install Terraform 1.6+ and rerun this script." >&2
exit 1
fi
cd "$TF_DIR"
terraform fmt -recursive -check
terraform init -backend=false
terraform validate