Приложения

5 в рабочем пространстве · 1 требует внимания · 3 serving · 1 sleeping

Поиск по имени, адресу, образу…
Все · 5Требуют внимания · 1Serving · 3Sleeping · 1Базы · 2 сортировка: сначала то, что требует человека, потом по активности
search-canarysearch-canary.apps.inquir.org
Failed · release 244e034b упал при старте · P1001 Can't reach database server
20 мин назад
логи|
etiquetteetiquette-hzpd3y.apps.inquir.org
Serving · 1/1 · release da61400a · 0 рестартов
8 ч назад
search-db postgressearch-db-am99fm.apps.internal:5432
Serving · приватно · 2 потребителя · бэкап 03:00
17 ч назад
dungeon-descentdungeon-descent.apps.inquir.org
Serving · 1/1 · release c7b7b146
1 д назад
fn-55317fc4fn-55317fc4.apps.inquir.org
Sleeping · проснётся по первому запросу · спит 3 ч
3 ч назад
Что изменилось. Вместо таблицы «имя · бейдж · runtime · network · updated» — доска: имя и адрес слева, одна фраза состояния в середине (что серверно происходит и почему), давность, действие. Ровно одна подсветка акцентом — строка, которая требует человека. Фильтры-сегменты вместо колонок, которые всё равно прячутся на телефоне.

search-canary

Serving · release 47b75064 · 1/1 · always on · http://search-canary.apps.internal · https://search-canary.apps.inquir.org

Образ
registry.inquir.org/mirror/search-engine@sha256:e387…
Ресурсы
1 vCPU · 2048 MB · том data
Зависит от
search-db reachable
Последний деплой
20:03 · вручную (CLI)

Релизы

лента событий; работающий подсвечен; для упавших — причина и хвост вывода прямо здесь
20:03
47b75064
Servingproduction · 1 реплика · healthy за 4 с
образ e387146f · прошёл health-check /healthz · продвинут автоматически (recreate)
логи|консоль|
19:58
244e034b
Failedpreview · продакшен-переменные · упал через 3 с
Container crashed during startup (exit code 1)
Datasource "db": PostgreSQL database "search_db" at "search-db.apps.internal:5432" Error: P1001: Can't reach database server at `search-db.apps.internal:5432`
Похоже на адрес по имени приложения. Приватное имя БД — search-db-am99fm.apps.internal · подставить через connect
полный вывод|
19:57
c6c5f1ce
Failedpreview · та же причина
25.08
979c7d0d
Stoppedпредыдущий production · доступен для отката
Что изменилось. Вкладка «Релизы» становится обзором: шапка отвечает «что работает и где», факты в одну полосу, лента релизов как события с временем — не карточки с бейджами. Одна основная кнопка «Деплой»; роллбэк — второстепенный. Упавшие релизы показывают причину и хвост вывода контейнера (уже приезжает с бэкенда), повторяющиеся сбои схлопываются. Ошибка «имя вместо слага» получает подсказку с действием.

search-canary

Serving · release 47b75064

Деплой

Новый релиз. Станет production сам, как только пройдёт health-check — у приложения есть том, поэтому старый контейнер остановится на время замены.
ОбразСборкаGitHub-ветка
последний: тот же образ, 20:03 · выбрать из истории
Как в настройкахПереопределитьпорты 3000/http · 1 vCPU · 2048 MB · том data → /data
Сервис будет недоступен на время замены контейнера (том data). Отката с резервом не будет — резервного контейнера нет.
Что изменилось. Деплой — боковая панель поверх страницы, а не модалка: видно, что деплоишь и во что. Предупреждение про остановку сервиса — только когда у приложения есть том (сейчас оно спрятано в редакторе томов). Одна кнопка.

search-canary

Serving · release 47b75064 · 1/1

РантаймСборка 47b75064 · serving244e034b · failedc6c5f1ce · failed всеerrorwarn фильтр… ● live
20:03:37.912 Loaded Prisma config from prisma.config.ts. 20:03:37.955 Prisma schema loaded from prisma/schema.prisma. 20:03:38.101 Datasource "db": PostgreSQL database "search_db" at "search-db-am99fm.apps.internal:5432" 20:03:38.420 3 migrations found in prisma/migrations · No pending migrations to apply. 20:03:39.007 [search] index store: /data/index · 2 shards · warm 20:03:39.230 [http] listening on :3000 20:03:40.102 GET /healthz 200 3ms — релиз 244e034b (failed, контейнер удалён) — сохранённый вывод — 19:58:49.771 Datasource "db": PostgreSQL database "search_db" at "search-db.apps.internal:5432" 19:58:50.334 Error: P1001: Can't reach database server at `search-db.apps.internal:5432`
Что изменилось. Релизы выбираются чипами (со словом состояния), а не селектом «serving · 47b75064 · image». Для упавшего релиза без контейнера показывается сохранённый вывод вместо «log stream failed with status 409». Фильтр по уровню и текст — в одной строке; live-индикатор один.

