From 9995df60d69eedfad3b86ec83d909ae073aed5a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Thu, 30 Apr 2026 18:42:49 +0400 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BF=D0=BB=D0=B0=D0=BD=20=D0=B8=D0=BD?= =?UTF-8?q?=D1=82=D0=B5=D0=B3=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20=D1=84=D1=83=D0=BD=D0=BA?= =?UTF-8?q?=D1=86=D0=B8=D0=B9=20=D0=B8=D0=B7=20=D0=B0=D1=80=D1=85=D0=B8?= =?UTF-8?q?=D0=B2=D0=BE=D0=B2=20=D0=B2=20UI=20(2026-04-30)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/progress-2026-04-30-archive-upload.md | 36 +++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 doc/progress-2026-04-30-archive-upload.md diff --git a/doc/progress-2026-04-30-archive-upload.md b/doc/progress-2026-04-30-archive-upload.md new file mode 100644 index 0000000..5731655 --- /dev/null +++ b/doc/progress-2026-04-30-archive-upload.md @@ -0,0 +1,36 @@ +# План интеграции загрузки функций из архивов в 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 +- Документировать пайплайн и типовые ошибки