You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Sandbox M1] Реализация базового менеджера запусков OS Process Sandbox (bwrap / AppContainer / sandbox-exec) #300
В рамках реализации Блока E (Sandbox Runtime) необходимо создать ядро сервиса SandboxProcessRunner (lib/core/extensions/sandbox/sandbox_process_runner.dart) для безопасного запуска изолированных процессов сторонних расширений (в первую очередь драйверов БД ExtensionType.databaseDriver).
Список задач
Нативные обертки запуска для платформ:
Linux: запуск через bubblewrap (bwrap --unshare-all --share-net --ro-bind / /).
Windows: запуск в AppContainer (Low Integrity Level) + привязка к Job Object для ограничения памяти.
Создание изолированной временной директории (scratch directory) /tmp/querya_sandbox/<plugin_id>_<pid>/ с правами чтения и записи (квота 100 МБ).
Реализация методов kill() и dispose() для гарантированного завершения дочернего процесса и полного автоудаления временной папки при остановке сессии или сбое.
Написание юнит- и интеграционных тестов (sandbox_process_runner_test.dart).
Техническая документация
📄 Подробная архитектура описана в заметке Obsidian: 04 — Расширения/Блок E — Sandbox Runtime.md.
Activity
Merge pull request #307 from QueryaHub/issue/300-sandbox-process-runner
ZhuchkaTriplesix commentedon Jul 10, 2026
Implemented in #307
feat(sandbox): add SandboxProcessRunner with platform launch wrappers
Merge pull request #307 from QueryaHub/issue/300-sandbox-process-runner