#!/usr/bin/env bash set -euo pipefail # # Environment mapping for LeCoffre.io v2 deployments (proxy-based infra). # - Proxy (jump/orchestrator): 192.168.1.100 (4nk.myftp.biz) # - Targets: test=192.168.1.101, pprod=192.168.1.102, prod=192.168.1.103, services=192.168.1.104 # get_env_target_ip() { local env="$1" case "$env" in test) echo "192.168.1.101" ;; pprod) echo "192.168.1.102" ;; prod) echo "192.168.1.103" ;; services) echo "192.168.1.104" ;; *) return 1 ;; esac } get_env_domain() { local env="$1" case "$env" in test) echo "test.lecoffreio.4nkweb.com" ;; pprod) echo "pprod.lecoffreio.4nkweb.com" ;; prod) echo "prod.lecoffreio.4nkweb.com" ;; *) return 1 ;; esac } # Repository path on each target host (infra standard: /srv/4NK//) get_env_remote_app_root() { local env="$1" local domain domain="$(get_env_domain "$env")" echo "/srv/4NK/${domain}" } # Public service port (proxied by nginx on proxy). # This port is reserved for LeCoffre.io in the infra ports map. get_env_service_port() { local env="$1" case "$env" in test|pprod|prod) echo "3009" ;; *) return 1 ;; esac } # Internal frontend port (served by Next.js, proxied by local router). get_env_frontend_internal_port() { local env="$1" case "$env" in test|pprod|prod) echo "3100" ;; *) return 1 ;; esac } # Internal backend port (served by Express, proxied by local router). get_env_backend_internal_port() { local env="$1" case "$env" in test|pprod|prod) echo "3101" ;; *) return 1 ;; esac }