# План интеграции загрузки функций из архивов в UI Fission Console ## Цель Добавить в web-интерфейс Fission Console возможность загружать функцию в виде архива (zip/tar), аналогично `fission function create --deploy ...`. ## Основные шаги 1. UI: добавить компонент для выбора и загрузки архива (drag&drop или file input). 2. Backend: реализовать обработку архива, валидацию структуры, запуск линтеров и (опционально) AI-проверку. 3. Интеграция с Fission API: отправка архива через REST (multipart/form-data) для создания/обновления функции. 4. UI: отображение статуса загрузки, ошибок, логов билда. ## Валидация архива - Проверка наличия entrypoint-файла (main.py/handler.js и т.д.) - Проверка структуры (отсутствие мусора, секретов) - Линтеры (flake8/pylint/go vet и т.д.) - (Опционально) AI-проверка через облачный LLM ## Безопасность - Ограничить размер архива - Фильтрация запрещённых файлов - Логирование действий ## Синхронизация с Terraform/CLI - Архивы, деплоенные через UI, CLI, Terraform — одинакового формата - UI всегда отображает актуальный список функций из Fission API ## Возможные сложности - Ошибки структуры архива (нет entrypoint) - Долгая сборка/деплой больших архивов - Drift при одновременном управлении через Terraform и UI ## Следующие шаги - Реализовать UI-компонент для загрузки архива - Прототип backend-валидации - Интеграция с Fission API - Документировать пайплайн и типовые ошибки