Полный цикл M0–M5 по ТЗ: - Catalog Service: импорт runtipi/runtipi-appstore → catalog_apps, идемпотентный синк, кэш логотипов, авто раз в 24ч (APScheduler), флаг update_available. - App Engine: установка (клон золотого шаблона → pct push compose/.env → docker compose up → health-check) с журналом шагов, шифрованием env (Fernet), генерацией random-секретов и прогрессом по WebSocket. - Lifecycle: start/stop/restart/logs/delete + реконсиляция состояния (orphaned). - Update/Rollback через снапшоты Proxmox (pre-update, хранение последнего 1). - UI: экраны App Store (сетка/поиск/категории), страница приложения, мастер установки (динамическая form_fields + advanced + прогресс + креденшелы), My Apps; i18n ru/en; атрибуция Runtipi. - RBAC app:view/install/manage; только unprivileged LXC; pct exec/push без shell-инъекций (base64 + экранирование). - Модели catalog_apps/installed_apps/app_operations (миграции 31–32). - Docs: golden-template, appstore-poc/catalog/engine. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
11 lines
612 B
Python
11 lines
612 B
Python
"""
|
||
App Store — модуль каталога self-hosted приложений (1 приложение = 1 LXC + Docker Compose).
|
||
|
||
M0 (Proof of Concept): изолированный backend-каркас install-пайплайна
|
||
`clone → push → exec → health-check` для одного приложения. НЕ подключается к
|
||
FastAPI (роутеры не регистрируются) — запускается вручную через CLI
|
||
(`python -m app.appstore.cli ...`) для ручной проверки схемы на реальном Proxmox.
|
||
|
||
См. docs/appstore-poc.md.
|
||
"""
|