From f03cd70b480296edbb49d91f8feecd9119e16b2f Mon Sep 17 00:00:00 2001 From: dddennnisss Date: Mon, 27 Jul 2026 11:54:17 +0700 Subject: [PATCH] fix: get API_KEY directly from passwork on srvkem-ii-02 --- fetch_tickets.py | 48 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/fetch_tickets.py b/fetch_tickets.py index 1b8b405..21a2ad0 100644 --- a/fetch_tickets.py +++ b/fetch_tickets.py @@ -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}")