ADR 0010: чтение исходного UPack по group/name/version через маршрут внешнего протокола
Статус: Заменено ADR 0045. Дата: 2026-09-23.
Контекст
Скачивание UPack по пути с group/name/version уже было доступно через маршрут внешнего протокола. Часть клиентов того же протокола запрашивала те же байты через отдельный адрес с query-параметрами. Публикация и каталог в этом протоколе не были реализованы, фикстур реального стенда не было.
Решение
- Добавить GET/HEAD для уже зарегистрированного UPack с query-параметрами
group,name,version; последние два обязательны. Пустая группа подразумевается при отсутствииgroup. - Требовать точного выбора одной версии с поиском group/name/version без учёта регистра. Неоднозначные и неподдержанные идентификаторы отклонять 400. Отсутствующий пакет возвращает 404.
- Использовать существующие сервисные ключи, repository ACL и потоковую выдачу с Range, ETag и admission. Никаких новых копий blob или операций публикации маршрут не создаёт.
Последствия
Маршрут расширял только чтение UPack и не означал поддержку остальных операций внешнего протокола. Формат ошибки оставался native.
Решение заменено ADR 0045: маршруты внешнего протокола удалены, тот же сценарий выполняет GET|HEAD /api/v1/repositories/{repository}/packages/content с теми же ACL, admission и Range/ETag.