Модули проекта¶
Quarshell разделён на 20 независимых Go-модулей и отдельные репозитории
клиентов, документации, deployment и workspace. Публичные Go API пока
нестабильны: версии остаются в 0.x, пока проект отдельно не объявит API
стабильным. Таблица описывает назначение репозиториев, но не означает полного
OpenShell parity. Текущие пробелы перечислены в разделе
совместимости.
Go-модули¶
| Модуль | Назначение |
|---|---|
quarshell-cli |
CLI cautem: выбор Gateway, lifecycle sandbox, команды policy, интерактивный terminal, completions, installer и локальный Gateway в релизе. |
quarshell-core |
Общие domain-типы, defaults, схема и примитивы оценки policy, сопоставление host, допуск ресурсов и OpenShell compatibility helpers. |
quarshell-policy |
Ограниченный по размеру разбор и валидация policy, типизированные входы оценки и композиция правил для runtime-компонентов. |
quarshell-prover |
Символьный и solver-backed анализ containment и рисков policy. |
quarshell-providers |
Встроенный каталог provider-профилей и добавление требований provider к эффективной policy. |
quarshell-credentials |
Хранилища credentials и примитивы выдачи/обновления токенов; секреты не попадают в файловую систему sandbox. |
quarshell-proto |
Закреплённые OpenShell protobuf-схемы и generated Go, gRPC, Connect и TypeScript bindings. |
quarshell-spi |
Публичные интерфейсы service-provider для compute, credentials, isolation и расширений. |
quarshell-driver |
Compute Backend SPI и реализации Docker, Podman и экспериментального Kubernetes. |
quarshell-driver-vm |
Lifecycle MicroVM, worker, guest agent, импорт image, сеть, terminal и recovery. Часть OpenShell VM поведения ещё не доведена. |
quarshell-driver-mxc |
Независимая граница для Windows MXC driver. OpenShell функциональность MXC пока не перенесена. |
quarshell-gateway |
Gateway API и RPC server, auth, оркестрация sandbox/workspace, состояние, policy, providers, маршрутизация сервисов и сборка backend. |
quarshell-sdk |
Go-клиент Gateway RPC: типизированные ресурсы, sandbox-операции, streaming, identity и session helpers. |
quarshell-proxy |
Контроль egress из sandbox, CONNECT и прикладное посредничество, подстановка credentials, policy advisor и аудит. |
quarshell-runtime |
Sandbox/guest init, hardening, поддержка secrets, runtime helpers и исходники sandbox images. |
quarshell-isolation |
Host-side Linux изоляция процессов и admission primitives, включая поддержанные пути cgroup/seccomp/Landlock. |
quarshell-supervisor |
Host-side запуск процессов, PTY-сессии, lifecycle-состояние и supervisor reporting. |
quarshell-display |
Интеграция GUI sandbox и защищённые паролем noVNC helpers. |
quarshell-slogx |
Structured logging на log/slog, trace correlation, redaction, live level control и ограниченная сериализация payload. |
quarshell-telemetry |
Независимая граница telemetry-модуля. OpenShell telemetry pipeline там пока не реализован. |
Другие репозитории¶
| Репозиторий | Назначение |
|---|---|
quarshell-python |
Python SDK для Gateway операций по OpenShell RPC контракту. |
quarshell-ui |
Browser console: OIDC login и управление workspace, sandbox, policy и providers через Gateway. |
quarshell-deploy |
Helm chart и platform packaging для развёртывания. |
sandbox.dev |
Английская и русская документация пользователя, архитектура, compatibility и статус переноса на MkDocs. |
quarshell-workspace |
Checkout модулей, version pins, orchestration задач, integration checks и планы переноса. Исходники продуктовых модулей сюда не входят. |
Как проходит запрос¶
flowchart LR
cli["CLI cautem"] --> sdk["Go / Python clients"]
ui["Browser UI"] --> api["Gateway API / OpenShell RPC"]
sdk --> api
api --> gw["Gateway orchestration и state"]
gw --> spi["Compute SPI"]
spi --> docker["Docker / Podman"]
spi --> vm["MicroVM"]
gw --> providers["Providers и credentials"]
gw --> policy["Core policy и prover"]
docker --> proxy["Egress proxy"]
vm --> runtime["Guest runtime и supervisor"]
proxy --> policy
Направление зависимостей задано намеренно: клиенты вызывают Gateway; Gateway сопоставляет protocol requests с domain-контрактами и зарегистрированными backend; backend использует engine/runtime-интеграции. UI не импортирует внутренние пакеты CLI, а Gateway не импортирует CLI или browser UI.
Состояние реализации¶
- Основные container backend — Docker и Podman; возможности Podman зависят от socket и версии host, см. соответствующую справку провайдера.
- Kubernetes экспериментален и требует проверки на целевом кластере.
- VM находится в активной работе по OpenShell parity; перед использованием конкретного lifecycle пути проверьте список оставшейся работы.
- MXC и telemetry — независимые границы модулей, функциональность ещё не перенесена.
- Публичные Go API нестабильны и версионируются
v0.x.y.
