Перейти к содержимому
Документация

Документация Inquir Compute

Inquir Compute запускает контейнерные приложения — веб-сервисы, API, фоновые сервисы и базы данных из вашего Dockerfile — и функции на Node.js, Python и Go за API-шлюзом, с пайплайнами и задачами по расписанию. Выберите раздел слева или пройдите быстрый старт ниже, чтобы развернуть первое приложение.

От папки с Dockerfile до адреса в продакшене — за пять шагов:

  1. Сначала выберите тариф. Новый аккаунт создаётся без тарифа, поэтому создавать и разворачивать ресурсы пока нельзя. В консоли откройте раздел Тариф и оплата и оплатите Simple или Pro либо нажмите Запросить бесплатный доступ: тариф Free выдаётся по заявке. Один тариф действует для всех ваших рабочих пространств.
  2. Установите CLI и войдите (нужен Node.js 22 или новее): npm install -g @inquir/compute-cli@latest, затем inquir login и inquir use <workspace-slug>.
  3. Создайте приложение и разверните его. В папке с Dockerfile команда inquir apps create web --port 3000 регистрирует HTTP-сервис, а inquir apps deploy web собирает образ на платформе, запускает новый релиз и ждёт, пока он пройдёт проверку работоспособности. Новое приложение приватное: проверьте релиз командами inquir apps status web и inquir apps logs web --tail 100.
  4. Переведите релиз в продакшен. inquir apps promote <releaseId> (точную команду печатает вывод развёртывания) переключает продакшен на этот релиз; это могут делать владельцы и администраторы рабочего пространства. Затем inquir apps update web --ingress public выдаёт сервису публичный HTTPS-адрес.
  5. Удобнее в консоли? Откройте Проекты, создайте проект кнопкой Новый проект и добавьте сервис на холст кнопкой Создать. В панели сервиса те же действия: Деплой → Новый релиз или Собрать из исходников, а на вкладке Деплои — кнопка В продакшен.
terminalbash
# Once: install the CLI (Node.js 22+), sign in, pick the workspace
npm install -g @inquir/compute-cli@latest
inquir login
inquir use <workspace-slug>

# In a folder with a Dockerfile: an HTTP service on port 3000
inquir apps create web --port 3000

# Build the Dockerfile on the platform and start a preview release;
# the command waits for the health check and prints the preview URL
inquir apps deploy web

# Production (owner or admin), then a public HTTPS address
inquir apps promote <releaseId>
inquir apps update web --ingress public

Руководство по приложению добавляет переменные, Postgres, свой домен и откат, а руководство по Node.js и Postgres строит сервис с миграциями и приватным вспомогательным сервисом рядом.

Функции: код по событиям без собственного сервера#

Функции выполняют ваш обработчик на Node.js, Python или Go на каждый запрос, задачу или запуск по расписанию за API-шлюзом. Для них тоже нужен тариф. Попробовать функцию в браузере:

Архитектура платформы: клиенты обращаются к API-шлюзу по HTTPS; шлюз маршрутизирует запросы в тёплые контейнеры функций Node.js, Python и Go; очередь задач и пайплайны, включая запуски по расписанию, запускают те же контейнеры; наблюдаемость собирает логи, трассировки и историю запусков
Как запрос доходит до кода функции: один шлюз на входе, отдельные контейнеры для каждой функции за ним, а задачи и пайплайны с расписаниями вызывают те же функции.
  1. Откройте раздел Функции в консоли и нажмите Новая функция.
  2. Введите имя (например, hello-world) и нажмите Создать. Откроется редактор с обработчиком по умолчанию: измените его или оставьте как есть.
  3. Нажмите Запустить в тестовой панели, чтобы вызвать функцию.
  4. Результат и логи появятся в правой панели. Вкладка Трассировки там же показывает недавние запуски этой функции, а пункт Запуски в боковой панели — запуски всех функций.
index.jsjs
// Gateway HTTP: POST JSON is in event.body (string). Editor Run: the JSON you type is the whole event root.
const payload = typeof event.body === 'string' ? JSON.parse(event.body || '{}') : (event || {});

exports.handler = async (event, context) => {
  // Example: const { name } = payload;
  return {
    statusCode: 200,
    body: JSON.stringify({ message: "Hello from Inquir Compute!" }),
  };
};

Кнопка Развернуть внизу боковой панели редактора прогревает контейнер, и следующие вызовы обходятся без холодного старта: тёплый вызов использует уже запущенный контейнер вместо того, чтобы создавать новый, запускать среду выполнения и загружать обработчик. Дополнительные тёплые контейнеры останавливаются через 5 минут без вызовов, последний — через 10 минут, чтобы освободить ресурсы.

Разделы документации

Все разделы сгруппированы так же, как устроен продукт: начало работы, приложения, функции, пайплайны и платформа вокруг них.