Перейти к содержимому

Хостинг

Kodik Hosting позволяет опубликовать приложение из текущего рабочего пространства в облаке Kodik без переключения контекста. Весь процесс — от анализа проекта до работающего URL — выполняется прямо из Marketplace в IDE.

Список приложений Hosting и действия управления работают через настроенный backend Kodik. Если IDE подключена к собственному kodik.apiBaseUrl, инвентарь приложений, история деплоев, логи, метрики, видимость, переименование, redeploy, stop и delete используют этот же backend.

Image

Прежде чем публиковать приложение, Kodik анализирует содержимое рабочего пространства и автоматически определяет:

  • Фреймворк — React, Next.js, Vue, Astro, Django, FastAPI и другие
  • Среду выполнения (runtime) — Node.js, Python и т.д.
  • Команды — установки зависимостей, сборки и запуска
  • Порт, на котором приложение слушает запросы
  • Healthcheck-путь для проверки готовности
  • Переменные окружения — обязательные и опциональные

Результат анализа можно просмотреть и отредактировать перед публикацией.

Сценарий Add new app сохраняет локальный результат анализа в .kodik/hosting.toml. Это версионированный локальный контракт: в нем хранятся linked app ID, ID и URL последнего деплоя, путь к workspace, найденные настройки runtime/build, порт, healthcheck-путь и метаданные обязательных или опциональных переменных окружения. Повторный анализ обновляет локальные настройки проекта, не теряя связь с приложением.

Analyze workspace и Re-analyze открывают управляемый сценарий в чате. Агент может проверять проект и создавать или обновлять файлы хостинга, поэтому Hosting не оценивает прогресс анализа: он оставляет доступным экран настройки и следит за .kodik/hosting.toml, .kodik/Dockerfile и корневым Dockerfile, пока сохраненное локальное состояние не станет готовым к деплою. Сценарий в чате просит агента проверить production-запуск локально и, если Docker установлен и daemon доступен, собрать Docker-образ, запустить контейнер, проверить healthcheck и удалить проверочный контейнер.

Если в рабочем пространстве нет .kodik/Dockerfile или Dockerfile в корне, Kodik оставляет доступными Analyze workspace и Re-analyze, чтобы агент мог создать или обновить файлы хостинга, но не показывает Deploy, пока валидный Dockerfile не будет добавлен. Preflight также проверяет версию манифеста, status, port, путь к Dockerfile и имена переменных окружения перед тем, как пометить проект готовым к деплою. Если Docker локально недоступен, анализ все равно может продолжаться; если Docker доступен, но сборка образа, запуск контейнера или healthcheck падают, агент записывает эту ошибку как blocker.

Публикация загружает рабочее пространство как архив исходников вместе с Dockerfile: Kodik использует .kodik/Dockerfile (или Dockerfile в корне рабочего пространства) для сборки образа, поэтому добавьте его перед деплоем. При redeploy связанное рабочее пространство загружается заново тем же способом, поэтому исходники и Dockerfile должны быть доступны локально.

Если анализ нашел обязательные переменные окружения, Deploy остается недоступен, пока вы не зададите для них значения. После создания приложения Redeploy блокируется, пока соответствующие обязательные secrets не существуют у этого приложения.

После анализа нажмите Deploy (или Host a project в шапке Marketplace). Kodik:

  1. Ставит деплой в очередь
  2. Собирает образ и запускает приложение
  3. Проверяет доступность через healthcheck
  4. Присваивает публичный URL
СтатусОписание
BuildingСборка образа, установка зависимостей
StartingЗапуск приложения
LiveПриложение работает и доступно по URL
ErrorДеплой завершился с ошибкой
IdleПриложение остановлено

На вкладке Hosting отображаются все ваши приложения в виде карточек с превью и статусом. Для каждого приложения доступны действия:

  • Redeploy — перезапустить деплой с текущим кодом
  • Start / Stop — запустить или остановить приложение
  • Delete — удалить деплой или всё приложение
  • Rename — переименовать приложение
  • Relink workspace — связать существующее hosted app с перемещенной или заново открытой локальной папкой проекта

Поиск и фильтрация по статусу (All / Live / Building / Error / Idle) помогают ориентироваться при большом количестве проектов.

Для каждого деплоя доступны:

  • Логи — поток вывода приложения в реальном времени
  • CPU и Memory — текущее потребление ресурсов

Если деплой завершился с ошибкой, Kodik группирует причину: отсутствующие secrets, Dockerfile или container configuration, ошибка install/build, несовпадение healthcheck или port, либо crash при старте.

Переменные окружения с чувствительными данными хранятся как секреты на уровне приложения. В настройках приложения можно добавлять, обновлять и удалять секреты. Секреты не передаются в код и не отображаются в открытом виде.

Каждое приложение может иметь историю деплоев. Вы можете переключаться между деплоями, просматривать их логи и статус.

Kodik использует liveDeploymentId из истории деплоев на бэкенде как активный деплой на странице приложения. Этот деплой получает бейдж current, используется для логов, метрик и действий Start / Stop; сами логи по-прежнему загружаются отдельно при открытии или обновлении.

Предыдущие успешные деплои можно откатить из истории деплоев. Rollback запускает новый деплой на основе этой версии и сохраняет связь приложения с тем же workspace.