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
Co-authored-by: Cursor <cursoragent@cursor.com>
3.5 KiB
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:
- ✅
scripts/ssh-ml110-01.sh - ✅
scripts/ssh-r630-01.sh - ✅
scripts/test-proxmox-connectivity.sh - ✅
scripts/test-ssh-password.sh - ✅
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
.envfile is located correctly- Error messages are helpful
- Password extraction works correctly
Status: ✅ READY FOR USE
Last Updated: 2025-12-13
Status: ✅ VERIFIED