Введение
Skyline — вымышленная облачная платформа для управления приложениями, данными и инфраструктурой через единый программный интерфейс. Она сочетает REST API, командную строку и SDK, чтобы автоматизация не мешала разработке.
Запросы проходят через API Gateway, проверяются сервисом идентификации и направляются в управляющую плоскость. Рабочие узлы выполняют задачи, а события поступают в систему наблюдаемости.
api.skyline.example и не обращаются к реальному сервису.Установка
Выберите привычный способ установки клиента Skyline. Для доступа к API нужен ключ проекта, который можно создать в консоли управления.
npm install -g @skyline/cli
skyline --versionskyline login, чтобы безопасно сохранить учётные данные в системном хранилище.Быстрый старт
Создайте проект, проверьте доступ и получите список доступных окружений. Ниже показан типичный рабочий процесс.
skyline login
skyline project create demo-app --region eu-central
skyline env list --project demo-app
skyline deploy ./dist --env productionCLI выводит идентификатор созданного ресурса и ссылку на журнал развёртывания. Команды безопасно повторять, если операция поддерживает идемпотентность.
Аутентификация
Skyline поддерживает короткоживущие токены OAuth 2.0 для пользовательских приложений и ключи проекта для серверной автоматизации. Передавайте токен в заголовке Authorization, а не в URL.
curl https://api.skyline.example/v2/projects \
-H "Authorization: Bearer $SKYLINE_TOKEN" \
-H "Accept: application/json"REST API
Базовый адрес API v2 — https://api.skyline.example/v2. Ответы представлены в JSON; время указывается в ISO 8601 UTC, а ресурсы имеют стабильные строковые идентификаторы.
Параметры запроса
| Имя | Тип | Обязательный | Описание |
|---|---|---|---|
name | string | Да | Имя ресурса, 1–64 символа |
region | string | Да | Регион размещения |
labels | object | Нет | Пользовательские метки |
dry_run | boolean | Нет | Проверить без создания ресурса |
Эндпоинты
GET/projectsСписок проектов
Возвращает доступные проекты с пагинацией через limit и cursor.
curl -H "Authorization: Bearer $TOKEN" \
"https://api.skyline.example/v2/projects?limit=20"Ответ 200 — объект с массивом data и курсором next_cursor. Ошибки: 401 — нет токена, 429 — превышен лимит.
POST/projectsСоздать проект
Создаёт проект в указанном регионе. Заголовок Idempotency-Key помогает безопасно повторить запрос.
{
"name": "demo-app",
"region": "eu-central",
"labels": { "team": "platform" }
}Ответ 201 — созданный объект проекта. Ошибки: 400 — неверные поля, 409 — имя занято.
PUT/projects/{id}Обновить проект
Полностью обновляет изменяемые поля проекта. Используйте актуальную версию ресурса, чтобы не потерять чужие изменения.
Ответ 200 — обновлённый проект. Ошибки: 404 — ресурс не найден, 412 — версия устарела.
DELETE/projects/{id}Удалить проект
Помечает проект на удаление. Активные развёртывания будут остановлены после периода ожидания.
Ответ 204 — удаление принято. Ошибки: 403 — недостаточно прав, 409 — удаление заблокировано политикой.
Песочница API
Отправьте демонстрационный запрос и изучите структуру ответа. Песочница работает локально в браузере и не отправляет данные в сеть.
Командная строка (CLI)
CLI поддерживает интерактивную авторизацию, профили окружений и форматирование вывода. Добавляйте --output json для обработки результата скриптами.
skyline auth status
skyline config set region eu-central
skyline project list --output json
skyline logs tail deploy_01HXYZ --follow
skyline help deploy--yes только после проверки сценария.Webhooks
Подписывайтесь на события deployment.succeeded, deployment.failed и project.updated. Skyline подписывает тело каждого события HMAC-SHA256; проверяйте подпись до обработки.
{
"id": "evt_demo_82f1",
"type": "deployment.succeeded",
"created_at": "2026-10-15T12:30:00Z",
"data": { "deployment_id": "dep_demo_01" }
}SDK
Официальные библиотеки повторяют единый интерфейс клиента: настройте базовый URL и токен через переменные окружения, затем обрабатывайте ошибки API по их коду и HTTP-статусу.
import { Skyline } from "@skyline/sdk";
const client = new Skyline({
token: process.env.SKYLINE_TOKEN
});
const projects = await client.projects.list();
console.log(projects.data);Лимиты и обработка ошибок
Стандартный лимит составляет 600 запросов в минуту на проект. При ответе 429 Too Many Requests учитывайте заголовок Retry-After и используйте экспоненциальную задержку с небольшим случайным интервалом.
| Код | Значение | Что делать |
|---|---|---|
400 | Некорректный запрос | Проверьте параметры и схему |
401 | Нет авторизации | Обновите токен |
403 | Недостаточно прав | Проверьте роль проекта |
429 | Слишком много запросов | Повторите позже по Retry-After |
5xx | Ошибка сервера | Повторите с экспоненциальной задержкой |
Частые вопросы
Как получить API-токен?
Войдите в консоль Skyline, откройте настройки проекта и создайте токен с минимально необходимыми разрешениями.
Можно ли использовать несколько регионов?
Да. Регион задаётся для каждого ресурса отдельно, если выбранный тип ресурса доступен в нужном регионе.
Что делать при ошибке 429?
Остановите частые повторы, соблюдайте Retry-After и добавьте экспоненциальную задержку с jitter.
Как переключить версию документации?
Используйте селектор версии в верхней панели. В этом демонстрационном файле меняется метка версии, а структура документации остаётся общей.
История изменений
v2.0.0 — Skyline Horizon
Обновлён API проектов, добавлена поддержка ключей идемпотентности и улучшена пагинация.
Новые возможностиv1.8.2 — Надёжность
Уточнены схемы ошибок, улучшены повторы запросов в CLI и расширены журналы аудита.
Исправленияv1.7.0 — События
Добавлены Webhooks для статусов развёртывания и управление подписками через API.
ИнтеграцииРабочее пространство
Перетаскивайте окна за заголовок, сворачивайте их на панель задач или разворачивайте на всю область. Содержимое можно редактировать прямо здесь.
Идеи и задачи проекта:
skyline login — вход
skyline project list — проекты
skyline deploy ./dist — релиз
skyline logs tail ID — логи