fix: get API_KEY directly from passwork on srvkem-ii-02

This commit is contained in:
dddennnisss
2026-07-27 11:54:17 +07:00
parent 16b0b9f063
commit f03cd70b48
+32 -16
View File
@@ -13,29 +13,45 @@ import os
# Отключаем ворнинги для чистой работы консоли
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
# --- ИМПОРТ КОНФИГУРАЦИИ (ВСЕ ПЕРЕМЕННЫЕ ИДУТ ОТСЮДА) ---
# config.py лежит в /opt/GigaAM/config/, а скрипт в /opt/GigaAM/sd/
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# --- ИМПОРТ КОНФИГУРАЦИИ ---
SERVER_URL = "https://servicedesk.sibcem.ru:8080"
API_KEY = ""
# Пытаемся получить API_KEY из passwork
try:
import config as cfg
SERVER_URL = getattr(cfg, 'SERVER_URL', None)
API_KEY = getattr(cfg, 'API_KEY', None)
print(f"LOG: ✅ Config импортирован, SERVER_URL={SERVER_URL}")
# Пытаемся импортировать passwork напрямую
sys.path.insert(0, "/opt/passwork")
from passwork import get_passwork_secrets
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:
print(f"LOG: ⚠️ Не удалось импортировать config: {e}", file=sys.stderr)
SERVER_URL = None
API_KEY = None
print(f"LOG: ⚠️ Passwork ошибка: {e}", file=sys.stderr)
# Fallback если SERVER_URL не определён
if not SERVER_URL:
SERVER_URL = os.environ.get("SD_SERVER_URL", "https://servicedesk.sibcem.ru:8080")
print(f"LOG: ⚠️ SERVER_URL не найден, используем: {SERVER_URL}")
# Fallback: пробуем config.py
if not API_KEY:
try:
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:
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}")