77import requests
88
99from .env_loader import load_env
10+ from .config import ConfigManager
1011
1112logger = logging .getLogger (__name__ )
1213
@@ -24,8 +25,30 @@ def fetch_litellm_models(api_key: str, base_url: str = "https://192.168.1.100:41
2425 "accept" : "application/json" ,
2526 "x-litellm-api-key" : api_key ,
2627 }
27- # Security: Enable SSL certificate verification for secure connections
28- r = requests .get (url , params = params , headers = headers , timeout = 30 , verify = True )
28+
29+ # Determine if SSL verification should be enabled
30+ # For internal/private IPs, skip verification as they often use self-signed certificates
31+ import ipaddress
32+ from urllib .parse import urlparse
33+
34+ verify_ssl = True
35+ try :
36+ parsed = urlparse (base_url )
37+ if parsed .hostname :
38+ try :
39+ ip = ipaddress .ip_address (parsed .hostname )
40+ # Skip verification for private IPs (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8)
41+ if ip .is_private or ip .is_loopback :
42+ verify_ssl = False
43+ except ValueError :
44+ # Not an IP address, keep verification enabled
45+ pass
46+ except Exception :
47+ # If parsing fails, keep verification enabled
48+ pass
49+
50+ # Make the request
51+ r = requests .get (url , params = params , headers = headers , timeout = 30 , verify = verify_ssl )
2952 r .raise_for_status ()
3053 return r .json ()
3154
@@ -42,9 +65,21 @@ def list_models():
4265 logger .error ("API_KEY_LITELLM environment variable is required but not found" )
4366 raise SystemExit ("API_KEY_LITELLM environment variable is required" )
4467
68+ # Get base URL from environment (set by EndpointManager) or from config
69+ base_url = os .environ .get ("endpoint" )
70+ if not base_url :
71+ # Try to get from config
72+ try :
73+ config = ConfigManager ()
74+ litellm_config = config .get_endpoint_config ("litellm" )
75+ base_url = litellm_config .get ("endpoint" , "https://192.168.1.100:4142" )
76+ except Exception as e :
77+ logger .debug (f"Could not load config, using default URL: { e } " )
78+ base_url = "https://192.168.1.100:4142"
79+
4580 logger .debug ("Fetching Litellm models" )
4681 try :
47- models_data = fetch_litellm_models (api_key )
82+ models_data = fetch_litellm_models (api_key , base_url )
4883 model_count = len (models_data .get ("data" , []))
4984 logger .debug (f"Found { model_count } models" )
5085
0 commit comments