feat: working E2E container stack with Node-RED + InfluxDB + Grafana

- Fix Dockerfile.e2e to install EVOLV properly in Node-RED /data/
- Add measurement node E2E test flow with scaling (4-20mA to 0-5m)
- Add Grafana health check to run-e2e.sh
- Guard pumpingStation demo IIFE with require.main check
- All 10 EVOLV nodes load successfully in containerized Node-RED

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Rene De Ren
2026-03-11 16:38:14 +01:00
parent 49ebd833db
commit 2c76430394
4 changed files with 190 additions and 35 deletions

View File

@@ -127,6 +127,36 @@ else
FAILURES=$((FAILURES + 1))
fi
# --- Step 5b: Verify Grafana is reachable ---
log_info "Checking Grafana health..."
GRAFANA_HEALTH=$(curl -sf "http://localhost:3000/api/health" 2>&1) || {
log_error "Failed to reach Grafana health endpoint"
FAILURES=$((FAILURES + 1))
}
if echo "$GRAFANA_HEALTH" | grep -q '"database":"ok"'; then
log_info " [PASS] Grafana is healthy"
else
log_error " [FAIL] Grafana health check failed"
FAILURES=$((FAILURES + 1))
fi
# --- Step 5c: Verify EVOLV measurement node produced output ---
log_info "Checking EVOLV measurement node output in container logs..."
NODERED_LOGS=$(eval $DOCKER_COMPOSE -f "$COMPOSE_FILE" logs nodered 2>&1)
if echo "$NODERED_LOGS" | grep -q "Database Output"; then
log_info " [PASS] EVOLV measurement node produced database output"
else
log_warn " [WARN] EVOLV measurement node output not detected in logs"
fi
if echo "$NODERED_LOGS" | grep -q "Process Output"; then
log_info " [PASS] EVOLV measurement node produced process output"
else
log_warn " [WARN] EVOLV measurement process output not detected in logs"
fi
# --- Step 6: Summary ---
echo ""
if [ $FAILURES -eq 0 ]; then