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

169 lines
3.5 KiB
Markdown

# 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
```bash
# 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:
```bash
# 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
```bash
# 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):
```bash
# 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
```bash
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**:
```bash
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**