# База знаний ошибок Ниже сгруппированы типовые ошибки: симптом → причина → решение. ## A. Аутентификация и токены **Симптом:** 401 Unauthorized / Authorization header expected **Причина:** токен истёк или не передан в окружение **Решение:** обновить access_token и сохранить в файле HH-MM-SS.token; убедиться, что Terraform читает токен ## B. Поллинг зависает **Симптом:** apply «висит», операция не завершается **Причина:** ожидание по статусу инстанса или операции, без dtFinish **Решение:** критерий завершения — dtFinish; далее isSuccessful ## C. Modify: Invalid CFS parameter (400) **Причина:** отправлены create IDs для modify **Решение:** получать manifest операции и динамически маппить IDs ## D. Modify недоступен **Симптом:** action modify not available **Причина:** modify нет в availableOperations **Решение:** проверять доступные операции и выдавать явную ошибку ## E. Map/JSON/List: Invalid format **Симптом:** 400 Invalid format map/array/json **Причина:** пустые строки вместо {} или [] **Решение:** нормализация по типу, trim, отправка {} или [] ## F. VM: зависание на FW / 500 String[]→GUID **Симптом:** зависание на стадии FW, 500 checkParam **Причина:** пустые или невалидные JSON-массивы, ошибки backend **Решение:** валидация JSON массивов, дефолт ["0.0.0.0/0"], фильтрация пустых значений; при повторении — эскалация на поддержку ## G. VM modify: checkParam instanceOperationCfsParamUid **Симптом:** 500 Invalid call of function checkParam **Причина:** дублирование параметров при POST/PUT **Решение:** гибридный PUT/POST по наличию instanceOperationCfsParamUid; проверить формат эндпойнта ## H. Postgres: split() on null **Симптом:** Cannot invoke method split() on null object **Причина:** передан UUID конкретного S3-бакета **Решение:** использовать UUID сервиса S3 (svcId 12), а не бакета ## I. GPG/Registry **Симптом:** authentication signature from unknown issuer **Причина:** ключ подписи не совпадает с ключом в registry **Решение:** обновить signing_keys на сервере или пересобрать/подменить бинарник **Симптом:** openpgp invalid data **Причина:** ASCII-armor для .sig **Решение:** бинарная detached подпись без --armor ## J. Registry/S3 **Симптом:** presigned URL не работает через Ingress **Причина:** Host заголовок ломает подпись **Решение:** proxy-режим download на сервере registry ## K. Документация: 404 **Причина:** неверный S3 ключ (hostname в префиксе) **Решение:** фиксированный префикс docs//// ## L. Версии Terraform Plugin Framework **Симптом:** ошибки сборки при апгрейде **Причина:** несовместимость framework и plugin-go **Решение:** использовать совместимые версии (исторически v1.4.2 + v0.19.1) ## M. TLS handshake timeout **Причина:** сетевые условия/VPN **Решение:** повторить apply