Обзор

Сервисы

Управление сетевыми сервисами через REST API. Сервисы группируют контейнеры и объявляют порты, на которые затем указывают маршруты и порты проекта. Все методы требуют токен аутентификации.

POST /v1/project/:projectId/service

Создаёт в указанном проекте сетевой сервис, группирующий контейнеры и объявляющий порты, на которые затем указывают маршруты и порты проекта. В теле запроса передаются массив containerIds, имя сервиса и массив ports (например, 8080 или 8080/tcp). В ответе возвращается объект ServiceResponse: новый сервис создаётся со статусом creating и типом user.

Параметры:

Параметр Место Тип Обязательный Описание
projectId Path UUID Да ID проекта

Body:

Параметр Тип Обязательный Описание
containerIds string[] Да Массив ID контейнеров
name string Да Имя сервиса (латиница в нижнем регистре, цифры и дефис; не числовое)
ports string[] Да Массив портов (8080 или 8080/tcp)

Пример запроса:

{
    "containerIds": ["cc0e8400-e29b-41d4-a716-446655440007"],
    "name": "web-service",
    "ports": ["8080/tcp", "8443/tcp"]
}

Ответ:

{
    "id": "880e8400-e29b-41d4-a716-446655440003",
    "name": "web-service",
    "ports": ["8080/TCP", "8443/TCP"],
    "status": "creating",
    "type": "user",
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T10:30:00+00:00"
}

Ошибки:

  • 404 Not Found — Проект не найден
  • 400 Bad Request — Невалидные параметры

PUT /v1/service/:serviceId

Обновляет сервис по его UUID. Изменяет состав контейнеров (containerIds) и набор объявленных портов (ports), как в примере запроса. Возвращает обновлённый объект ServiceResponse.

Параметры:

Параметр Место Тип Обязательный Описание
serviceId Path UUID Да ID сервиса

Пример запроса:

{
    "containerIds": ["cc0e8400-e29b-41d4-a716-446655440007"],
    "ports": ["9000/tcp"]
}

Ответ:

{
    "id": "880e8400-e29b-41d4-a716-446655440003",
    "name": "web-service",
    "ports": ["9000/TCP"],
    "status": "ready",
    "type": "user",
    "ip": "192.168.1.10",
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T10:30:00+00:00"
}

Ошибки:

  • 404 Not Found — Сервис не найден

GET /v1/service/:serviceId

Возвращает один сервис по его UUID. Ответ — объект ServiceResponse, включающий имя, массив портов, статус, тип (user или system), IP-адрес и даты создания и обновления.

Параметры:

Параметр Место Тип Обязательный Описание
serviceId Path UUID Да ID сервиса

Ответ:

{
    "id": "880e8400-e29b-41d4-a716-446655440003",
    "name": "web-service",
    "ports": ["8080/TCP", "8443/TCP"],
    "status": "ready",
    "type": "user",
    "ip": "192.168.1.10",
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T10:30:00+00:00"
}

Ошибки:

  • 404 Not Found — Сервис не найден

GET /v1/project/:projectId/services

Возвращает все сервисы, созданные в указанном проекте. Ответ содержит массив объектов ServiceResponse с тем же набором полей, что и при получении одного сервиса.

Параметры:

Параметр Место Тип Обязательный Описание
projectId Path UUID Да ID проекта

Ответ:

[
    {
        "id": "880e8400-e29b-41d4-a716-446655440003",
        "name": "web-service",
        "ports": ["8080/TCP", "8443/TCP"],
        "status": "ready",
        "type": "user",
        "ip": "192.168.1.10",
        "createdAt": "2024-01-15T10:30:00+00:00",
        "updatedAt": "2024-01-15T10:30:00+00:00"
    }
]

Ошибки:

  • 404 Not Found — Проект не найден

GET /v1/container/:containerId/services

Возвращает все сервисы, в группировку которых входит указанный контейнер. Ответ содержит массив объектов ServiceResponse.

Параметры:

Параметр Место Тип Обязательный Описание
containerId Path UUID Да ID контейнера

Ответ:

[
    {
        "id": "880e8400-e29b-41d4-a716-446655440003",
        "name": "web-service",
        "ports": ["8080/TCP", "8443/TCP"],
        "status": "ready",
        "type": "user",
        "ip": "192.168.1.10",
        "createdAt": "2024-01-15T10:30:00+00:00",
        "updatedAt": "2024-01-15T10:30:00+00:00"
    }
]

Ошибки:

  • 404 Not Found — Контейнер не найден

POST /v1/service/:serviceId/reload

Перезагружает конфигурацию сервиса, повторно применяя текущие настройки. Возвращает объект ServiceResponse.

Параметры:

Параметр Место Тип Обязательный Описание
serviceId Path UUID Да ID сервиса

Ответ:

{
    "id": "880e8400-e29b-41d4-a716-446655440003",
    "name": "web-service",
    "ports": ["8080/TCP", "8443/TCP"],
    "status": "ready",
    "type": "user",
    "ip": "192.168.1.10",
    "createdAt": "2024-01-15T10:30:00+00:00",
    "updatedAt": "2024-01-15T10:30:00+00:00"
}

Ошибки:

  • 404 Not Found — Сервис не найден

DELETE /v1/service/:serviceId

Удаляет сервис по его UUID. При успешном удалении метод возвращает пустой ответ без тела.

Параметры:

Параметр Место Тип Обязательный Описание
serviceId Path UUID Да ID сервиса

Ответ: 204 No Content — пустой ответ при успешном удалении.

Ошибки:

  • 404 Not Found — Сервис не найден
Назад
Маршруты и WAF
Далее
Реестры образов
В этой статье
POST /v1/project/:projectId/service
PUT /v1/service/:serviceId
GET /v1/service/:serviceId
GET /v1/project/:projectId/services
GET /v1/container/:containerId/services
POST /v1/service/:serviceId/reload
DELETE /v1/service/:serviceId

Мы используем файлы cookies

Продолжив работу с сайтом, вы соглашаетесь с   политикой использования файлов Cookies