fix: get API_KEY directly from passwork on srvkem-ii-02
This commit is contained in:
+32
-16
@@ -13,29 +13,45 @@ import os
|
|||||||
# Отключаем ворнинги для чистой работы консоли
|
# Отключаем ворнинги для чистой работы консоли
|
||||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||||
|
|
||||||
# --- ИМПОРТ КОНФИГУРАЦИИ (ВСЕ ПЕРЕМЕННЫЕ ИДУТ ОТСЮДА) ---
|
# --- ИМПОРТ КОНФИГУРАЦИИ ---
|
||||||
# config.py лежит в /opt/GigaAM/config/, а скрипт в /opt/GigaAM/sd/
|
SERVER_URL = "https://servicedesk.sibcem.ru:8080"
|
||||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
API_KEY = ""
|
||||||
|
|
||||||
|
# Пытаемся получить API_KEY из passwork
|
||||||
try:
|
try:
|
||||||
import config as cfg
|
# Пытаемся импортировать passwork напрямую
|
||||||
SERVER_URL = getattr(cfg, 'SERVER_URL', None)
|
sys.path.insert(0, "/opt/passwork")
|
||||||
API_KEY = getattr(cfg, 'API_KEY', None)
|
from passwork import get_passwork_secrets
|
||||||
print(f"LOG: ✅ Config импортирован, SERVER_URL={SERVER_URL}")
|
passwork_pool = get_passwork_secrets(required_cards=["sdesktoken"])
|
||||||
|
card = passwork_pool.get("sdesktoken")
|
||||||
|
if card:
|
||||||
|
API_KEY = card.get("password", "").strip()
|
||||||
|
print(f"LOG: 🔑 API_KEY получен из passwork (sdesktoken)")
|
||||||
|
else:
|
||||||
|
print("LOG: ⚠️ Карточка sdesktoken не найдена в passwork", file=sys.stderr)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"LOG: ⚠️ Не удалось импортировать config: {e}", file=sys.stderr)
|
print(f"LOG: ⚠️ Passwork ошибка: {e}", file=sys.stderr)
|
||||||
SERVER_URL = None
|
|
||||||
API_KEY = None
|
|
||||||
|
|
||||||
# Fallback если SERVER_URL не определён
|
# Fallback: пробуем config.py
|
||||||
if not SERVER_URL:
|
if not API_KEY:
|
||||||
SERVER_URL = os.environ.get("SD_SERVER_URL", "https://servicedesk.sibcem.ru:8080")
|
try:
|
||||||
print(f"LOG: ⚠️ SERVER_URL не найден, используем: {SERVER_URL}")
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||||
|
import config as cfg
|
||||||
|
API_KEY = getattr(cfg, 'API_KEY', "")
|
||||||
|
if API_KEY:
|
||||||
|
print("LOG: 🔑 API_KEY получен из config.py")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"LOG: ⚠️ Config ошибка: {e}", file=sys.stderr)
|
||||||
|
|
||||||
# Fallback если API_KEY не определён
|
# Fallback: env var
|
||||||
if not API_KEY:
|
if not API_KEY:
|
||||||
API_KEY = os.environ.get("SD_API_KEY", "")
|
API_KEY = os.environ.get("SD_API_KEY", "")
|
||||||
print("LOG: ⚠️ API_KEY не найден, используется пустой", file=sys.stderr)
|
if API_KEY:
|
||||||
|
print("LOG: 🔑 API_KEY получен из SD_API_KEY")
|
||||||
|
|
||||||
|
if not API_KEY:
|
||||||
|
print("LOG: ❌ ОШИБКА: API_KEY не найден нигде! Нужен passwork или SD_API_KEY", file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
print(f"LOG: 🔑 Подключение к {SERVER_URL}")
|
print(f"LOG: 🔑 Подключение к {SERVER_URL}")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user