Реестры образов
Управление реестрами Docker-образов через REST API. Подключённые реестры используются для скачивания приватных образов контейнеров. Все методы требуют токен аутентификации.
POST /v1/project/:projectId/registry
Создаёт новый реестр контейнеров, подключаемый к проекту для скачивания приватных образов. Реестр создаётся со статусом pending; к значению url без схемы автоматически добавляется https://. Учётные данные проверяются при создании, а количество реестров в проекте ограничено лимитом.
Параметры:
| Параметр | Место | Тип | Обязательный | Описание |
|---|---|---|---|---|
projectId |
Path | UUID | Да | ID проекта |
Body:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
url |
string | Да | URL реестра (до 255 символов, автоматически добавляется https:// если нет схемы) |
user |
string | Да | Имя пользователя для авторизации (до 255 символов) |
password |
string | Да | Пароль для авторизации (до 255 символов) |
Пример запроса:
{
"url": "registry.example.com",
"user": "deploy",
"password": "secret"
}
Ответ:
{
"id": "660e8400-e29b-41d4-a716-446655440020",
"url": "registry.example.com",
"user": "deploy",
"status": "pending"
}
Ошибки:
404 Not Found— Проект не найден400 Bad Request— Невалидные параметры или ошибка авторизации в реестре409 Conflict— Достигнут лимит реестров
PUT /v1/registry/:registryId
Обновляет учётные данные доступа к реестру — имя пользователя и пароль. После обновления статус реестра сбрасывается в pending, как при создании. URL реестра при этом не меняется: метод заменяет только авторизационные данные.
Параметры:
| Параметр | Место | Тип | Обязательный | Описание |
|---|---|---|---|---|
registryId |
Path | UUID | Да | ID реестра |
Body:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
user |
string | Да | Новое имя пользователя (до 255 символов) |
password |
string | Да | Новый пароль (до 255 символов) |
Пример запроса:
{
"user": "newuser",
"password": "newpassword"
}
Ответ:
{
"id": "660e8400-e29b-41d4-a716-446655440020",
"url": "registry.example.com",
"user": "newuser",
"status": "pending"
}
Ошибки:
404 Not Found— Реестр не найден400 Bad Request— Невалидные параметры
DELETE /v1/registry/:registryId
Удаляет реестр по его UUID. Удаление выполняется не мгновенно: метод возвращает объект Registry со статусом deleting, означающим, что реестр находится в процессе удаления. URL и имя пользователя в ответе сохраняются, по ним можно идентифицировать удаляемый реестр.
Параметры:
| Параметр | Место | Тип | Обязательный | Описание |
|---|---|---|---|---|
registryId |
Path | UUID | Да | ID реестра |
Ответ:
{
"id": "660e8400-e29b-41d4-a716-446655440020",
"url": "registry.example.com",
"user": "deploy",
"status": "deleting"
}
Ошибки:
404 Not Found— Реестр не найден
GET /v1/project/:projectId/registries
Возвращает все реестры, подключённые к проекту. Ответ — массив объектов Registry, каждый элемент которого содержит id, url, имя пользователя для авторизации и текущий status. По status можно отслеживать состояние реестра: pending выставляется при создании и обновлении учётных данных, deleting — при удалении.
Параметры:
| Параметр | Место | Тип | Обязательный | Описание |
|---|---|---|---|---|
projectId |
Path | UUID | Да | ID проекта |
Ответ:
[
{
"id": "660e8400-e29b-41d4-a716-446655440020",
"url": "registry.example.com",
"user": "deploy",
"status": "ready"
}
]
Ошибки:
404 Not Found— Проект не найден