This commit is contained in:
hiondal
2025-06-15 20:19:52 +00:00
parent 67d4d69bc4
commit 42dd563205
5 changed files with 201 additions and 67 deletions
+23 -10
View File
@@ -1,22 +1,35 @@
# vector/app/main.py
import os
import sys
import logging
from contextlib import asynccontextmanager
from datetime import datetime
from typing import Optional
# 현재 디렉토리를 Python 경로에 추가
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# =============================================================================
# .env 파일 로딩 (다른 import보다 먼저)
# =============================================================================
from dotenv import load_dotenv
def is_kubernetes_env():
"""Kubernetes 환경 감지"""
return (
os.path.exists('/var/run/secrets/kubernetes.io/serviceaccount') or
os.getenv('KUBERNETES_SERVICE_HOST') or
os.getenv('ENVIRONMENT') == 'production'
)
# .env 파일에서 환경변수 로드
load_dotenv()
# 조건부 dotenv 로딩
if not is_kubernetes_env():
try:
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from dotenv import load_dotenv
load_dotenv()
print("✅ 로컬 개발환경: .env 파일 로딩")
except ImportError:
print("⚠️ python-dotenv 없음, 환경변수만 사용")
else:
print("️ Kubernetes/Production: ConfigMap/Secret 사용")
import logging
from contextlib import asynccontextmanager
from datetime import datetime
from typing import Optional
import asyncio
import fastapi
from fastapi import FastAPI, HTTPException, BackgroundTasks, Depends