search-db postgres 16

Serving · приватно · search-db-am99fm.apps.internal:5432 · том data 1.2 GB · бэкап 03:00 ok

Подключение

строка подключения — write-only секрет; показывается по запросу и не кэшируется
Приватный адрес
search-db-am99fm.apps.internal:5432 verified 20 s ago
Строка подключения
postgresql://inquir:••••••@search-db-am99fm.apps.internal:5432/search_db
|
Публичный доступ
выключен — TCP наружу без TLS; включай только если нужно с ноутбука
Кто подключён
search-canary DATABASE_URL · etiquette

Состояние

Контейнер
healthy · pg_isready каждые 10 с · 0 рестартов · up 17 ч
Данные
том data → /var/lib/postgresql/data · 1.2 GB · последний бэкап 04.09 03:00 ready
Ресурсы
0.5 vCPU · 512 MB · использование: недоступно (нет адаптера метрик)
Что изменилось. Вместо трёх подвкладок Data/Stats/Config и «readiness»-списка — две группы строк: «Подключение» (всё, что нужно другому сервису, включая кто уже подключён) и «Состояние». Stats без адаптера метрик честно свёрнут в одну строку, а не отдельная вкладка с пустотой.

search-db

Serving · том data · бэкап каждый день в 03:00

Тома

что смонтировано в работающий релиз
data
/var/lib/postgresql/data · 1.2 GB · mounted · recreate-деплой

Бэкапы

crash-consistent; восстановление останавливает приложение на время
когдатипразмерстатус
04.09 03:00по расписанию312 MBready
03.09 03:00по расписанию301 MBready
02.09 14:12вручнуюfailed копия не завершилась
Что изменилось. Два коротких списка вместо карточек со статус-бейджами; действия — в строке; смысл статусов — словами, не tooltip'ами.

search-canary

Serving · приватно и публично

Адреса

приватный есть всегда; публичный — по запросу
Приватный внутри пространства
http://search-canary.apps.internal verified 20 s ago
Публичный домен
https://search-canary.apps.inquir.org active · TLS
Свой домен
search.example.com unverified
TXT _inquir-verify.search.example.com → inquir-verify=abc123 · CNAME search.example.com → domains.inquir.org
|
+ добавить свой домен

Порты и исходящий трафик

Исходящий
ИнтернетИзолирован
Порты
имяпортпротоколпубличноадрес
web3000HTTPhttps://search-canary.apps.inquir.org
+ TCP-порт
Что изменилось. «Домены» и сетевые настройки — один экран: адреса → домены → порты. DNS-записи для непроверенного домена — прямо под строкой, копируемые. Никаких иконок-плиток и вложенных карточек.

search-canary

Serving · release 47b75064 · 1/1 · always on

Runtime

running → next, где отличается
CPU
1 vCPU
unsaved
Память
2048 MB
Health check
http /healthz · 3 s

Масштабирование

Режим
Always onSleep when idleManual Sleep недоступен: у приложения есть том
Сейчас
Running · 1 из 1 · с 20:03

Переменные

ключзначениеscope
DATABASE_URL•••••••• …@search-db-am99fm.apps.internal:5432/search_dbвсе релизы
SECRETS_KEY••••••••только production
+ переменная · подключить базу…

Архив

Архивировать
Останавливает релизы, домены перестают резолвиться. Без отмены — диалог спросит имя.
Что изменилось. Полный вариант этого экрана — в app-settings-redesign.html: строки вместо девяти карточек, колонка «running → next», один Save-бар, масштабирование как контрол, архив — тихая строка.

Приложения

5 в рабочем пространстве

Новое приложение

адрес: billing-api-x1y2z3.apps.internal · публичный домен — по запросу
ОбразGitHubБаза данныхПусто
TCP-порты, тома и ресурсы — после создания, в настройках; по умолчанию 0.5 vCPU · 512 MB
можно добавить сразу или подключить базу после создания
Что изменилось. Вместо «выбери карточку источника → отдельная форма» — одна панель: имя (сразу видно будущий адрес), источник сегментом, минимум полей. Создание сразу деплоит первый релиз, когда есть что деплоить.