diff --git a/web_proxy b/web_proxy index 4a3d593..577d2f3 100755 --- a/web_proxy +++ b/web_proxy @@ -23,8 +23,21 @@ set -uo pipefail # --- Resolucion de rutas ----------------------------------------------------- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -# apps/web_proxy/ -> raiz del registry son dos niveles arriba. -REGISTRY_ROOT="${FN_REGISTRY_ROOT:-$(cd "$SCRIPT_DIR/../.." && pwd)}" +# La raiz del registry es el directorio que contiene registry.db (db_locations.md: +# registry.db SOLO existe en la raiz). Se busca hacia arriba desde la ubicacion del +# script, de modo que funcione esté la app en apps/ o en projects/
/apps/. +_find_registry_root() { + local d="$SCRIPT_DIR" + while [ "$d" != "/" ]; do + if [ -f "$d/registry.db" ]; then + echo "$d" + return 0 + fi + d="$(dirname "$d")" + done + return 1 +} +REGISTRY_ROOT="${FN_REGISTRY_ROOT:-$(_find_registry_root)}" export FN_REGISTRY_ROOT="$REGISTRY_ROOT" FN_BIN="$REGISTRY_ROOT/fn"