Files
Sankofa/docs/proxmox/SCRIPT_PATHS_CONFIGURED.md
defiQUG 33d50fb91e
Some checks failed
API CI / API Lint (push) Successful in 47s
API CI / API Type Check (push) Failing after 47s
API CI / API Test (push) Successful in 1m0s
API CI / API Build (push) Failing after 50s
API CI / Build Docker Image (push) Has been skipped
Build Crossplane Provider / build (push) Failing after 5m51s
CD Pipeline / Deploy to Staging (push) Failing after 29s
CI Pipeline / Lint and Type Check (push) Failing after 36s
CI Pipeline / Build (push) Has been skipped
CI Pipeline / Test Backend (push) Failing after 1m33s
CI Pipeline / Test Frontend (push) Failing after 30s
CI Pipeline / Security Scan (push) Failing after 1m16s
Crossplane Provider CI / Go Test (push) Failing after 3m23s
Crossplane Provider CI / Go Lint (push) Failing after 7m27s
Crossplane Provider CI / Go Build (push) Failing after 3m27s
Deploy to Staging / Deploy to Staging (push) Failing after 30s
Portal CI / Portal Lint (push) Failing after 21s
Portal CI / Portal Type Check (push) Failing after 21s
Portal CI / Portal Test (push) Failing after 21s
Portal CI / Portal Build (push) Failing after 22s
Test Suite / frontend-tests (push) Failing after 30s
Test Suite / api-tests (push) Failing after 49s
Test Suite / blockchain-tests (push) Failing after 30s
Type Check / type-check (map[directory:. name:root]) (push) Failing after 23s
Type Check / type-check (map[directory:api name:api]) (push) Failing after 21s
Type Check / type-check (map[directory:portal name:portal]) (push) Failing after 19s
Validate Configuration Files / validate (push) Failing after 1m52s
CD Pipeline / Deploy to Production (push) Has been skipped
chore: consolidate local WIP (repo cleanup 20260707)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:41:34 -07:00

3.5 KiB

Script Path Configuration - Verified

Date: 2025-12-13
Status: PATHS CORRECTLY CONFIGURED


Path Resolution

All scripts now correctly locate the .env file using absolute paths based on the script's location.

Path Resolution Logic

# Get the directory where this script is located
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Get the project root (one level up from scripts directory)
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
# Locate .env file in project root
ENV_FILE="$PROJECT_ROOT/.env"

Verified Paths

Component Path
Script Directory /home/intlc/projects/Sankofa/scripts
Project Root /home/intlc/projects/Sankofa
Env File /home/intlc/projects/Sankofa/.env
Status EXISTS

Updated Scripts

All scripts have been updated with proper path resolution:

  1. scripts/ssh-ml110-01.sh
  2. scripts/ssh-r630-01.sh
  3. scripts/test-proxmox-connectivity.sh
  4. scripts/test-ssh-password.sh
  5. scripts/ssh-proxmox-nodes.sh

Path Resolution Features

Works from Any Directory

Scripts can be run from any directory and will still find the .env file:

# From project root
cd /home/intlc/projects/Sankofa
./scripts/ssh-ml110-01.sh

# From scripts directory
cd /home/intlc/projects/Sankofa/scripts
./ssh-ml110-01.sh

# From any other directory
cd /tmp
/home/intlc/projects/Sankofa/scripts/ssh-ml110-01.sh

Error Handling

If .env file is not found, scripts provide helpful error messages:

Error: .env file not found at /home/intlc/projects/Sankofa/.env
Current directory: /tmp
Script directory: /home/intlc/projects/Sankofa/scripts
Project root: /home/intlc/projects/Sankofa

Testing

Path Resolution Test

# Test from project root
cd /home/intlc/projects/Sankofa
./scripts/ssh-ml110-01.sh 'echo "Test"'

# Test from scripts directory
cd /home/intlc/projects/Sankofa/scripts
./ssh-ml110-01.sh 'echo "Test"'

# Test from different directory
cd /tmp
/home/intlc/projects/Sankofa/scripts/ssh-ml110-01.sh 'echo "Test"'

All should correctly locate the .env file.


Password Extraction

The password is extracted from .env file (lines 45-46):

# Extract password from .env (lines 45-46)
PROXMOX_PASSWORD=$(sed -n '45,46p' "$ENV_FILE" | grep "PROXMOX_ROOT_PASS" | head -1 | cut -d'=' -f2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')

# Remove quotes if present
PROXMOX_PASSWORD="${PROXMOX_PASSWORD#\"}"
PROXMOX_PASSWORD="${PROXMOX_PASSWORD%\"}"
PROXMOX_PASSWORD="${PROXMOX_PASSWORD#\'}"
PROXMOX_PASSWORD="${PROXMOX_PASSWORD%\'}"

Verification

Test Path Resolution

cd /home/intlc/projects/Sankofa
SCRIPT_DIR="$(cd scripts && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
ENV_FILE="$PROJECT_ROOT/.env"
echo "Env file: $ENV_FILE"
echo "Exists: $([ -f "$ENV_FILE" ] && echo "YES" || echo "NO")"

Expected Output:

Env file: /home/intlc/projects/Sankofa/.env
Exists: YES

Common Functions

A shared function file is available for reuse:

File: scripts/load-env.sh

Usage:

source "$(dirname "$0")/load-env.sh"
PROXMOX_PASSWORD=$(load_proxmox_password)

Conclusion

All scripts correctly configured

  • Path resolution works from any directory
  • .env file is located correctly
  • Error messages are helpful
  • Password extraction works correctly

Status: READY FOR USE


Last Updated: 2025-12-13
Status: VERIFIED