Манифест
Файл looma.yaml в корне проекта описывает сервис: как его собрать, какие процессы запустить, какие данные и модели ему нужны, как его видят клиенты. Площадка проверяет манифест при каждом релизе и называет все ошибки сразу, с местом, например processes.web.port. Проверить без релиза: looma validate.
name: doc-helperruntime: { kind: python, python: "3.12" }processes: web: { cmd: "gunicorn app:app -b 0.0.0.0:$PORT", port: 8080, min: 0, idle_stop: 5m } worker: { cmd: "python worker.py", memory: 1Gi, cpu: 1 } nightly: { schedule: "0 3 * * *", cmd: "python nightly.py", timeout: 1800 }data: postgres: { extensions: [vector] } bucket: {}gpu: chat: { model: Qwen3.8-Flash-Next-NVFP4 }secrets: [SENTRY_DSN]events: - { name: answer, title: Ответ, price: 2 }access: clientschannels: api: { docs: /docs }listing: title: Помощник по документам summary: Ответы по PDF со ссылками на источник category: business icon: icon.pngРазделы
Заголовок раздела «Разделы»| Раздел | Что задаёт | Подробно |
|---|---|---|
name |
имя сервиса, из него получается адрес | looma.yaml |
runtime |
сборка: Python, Node.js или свой Dockerfile | looma.yaml |
processes |
веб, фоновые процессы, задачи по расписанию | looma.yaml |
data |
Postgres и S3-бакет | Данные |
gpu |
модели сети, которые вызывает сервис | Модели |
secrets |
имена секретов процессов | looma.yaml |
events |
действия клиентов и их цены | Клиенты и цены |
access |
открыт всем или только клиентам | Каналы |
channels |
API и инструменты для ИИ-агентов | Каналы |
listing |
карточка в каталоге | Публикация и модерация |
Что не класть в архив релиза, перечисляет файл .loomaignore: по строке на шаблон, как в .gitignore. Уже исключены .git, node_modules, виртуальные окружения, кэши и .env.