2.2 KiB
2.2 KiB
План интеграции загрузки функций из архивов в UI Fission Console
Цель
Добавить в web-интерфейс Fission Console возможность загружать функцию в виде архива (zip/tar), аналогично fission function create --deploy ....
Основные шаги
- UI: добавить компонент для выбора и загрузки архива (drag&drop или file input).
- Backend: реализовать обработку архива, валидацию структуры, запуск линтеров и (опционально) AI-проверку.
- Интеграция с Fission API: отправка архива через REST (multipart/form-data) для создания/обновления функции.
- 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
- Документировать пайплайн и типовые ошибки