У Galleon есть встроенный REST API: все операции веб-интерфейса доступны и программно. Через него заводят репозитории и учётные записи при развёртывании, выгружают состояние инстанса в систему инвентаризации и подключают инструменты управления конфигурацией.
Справочник API встроен в сервер: Swagger UI открывается по адресу
https://<GALLEON_HOST>/docs, машиночитаемая спецификация OpenAPI доступна
по адресу https://<GALLEON_HOST>/openapi.yaml.
Оба адреса требуют аутентификации — подойдёт любая учётная запись
(браузер запросит логин и пароль).
Аутентификация
Программные запросы аутентифицируются так же, как клиенты форматов: логином и паролем либо токеном пользователя (Учётные данные). Для автоматизации заведите отдельную учётную запись и работайте от её токена — его отзывают, не трогая пароль.
Пример: список репозиториев инстанса.
curl -u <USERNAME>:<PASSWORD> https://<GALLEON_HOST>/service/rest/v1/repositoriesЗдесь <USERNAME> и <PASSWORD> — логин и пароль учётной записи
либо «Name code» и «Pass code» токена.
Права
Операции API проверяются теми же привилегиями, что и кнопки в веб-интерфейсе:
чтобы создать репозиторий программно, учётной записи нужна привилегия
на создание репозиториев, а чтобы выпустить пользователя — привилегия области users
(Привилегии).
Ответ 403 означает нехватку привилегии, а не ошибку запроса.