- 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>
80 lines
1.7 KiB
Bash
Executable File
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" |