Получение токена
POST /v3/auth/token с парой ключей организации. В ответ — JWT с подписью ECDSA P-256 и TTL 28800 секунд.
PkgMirror API — стабильный REST-интерфейс для автоматизации публикации, дистрибуции и аудита артефактов. Детерминированное поведение, строгие подписи и предсказуемые лимиты на каждом уровне.
Каждый запрос проходит через шифрованный канал mTLS и проверяется по Bearer-токену. Модель доступа построена по принципу Zero-Trust: минимальные привилегии, явные роли, прозрачный аудит.
Токен выдаётся на уровне организации и привязан к конкретному VPC. Действует 8 часов, после чего автоматически ротируется через /v3/auth/refresh. Все действия записываются в журнал аудита с привязкой к подписи артефакта.
POST /v3/auth/token с парой ключей организации. В ответ — JWT с подписью ECDSA P-256 и TTL 28800 секунд.
Каждый запрос проверяется по хэшу токена и роли registry:read / registry:publish. Отклонение — 401 с кодом AUTH_EXPIRED.
SDK прозрачно продлевает токен за 300 секунд до истечения. При сбое — фолбэк на локальный ключ без простоя pipeline.
API разбит на домены по инженерным задачам. Каждый метод возвращает предсказуемую структуру с детерминированными кодами состояния.
GET /v3/packages, POST /v3/packages, DELETE /v3/packages/{id}. Полный CRUD для внутренних пакетов с версионированием по SemVer и подписью PGP.
POST /v3/cache/prime для прогрева, POST /v3/cache/invalidate для детерминированной инвалидации. Стратегия TTL управляется на уровне организации.
GET /v3/audit/lineage возвращает полную цепочку от публикации до развёртывания. Хэш каждого артефакта проверяется по SHA-512.
GET /v3/access/policies и POST /v3/access/grant. Матрица ролей привязана к VPC и региону хранения артефактов.
GET /v3/edge/status — состояние 31 региона. POST /v3/edge/route — ручная маршрутизация запросов при деградации узла.
POST /v3/webhooks для событий package.published, cache.evicted, audit.flagged. Подпись события — HMAC-SHA256.
Каждый тариф имеет фиксированные пороги. Лимиты применяются на уровне организации и региона, а не на уровне отдельного токена.
Заголовки X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset возвращаются с каждым запросом для точного планирования.
При превышении порога — HTTP 429 с заголовком Retry-After в секундах. SDK выполняет экспоненциальный backoff с джиттером.
Кратковременные выбросы до 200% базового лимита допускаются в течение 10 секунд для пиков сборки без влияния на SLA.
Официальные SDK покрывают все шесть доменов API, управляют ротацией токенов и ретраями автоматически. Версии синхронизированы с OpenAPI-спецификацией.
Версия 3.2.1 · go get github.com/pkgmirror/go. Нативная поддержка контекстов, стриминг артефактов и интеграция с CI-хуками.
Версия 2.8.4 · pip install pkgmirror. Асинхронный клиент на asyncio, типизация через Pydantic, поддержка PyPI-проксирования.
Версия 5.1.0 · Maven Central. Клиент на Java 17+, интеграция с Spring Boot и поддержка Maven-репозиториев.
Версия 4.0.2 · npm install @pkgmirror/sdk. Изоморфный клиент для браузера и Node, строгие TypeScript-типы из OpenAPI.
Версия 0.9.7 · crates.io. Безопасный клиент на tokio, верификация PGP-подписей и стриминг без аллокаций в стеке.
Полный YAML-контракт доступен по /v3/meta/openapi.json. Генерируйте собственных клиентов для любых языков и фреймворков.
Создайте тестовую организацию, получите токен и подключите SDK. Полный цикл публикации и аудита артефакта — без изменения вашего pipeline.