Files
rpa_vision_v3/server/validate_secrets.sh
Dom a27b74cf22 v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution
- Frontend v4 accessible sur réseau local (192.168.1.40)
- Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard)
- Ollama GPU fonctionnel
- Self-healing interactif
- Dashboard confiance

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:23:51 +01:00

80 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# server/validate_secrets.sh
#
# Vérifie que les secrets/tokens nécessaires sont bien renseignés.
# Retour !=0 -> permet de bloquer un démarrage "silencieux" en prod.
#
# Usage:
# ./server/validate_secrets.sh /etc/rpa_vision_v3/rpa_vision_v3.env
set -euo pipefail
ENV_FILE="${1:-/etc/rpa_vision_v3/rpa_vision_v3.env}"
if [[ ! -f "$ENV_FILE" ]]; then
echo "❌ Env file introuvable: $ENV_FILE" >&2
exit 1
fi
_get() {
local key="$1"
grep -E "^${key}=" "$ENV_FILE" 2>/dev/null | head -n 1 | cut -d'=' -f2- || true
}
_is_placeholder() {
local v="$1"
[[ -z "$v" ]] && return 0
[[ "$v" == "CHANGE_ME" ]] && return 0
[[ "$v" == CHANGE_ME_* ]] && return 0
[[ "$v" == "rpa_vision_v3_default_key" ]] && return 0
return 1
}
ENVIRONMENT_VAL="$(_get ENVIRONMENT)"
AUTH_REQUIRED_VAL="$(_get RPA_AUTH_REQUIRED)"
AUTH_REQUIRED=false
if [[ "${ENVIRONMENT_VAL}" == "production" ]]; then
AUTH_REQUIRED=true
fi
if [[ "${AUTH_REQUIRED_VAL,,}" == "true" ]]; then
AUTH_REQUIRED=true
fi
MISSING=0
_require_key() {
local key="$1"
local v
v="$(_get "$key")"
if _is_placeholder "$v"; then
echo "❌ Secret manquant ou placeholder: $key" >&2
MISSING=1
fi
}
echo "🔎 Validation secrets: $ENV_FILE"
# Toujours requis (prod)
_require_key "ENCRYPTION_PASSWORD"
_require_key "SECRET_KEY"
if [[ "$AUTH_REQUIRED" == "true" ]]; then
_require_key "RPA_TOKEN_ADMIN"
_require_key "RPA_TOKEN_READONLY"
_require_key "AUTOHEAL_ADMIN_TOKEN"
fi
if [[ "$MISSING" -ne 0 ]]; then
cat >&2 <<'EOF'
👉 Correctif rapide:
sudo ./server/bootstrap_secrets_env.sh /etc/rpa_vision_v3/rpa_vision_v3.env
Puis redémarre:
sudo systemctl restart rpa-vision-v3-api rpa-vision-v3-dashboard rpa-vision-v3-worker
EOF
exit 1
fi
echo "✅ Secrets OK"