Files
fission-console/doc/progress-2026-04-30-archive-upload.md
T

2.2 KiB

План интеграции загрузки функций из архивов в 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
  • Документировать пайплайн и типовые ошибки